Revulytics > Revulytics - Support Help Desk > Knowledgebase

Search help:

How does the Revulytics call home protocol work?


Once you register a free Revulytics account and integrate the Usage Intelligence SDK, all your software installations will start calling home to the Revulytics server. The server will collect anonymous information regarding software usage, OS, language, hardware profile such as memory, CPU type and resolution, geographical information, and other information regarding your software version, build number, edition and license keys (if applicable).

As a software vendor, you also have the option to control what information is collected from your end-users by adding an opt-out mechanism during installation or as a configuration option within your software. If a user chooses not to be tracked, then you can simply bypass the call(s) to the Usage Intelligence API.


The Usage Intelligence communication protocol relies solely on HTTP (port 80) for passing data to the server. We specifically do NOT use HTTPS for the simple reason that in some environments, especially corporate networks, HTTPS traffic tends to get blocked by gateway firewalls or web filters. The fact that we rely only on HTTP makes the protocol more reliable and thus works in the majority of environments.

Since all the data we collect is anonymous, security conscious end-users are free to sniff any traffic sent to/from the Revulytics server. In order to improve customer perception, you also have the option to use a custom callhome URL by setting a CNAME entry in your DNS server. For info on custom URLs please read this KBase article.

If you are using Usage Intelligence's license key validation features, any license keys sent to the server are encrypted before being transmitted. This means we never transmit plain text licence key information over the network.

Using HTTP (as opposed to HTTPS) does not make the protocol any less secure. The Usage Intelligence protocol uses a signing and authentication mechanism which protects all call home data from spoofing or other forms of tampering by rogue users.

Caching and Lack of Internet connectivity

By default, the Usage Intelligence DLL calls home to the Revulytics server only twice per session; once as soon as your software is loaded and another time before your software is closed. Other calls can occur whenever the developer calls an API which requires a real-time response from the server, such as during Message Check and License key validation.

In the meantime, the Usage Intelligence SDK will cache usage statistics to a log file on disk together with other information, ready to be sent on the next callhome. Whenever an internet connection is not available, data remains cached until the connection is restored. A threshold is set on file size so that a machine with a permanent loss of connectivity will stop collecting usage data once this threshold is reached. Once the connection is restored, the log files are compressed and sent over to the Revulytics server using minimal bandwidth.

Was this article helpful? yes / no
Related articles How many times does the Revulytics Usage Intelligence SDK call home and how much traffic does each call generate?
Can I use my own call home URL?
Are there any legal or privacy concerns when using Revulytics Usage Intelligence?
Comparing Revulytics Usage Intelligence with Google Analytics or web-analytics solutions
How is Revulytics Usage Intelligence affected by proxy or firewall environments?
Article details
Article ID: 7
Category: Knowledgebase
Date added: 2011-03-18 18:45:41
Views: 958
Rating (Votes): Article rated 3.7/5.0 (9)

« Go back