Licensing and reporting
31/01/2019 Cliff Hobbs
Cloudhouse's license and reporting features enable you to ensure you are compliant with the terms and conditions of your End User Licensing Agreement (EULA), as well as helping you understand application usage patterns within your business. This includes information on how many people are using each application, on what OS, when, and how often.
Although user and machine name information are collected, this is automatically hashed using the SHA256 algorithm before it is sent over HTTPS, or written to a file on a local file share. Hashing the data ensures it remains private to the customer and only the customer - no user or machine identifiable information is ever sent to Cloudhouse in usage data.
Deployment Event Reporting
A deployment reporting event is recorded each time the Cloudhouse.Container.Deployment.exe is triggered, whether by command line, script or deployment tool. The Deployment event will attempt to log each deploy and uninstall event up to three times. If the connection to the file share or the https://containers.cloudhouse.com fails, the deployment will stop and record an error in the Windows Application log.
- Deploy type will be either machine or user.
- Event types will be either deploy or uninstall.
The reporting location is recorded in the server or desktop's registry and not within the Container's configuration. This allows the same Container to be deployed to different servers and desktops, and report usage to different data stores if required.
If the Container is deployed into a Gold Image and machines are then created from this Gold Image, only a single deployment event will be recorded when the Container is deployed into the Gold Image. Deployment events will not be reported when the image is cloned.
Usage Event Reporting
An asynchronous usage event is recorded each time the Cloudhouse.Container.Run.exe is triggered during an application start and stop event. The Run event will attempt to log each start and stop event up to three times.
If the connection to any of the following is unavailable or in-use, then it will stop and record an error in the Windows Application log:
Stop events will include the application terminating unexpectedly.
Automated HTTPS Usage Reporting
A valid reporting token must be placed in the Container's root folder. A Container without a valid token will not deploy successfully. Please contact your Cloudhouse representative to arrange for your token to be issued. The https usage event is approximately 3,750 bytes.
Manual File-based Usage Reporting
Containers can be deployed to record deployment and usage events in comma-separated value (CSV) files, on a centrally located file share on the customer's network. This format is used so that the data can be imported into a customer’s existing third-party reporting system and submitted to Cloudhouse for license and billing purposes (see Submitting licensing data for more information).
Each recorded event is approximately 260 bytes and is written to the Hashed$UserSID$MachineID_usage.csv file.
The following data is written to the CSV file:
UTC_TimeStamp, UsageId, PackageId, Event, Operating_System, CPU_Core_Count, Deploytype, UserSidHash, MachineSidHash
Submitting Usage Reporting Data
To comply with your License Terms and Conditions, you will need to manually submit your locally collected usage data to Cloudhouse. For more information, see Submitting licensing data.
Backup and Archiving
Under the license usage terms of your agreement, Cloudhouse has the right to audit customers for up to three years. For this reason, Cloudhouse recommends you maintain backups and archives of the data for up to three years.
All data on the file share should be backed up as part of your company's standard backup and archiving policies. Once data has been submitted to Cloudhouse, it can be stored in the archive. Until then, Cloudhouse recommends keeping the data on the file share. Cloudhouse has designed the system to require minimal disk space, although exact requirements will depend on the scale of your deployment and usage.