The Complete Device Management Solution
Remote Monitoring, M2M and Device Management Software Platform


Tibbo AggreGate News RSS Feed Tibbo AggreGate Twitter Tibbo AggreGate Blog Subscription

Technology > Features > Architecture

Multiprotocol Vendor-Agnostic Framework

AggreGate is used in many industries, and its components can live in diverse hardware and software environments. AggreGate creates an internal, normalized representation of any hardware device within the system. This way, system modules can interact with the device without “getting into the details” of how exactly it works.

Most modern device communication protocols provide some metadata about the device, and AggreGate does its best to “get to know” your device. This way, you almost never have to input data about device settings (what settings are available, what are the ranges for various values, etc.). You can usually just set up connection settings (IP address, serial port number, etc) and let AggreGate do the rest. You can then start accessing device data. The whole process takes mere seconds.

AggreGate directly supports many modern protocols (e.g. SNMP, Modbus, BACnet, or OPC). It can communicate with thousands of devices from different manufacturers without additional programming or complex configuration. As AggreGate evolves and matures, more drivers are added. Devices that are not supported directly may be connected using programmable hardware controllers (Agents) or software device drivers, as described under connectivity section. Tibbo also offers a driver development service.

Modular Scalable System Architecture

Unlike most of the competing systems, AggreGate was initially designed for different industries and environments. Most system components and modules process abstract data that may come from any source.  These components are not aware of the nature of this data, in contrast to system operators. Thus, operators may fine-tune the system to apply the necessary processing exactly to the real-world data flowing in the system.

AggreGate Structure

Custom servers-side data processing and visualization modules are implemented as plugins and may be easily installed/deinstalled from server core at any time by simply copying plugin file to the plugins directory or removing it. This procedure is applicable for all types of plugins, including device drivers, report/alert/script libraries, widgets, branding and personalization packages etc. Server checks plugins validity and dependencies on every startup to ensure overall system integrity.

Number of managed devices is limited only by available server resources, mostly CPU speed and RAM size. The whole system can be scaled to manage hundreds of thousands of simultaneously connected devices those ownership is distributed between several servers and hundreds of operators. Total number of system operators and number of simultaneously active operators is not limited by the licensing policy or other factors.

All data in the system is converted to a common format, and different modules access it and operate on it. This means you can build complex data processing workflows involving several chained operations.

Let's say you've just connected a new device and want to present its data neatly in the form of report. No additional modules are required for proceeding. In most cases, you don't even have a need for programming. Report creation sequence is simple and straightforward:

  1. Define the Source Data Expression used to fetch data for filling report template. It sounds very technical, but the Expression Editor in AggreGate Client turns this into a point-and-click operation. In the most complex cases your expression may refer one or more scripts for advanced data processing.
  2. Use the Report Editor to build a template for your report. The editor operates in WYSIWYG (What You See Is What You Get) mode and links to the data values obtained at the previous step are created in mere seconds.
  3. Run your report, browse and print it in the Report Viewer.

AggreGate Integration Layers

Integration Layers

Hierarchical Multi-User Environment

Large AggreGate installations are operated by many people, including system administrators, operators, analysts digging through data and preparing reports, etc. In such a complex environment it's extremely important to ensure security and restrict access to important data.

AggreGate Server may have an unlimited number of user accounts. System resources are usually owned by the user who creates them. User permissions are configured by editing a permissions table defining that user's access level to every system resource. This lets administrators implement complex security schemes which actually reflect the user's role in the organization. Some examples:

  • Allowing one users to access/view/modify devices and resources (alerts, reports...) that belong to another user.
  • Allowing one user (team leader) to modify permissions of some other users (team members).
  • Restricting a user's access to his own devices and resources, e.g. enabling read-only access to devices or reports.
  • Temporarily suspending a user's account by revoking all permissions.

Every record of permissions table may define user's access level for one resource, several resources or even a subtree of dependent resources, allowing batch configuration.

Configurable user permissions also make life simpler for operators, by allowing them to view only resources that are relevant to their job. For example, the following permission schema is often used for Time and Attendance control system:

  • System administrator has full permissions.
  • Company executives have access to reports.
  • HR staff may view/configure employee profiles and custom shifts.
  • Security personnel are allowed to view real-time entry/exit events and event history.
  • IT engineers may edit report templates, create new reports, browse event history and modify employee database.

Every user account has a set of preferences, such as time zone, date/time format and preferred language.

User Self-Registration

User self-registration is very helpful during the first stages of system deployment. System users may create their own accounts and provide some personal information (name, e-mail, company/department, phone no., etc). Once registered, they get their own login/password pair.

Self-registration can save lots of time for the administrator during initial deployment. When system installation is over and it enters production mode, self-registration should be disabled for the sake of security.

Clients


AggreGate Client Desktop

AggreGate Client Desktop

AggreGate Client software can run under any Java-enabled platform, including Windows, Linux/Unix and Mac OS. The main screen can be easily configured for real-time monitoring and data analysis. Dockable windows allow creating custom desktop views and dashboards. Every operator has a dedicated workspace, with a persistently saved window layout.

Client connects to AggreGate Server via any IP network using a secure connection. In clustered and multi-server systems, Client may maintain simultaneous connections with several servers. Combined with AggreGate Server's capability to maintain an unlimited number of client connections, you could build a "many-to-many" distributed system with very high reliability.

Primary components of Client:

  1. System Tree for accessing system resources
  2. Properties Editor for viewing and changing device profiles and system objects configuration
  3. Event Log
  4. Different graphical widgets grouped into a dashboard
  5. GUI Builder user interface editor
  6. Embedded Report Editor
  7. Favourites list for fast access to commonly used actions
  8. Trackers view for monitoring data values in real-time
Support Form