In addition to extensive standard protocol coverage, AggreGate uses an open, secure and well-documented communication protocol to interconnect platform servers, clients and agents.
The AggreGate protocol enables intelligent remote access to the unified data model of servers and agents, allowing peers to “learn” about their capabilities, read and write properties, execute operations and get asynchronous notifications. Speaking briefly, if the data model is a unified representation of any device or resource, the protocol is a way to get full remote control over it.
The protocol is optimized for low-bandwidth unreliable device connections, such as GPRS and satellite links. It’s also extensively tested in high-load environments, transferring up to a million data tables per second through a single SSL/TLS-secured TCP connection.
There are several open-source implementations of AggreGate Protocol, including C/C++, Java and Android Java, .NET and .NET Compact, Tibbo Basic, etc.
In contrast to device polling, AggreGate Protocol allows devices to establish outgoing connections to the server. Whereas typical polling and web-based configuration requires a real IP address to be assigned to each device for this device to be accessible over the network, AggreGate only requires a single real IP address for the server. All AggreGate Agents in the system connect to the server themselves. This eliminates the necessity to configure firewalls on each device’s side and also enables interaction with devices on cellular networks which only allows outgoing connections.