Lightweight – Binary protocol, low resource consumption
Secure – Fully protected communications
Powerful – Supports two way RPC’s
Robust – Works on unreliable networks
Connect your Devices with the Best IoT Protocol Available Today
PlugNet™ is a new generation binary protocol designed specifically for the Internet of Things. It is architected to be very efficient in device and server side resource utilization while delivering powerful functionality to develop sophisticated communications capabilities amongst devices and between devices and the cloud. PlugNet™ is the baseline protocol for the communications of the CloudPlugs SmartPlug™ with the CloudPlugs platform. Here are some of its cool features:
Lightweight and Efficient
- Binary, op-code based, dynamically compressed.
- Optimized C++ code for message packing/unpacking.
- Flexible compression policies.
- Low server, device CPU, battery and bandwidth use.
- 10x lighter than JSON, 20x lighter than XML.
- 24h of continuous monitoring/control requires ~60kB.
- Security is enhanced by the CloudPlugs architecture design with no middle man.
- PlugNet’s™ smart encryption model prevents data sniffing.
- Encrypted SSL connection to the CloudPlugs platform.
- RPC based. Allows devices not only to exchange data, but also to send commands to each other and to the PlugNet server.
- Dynamic logic. Any callable remote procedure on a SmartPlug™ can be added/updated/removed by the CloudPlugs Core Server at runtime without the need to update the entire SmartPlugTM application.
- 2 way calls. An endpoint can, sequentially or in parallel, invoke remote procedures exposed by another endpoint.
- Proactor Pattern. Requests are decoupled from responses such that new requests can issued even if current requests are still waiting for response.
Smart Message Queues
- Message traffic by priority ID.
- Policy based traffic quota assignment.
- Proactive architecture that allows parallel asynchronous requests.
- Large sequence of reliable call messages may be sent on a single socket connection without waiting for response from the other endpoint.
- The order of responses could be different from the order of parallel requests. Strictly serialized requests are supported.
- Messages sent by the SmartPlug™ agent to the server and vice-versa may be independently compressed or left uncompressed.
- Flexible compression policies allow all or no message compression as well as selection of the best policy based on resource (CPU, network, etc.) consumption.
- Responsive on any low bandwidth and unreliable network links.
- Fault tolerant with retry and resume architecture
- Real-time monitoring of the state of all connections
- Customizable auto reconnection policies to minimize latency.
- Very fast handover on connection drop. Lightweight session payload.