The ConnectCore MP15 starts exchanging data with Remote Manager as soon as it connects. 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 Remote Manager are:

Some transactions, such as firmware updates, occur infrequently or data traffic may not be able to be reduced. However, you could 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 ConnectCore Cloud Services configuration file /etc/cccs.conf:

  • Use the keep_alive_time setting to change the time interval in which CCCS daemon 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 CCCS daemon.

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

For more information on how to change the configuration file, see Customize CCCS configuration.

Optimize data requests traffic

Data 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 https://doc-remotemanager.digi.com/api/monitor/ 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 by modifying some parameter values in /etc/cccs.conf:

  • 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.

For more information on how to change the configuration file, see Customize CCCS configuration.

Optimize firmware updates

Devices in the field are updated using SWU packages. Digi Embedded Yocto provides support to create different update packages:

Usually, SWU packages based on files and on binary differences are smaller than SWU packages based on system images. However, not all packages are always suitable; it depends on the devices to update, their conditions, the magnitude of the changes in the firmware, or the elements that must be updated.

To optimize your firmware update, generate the smallest package possible that best suits your requirements.

See Update firmware using SWU packages for more information.