Internet of Things Integration Platform
Remote Monitoring, M2M and Device Management Software Platform
AggreGate Platform

Service and Process Models

Simple monitoring systems allow direct visualization of values that were collected from devices. However, devices from different manufacturers use differing approaches for providing values with the same physical meaning.

For example, network management products are used to track CPU load of network nodes. This simple metric is available in many different forms:

  • Windows-based computers expose "spot" values of CPU load via SNMP.
  • Same Windows machines can provide WMI-based CPU load readings if SNMP is not available.
  • Cisco routers provide pre-calculated CPU utilization data as 5-minute and 1-hour averages.
  • HP-UX servers have counter-type values showing how many seconds the CPU has been busy since server startup. These counters require complex processing to calculate the current load.

However, a Network Device Dashboard should have a "CPU Load" chart equally looking for all device types. A "High CPU Load" alert is also expected to behave similarly. Moreover, we'd like to build a "CPU Load Overview" report showing current utilization of all devices in the network.

The right way to ensure the above requirements is having a numeric "CPU Load" metric in every device that provides CPU data. This metric should have common format, but its calculation and update policy will differ between device types.

Models operating inside AggreGate server solve this and similar cases by simulating different business objects or processes. The models range from simple, such as CPU load model, to really complicated ones, e.g. representing a whole industrial plant.

Each model comprises:

  • Definitions of variables (properties) representing model values
  • Definitions of functions (operations) that instruct the model to perform some processing or calculation
  • Definitions of events the model can produce
  • Definitions of bindings that tie model's properties, operations and events together allowing it to react to other objects' events or states
  • Sets of business rules for decision making according to a machine-readable knowledge base

Model Types

A model may act on its own (absolute model) or get attached to lower-level objects, such as devices (relative model). In the second case, multiple instances of a model are created, each of them using object it's attached to as its primary data source.

The third model type assumes explicit on-demand model instance creation. For example, an Oil Rig model may hold information about devices and controllers installed on a rig, as well as data collected from the particular rig (that's not a single device indeed). Such models are called instantiable models.