The ConnectCore MP15 starts exchanging data with the cloud as soon as it connects to Remote Manager. If your device connects to the Internet through a cellular connection with limited data plan, Digi recommends you optimize the traffic to reduce the amount of data exchanged. The most common data transactions with the cloud are:

  • Keep-alive messages

  • Device requests

  • Data point uploads

  • Firmware updates

Some transactions such as firmware updates occur infrequently, and data traffic cannot be reduced for those. You can, however, reduce the amount of data exchanged in other transactions.

Optimize keep-alive traffic

Keep-alive messages are exchanged periodically between the device and the server to verify that the connection is still alive. These messages occur in both directions (from the Remote Manager server to the device and from the device to the Remote Manager server).

You can reduce keep-alive message traffic by increasing the keep-alive time settings in the CloudConnector configuration file /etc/cc.conf:

  • Use the keep_alive_time setting to change the time interval in which CloudConnector sends keep-alive messages to the Remote Manager server.

  • Use the server_keep_alive_time setting to change the time interval in which Remote Manager server sends keep-alive messages to CloudConnector.

Both keep_alive_time and server_keep_alive_time can be configured to a value between 5 and 7200 seconds.

Optimize device requests traffic

Device request transactions are mainly used to interact with the device from other applications. These transactions are usually small, but if they are too frequent, they can greatly impact the amount of data traffic.

If these requests are used to periodically retrieve data from the device, Digi recommends you replace them with data points and monitors:

  1. Upload a new data point to Remote Manager every time the data you want to monitor changes.

  2. Register a monitor from your application to be notified when the value changes. See for more information.

By doing this, you do not have to periodically communicate with the device to read the desired data. This avoids consuming unnecessary traffic without a guarantee that the value has changed.

Data that constantly changes should be monitored on a time basis, while data that changes only occasionally should be monitored every time its value changes.

Optimize data point traffic

Data point uploads are by far the most common and data-consuming transactions in Remote Manager. They are used to upload and store data in the cloud to be used later by third-party applications. These transactions can be initiated by user application(s) running in the device or by the system monitor service.

Optimize application data point traffic

It is important to be cautious with the amount of transactions and data points uploaded to the cloud, as they can greatly impact the amount of data exchanged.

When developing your application, consider the following:

  • Upload data points every time the value changes instead of periodically (as long as the value changes less often than the configured time period).

  • Reduce the number of upload transactions with the cloud to avoid throttles.

  • Reduce the size of the data points, if possible. For instance, for storing a boolean value, use a boolean data point instead of an integer datapoint.

Optimize system monitor data point traffic

The system monitor service reads parameters that determine device health and uploads them to Remote Manager. The default configuration enables this service and takes samples every 30 seconds; those samples are uploaded to Remote Manager every minute.

All device metrics and interfaces are monitored by default, resulting in a very high amount of data exchanged with the cloud. This default configuration, which is fine to showcase the ConnectCore MP15 Development Kit capabilities, is likely to be too aggressive for a production system.

There are several ways to reduce traffic from the system monitor:

  • Reduce the system monitor sample frequency with the system_monitor_sample_rate setting.

  • Specify the metrics to upload with the system_monitor_metrics setting.

  • Completely disable the system monitor with the enable_system_monitor setting.

See Monitor the system for more information.