|
Devices |
Top Previous Next |
|
A Device is any electronic device configured and controlled by Tibbo AggreGate. LinkServer works with different types of Devices using special Data Transfer/Device Plugins. These plugins may be also called Device Drivers, because they know how to "talk" to a certain device using its native protocol. Every Device Plugin provide a normalized representation of one or more Device as Contexts. This normalization process involves several steps:
All these operations help provide unified methods of Device configuration, control and monitoring within AggreGate infrastructure. When a Device is represented as a context with variables, functions, and events, you can use all of AggreGate's management features (Alerts, Reports, Widgets etc.) to work with it. Connection Types Devices may be connected to LinkServer either directly, or using a Device Server. In the case of a direct connection, the Device Plugin communicates with the device directly, without any middle man. This is how SNMP (Simple Network Management Protocol) devices work with LinkServer. Directly connected Devices are accessed and managed using the Devices Context:
To connect new Device to a system, use Add Device action (Devices Context). Connection Using Device Server In some cases Device are connected to AggreGate using so-called Device Servers. A Device Server is a piece of hardware that resides on the Device's side, and acts as data transfer agent and/or protocol converter. Connection using Device Server has several advantages:
An example of a Device Plugin that supports Devices connected via Device Servers is the AggreGate Agent plugin. Administering Devices
When the connection between LinkServer and a Device is active, the server synchronizes them periodically. The actual algorithm of synchronization depends on the Device type, but in most cases synchronization includes two primary steps:
When LinkServer first reads values of Device internal settings, it stores these values in the database. This is called settings caching. Users can view and edit settings for any Device, even if it is not currently connected to the <%LS%.
The Settings Cache is periodically synchronized with the Device. Synchronization occurs in the following cases:
Every setting is synchronized according to the following algorithm:
Cached Settings Synchronization Status Every setting value in the server cache is contained in a variable in the server context corresponding to the Device. When settings are being viewed or edited (e.g, using the Properties Editor of AggreGate Client), the Synchronization Status of every setting appears by the setting description.
Available Synchronization Statuses Synchronization Status takes on the following values:
Using Common Tables for Storing Shared Values of Device Settings It is possible to set up master values for Device settings. Master values are stored in Common Data tables instead of the normal server cache. Every common table contains the value for a single Device setting, so the values of simple settings such as String or Number are stored in a table containing just one column and one row. When synchronizing a Device with the server, the plugin tries to detect if there are common tables containing setting values. If Global Common Data contains a table with the same name as the setting name, the value of the setting (from the common table) will be written to all Devices in the system which have settings with this name. If the common table is found in User Common Data, its contents will be used for all Devices under the user's account (which have a setting by this name). If the plugin finds that some setting should be synchronized using a common table, synchronization is always performed from LinkServer to the Device. The contents of a common table are never overridden or modified according to the value of a Device setting. If a setting is synchronized using a common table, you can't view or change its value using a Configure Device action. Instead of its value, you'll see a read-only string, like Using Common Table XXX contained in YYY:
See Integration with Device in Common Data for more information. |