Caching and Synchronizing

The Usage Intelligence SDK was designed to minimize network traffic and load on the end user’s machine. In order to do this, all the collected architecture info and runtime tracking data is cached locally and then compressed and sent to the Usage Intelligence server in batches at various intervals whenever appropriate. Log data is usually sent at least once for every runtime session (during startSDK()), however this may vary based on the type of application and usage activity.

Data may be sent via HTTP (port 80) or HTTPS (port 443) depending on application preference. When data is sent over HTTP, AES encryption is used to encrypt the data payload. When data is sent on HTTPS, normal HTTPS security measures are used. The application may also choose to start with HTTPS communication and if blocked or unsuccessful the SDK will fall back to using encrypted HTTP.

Forced Synchronization