Introduction
Scense Reporting is a separate subsystem intended for collecting, consolidating, analyzing and rendering usage data from the Scense system.
The Scense Reporting subsystem will become available if the Scense master license includes the Software Metering feature.
The Scense Reporting is a 3-tier subsystem that consists of:
- Scense Application Monitor service
- Scense Metering web service
- Scense Metering Data Consolidation service
- Scense Data Analysis service
Next to the Scense Reporting subsystem there are some user interfaces:
- Scense Explorer
- Scense Report Viewer
The paragraphs below will explain how the above components work together.
Scense Application Monitor service
The Application Monitor service will collect application usage data for all users working on a computer, whether this is a fat-client where only one user is active or a terminal service where multiple users are active concurrently.
The Scense Application Monitor service should be installed on all workstations to ensure accurate data collection and thus accurate reporting.
The Application Monitor service uses the ScenseMon driver which is also used by Scense Live Profiles to get the extensive process start and finish data.
A local cache is used to ensure process invocation data is not lost while the computer is off-line.
In case of network loss the Application Monitor service will continue collecting data and store it locally. When the network connection has been restored the locally cached data will be sent to the server.
The Scense Application Monitor service will periodically refresh its application metering definitions from the server so it will automatically start monitoring new applications for which the administrator has enabled software metering.
Scense Metering web service
The data collected by all Application Monitor services on the workstations is received by the Scense Metering web service.
The Scense Metering web service is installed on the Scense server by default.
This web service runs within the Internet Information Services (IIS) and benefits from the intrinsic scalability of IIS.
The Scense Metering web service has only one primary task:
- Store the raw process invocation data in the database as fast as possible.
Storing the data as fast as possible is important in environments with a large number of active users. In these environments it’s very probable that a large number of programs are being started and/or stopped per second.
Scense Metering Data Consolidation service
The raw data as collected by the Application Monitor service on the workstations and stored in the Scense Reporting database by the Scense Metering web service will be processed by the Data Consolidation service.
The Data Consolidation service is installed on the Scense server by default.
The Data Consolidation service will periodically process the raw data in the database and consolidate this data in a normalized data structure in the Scense Reporting database.
This normalized data structure is a collection of database tables specially designed for easy access by reporting tools.
Data Analysis service
Some data can only be acquired by doing complex calculations. E.g. the ‘concurrent use’ of an application within a certain time span can only be determined by performing a series of aggregations and calculations. Such a process would be too demanding for a reporting tool and it would be inefficient to calculate the data over and over again.
This is why we need a ‘Data Analysis service’ that performs a predefined process periodically.
The Data Analysis service implements a plug-in interface that allows for multiple plug-ins, each with its own special task. New plug-ins can be added any time.
These are the plug-ins:
- Concurrent Use
This plug-in will periodically calculate the concurrent use of all metered applications. The Concurrent use data is written in a dedicated database table.
- Peak usage
Similar to the Concurrent Use plug-in, this will periodically calculate the peak usage of all metered applications. The peak usage data is written in a dedicated database table.
- License compliancy
The License Compliancy plug-in periodically calculates the license compliancy of all metered applications and write the compliancy data in a dedicated database table.
- Data retirement
This plug-in will remove invocation info data that has been collected before a certain date. This will prevent the database from expanding indefinitely.
Scense Explorer
With Scense Explorer the administrator can specify which applications should be metered, the licensing type and the number of purchased licensed for an application.
Once metering is enabled for an application the Application Monitor service will automatically start metering the application and all subsequent processes and data will follow.
It might take some time before a newly metered application will show up in reports.
Scense Report Viewer
To view the application metering data in reports or graphs the Scense Report Viewer is available. The Report Viewer will show a set of preset reports to choose from.
The reports are stored in the database and the Report Viewer will retrieve them automatically on start.
The reporting engine used by the Report Viewer is SAP Crystal Reports, so the ‘RPT-files’ can be modified (at your own risk) using Crystal reports software.
Testing reports with the Scense Report Viewer is easiest if you place the new report in the ‘%AppData%\Scense\Reports’ folder. This way the report will not be places in the database so others can’t use it yet.
To handle reports in the database the registry key: ‘HKEY_CURRENT_USER\Software\Scense\ReportViewer’ should contain a DWORD value named ‘AllowAddRemoveReports’ with a value of 1.
After this value has been set in the registry the Report Viewer will show 2 additional menu items:
- Add Report
Shows the open file dialog to select a report to be added to the database.
- Remove Report
Deletes the currently selected report from the database.
Remember that once a report is added to, or removed from the database this will affect the way others will experience the Report Viewer.
Once a report is removed from the database it can only be restored by finding the missing report on the original Scense ISO (\Installers\Software Metering\Report Viewer\Reports ) and adding it to the database using the ‘Add Report’ menu item.