Summary
In this article we will explain how the software usage metering works in Snow. This article will provide Snow definition of the terms, how Snow implement and calculate software metering. The article will also provide examples to better understand the concepts more clearly.
Environment
Snow License Manager
Snow Inventory Server
Snow Inventory Agent
Overview
The License Manager web interface is currently the only place where metering information is shown and below are two examples of what it can look like:
(The green boxes have been added to highlight where the metering details are shown)
In the first example, we are looking at computer, 1513. By clicking the small arrow next to "Notepad++ 7", we expand this product to see the usage details:
- Name, the name of the user that was using the application.
- Last used, the date and time of the last known usage of the application, using the date/time settings (time zone, etc.) of the local computer.
- Run, a "Snow interpretation" of how many times the application has been run. We will explain further down what we mean by "Snow interpretation".
- Total time (days:hh:mm), the total duration that the application has been run. This time does not include time when the screen is locked, in sleep mode, or hibernated. Multiple instances of the same application are disregarded. For example, if a user has 10 windows of Microsoft Word open for an hour, the total time is 1 hour, not 10 hours.
In the second example, we are looking at the specific application "Notepad++ 7" and the computers that have this application installed, with the following information from metering:
- Last used, same as above.
- Run, same as above.
- Per run (hh:mm), the average time per run. In this example, the total time is 22 hours (as seen in the image of the first example) and the run count is 30, so the average time per run is 44 minutes (rounded to whole minutes)
Before we dig into explaining the "Run" column, let me answer some questions that you may have at this point:
Why don't we count an application as used when the screen is locked?
The primary focus on metering is desktop applications. If a user is using Photoshop and then locks the computer, we know that the application will not be used until the computer is unlocked again. Since we are not interested in the time that we know Photoshop is not used, we disregard that time. The main drawback with this approach is that we will not measure scheduled tasks and other background processes, such as anti-virus software, as used during the time that the computer is locked, although these processes might be executing in the background.
Can metering tell whether a user is actively using an application, or if the application is just running in the background?
No, currently we cannot do this. If the process is running, it will be counted as used.
Has metering changed from Inventory agent 3.7 to 6.x?
No. Metering is calculated the same way as before
What fields are affected by the metering bug that was introduced in Windows Agent 5.1.0
The "Run" and the "Per run" columns were affected by this bug, all other columns were unaffected. The bug is resolved in agent version 5.2.1.
Understanding the "Run" column
We have written some practical examples that we will guide you through. But first, let's start with five important facts that help understanding how the agent works:
1. The Windows agent "subscribe" to start events while the agent is running. The run count is only increased when it gets notified on a start event. This means that the run count will not be increased when:As we can see with "b", "c" and "d" below, we can potentially have a metering duration of a running application, with a run count of "0". Besides being a bit hard to explain to a customer, this will cause issues when calculating the average run time of an application (dividing by zero is not possible). Therefore, when we perform a scan and create the inventory result file, we will always set the run count value in the Metering tag to "1" if the run-counts reported from the agent sum up to "0".
- a. The computer is unlocked, or woken up from sleep mode or hibernation.
- b. A scan is performed. The scan will remove all previous metering files from disk and create new ones with a run count of "0".
- c. The agent creates new metering files on disk, which is done at midnight (00.00) at local computer time. If the computer is locked during midnight, this will happen as soon as the computer is unlocked on the next day.
- d. The agent detects running applications that were started before the agent was running. Since we will not get a start event, the agent will start a new metering period with a run count of "0". For example, this could happen the first time we run the agent, or if a Windows process simply starts before the agent starts.
- e. The agent recycles. Every six hours (currently not configurable) the agent will drop all resources and make a light "restart" to reduce resource utilization. This does not affect the metering result.
2. As we can see with "b", "c" and "d" above, we can potentially have a metering duration of a running application, with a run count of "0". Besides being a bit hard to explain to a customer, this will cause issues when calculating the average run time of an application (dividing by zero is not possible). Therefore, when we perform a scan and create the inventory result file, we will always set the run count value in the Metering tag to "1" if the run-counts reported from the agent sum up to "0".
3. When multiple instances of the same application are started, the agent counts all runs, but the total duration will be counted from when the first instance is started until the last instance is closed. An example could be Google Chrome, that starts a new process for each new tab that is created. Let's say I start Chrome at 10.00 in the morning and use it throughout the day. I open a total of 20 tabs, but before I leave at 5pm I close Chrome with all its tabs. The run count will be 20 and the number of minutes used is 420 (7*60).
4. A scheduled scan will contain all metering information that has been created since the last scheduled scan. A scheduled scan will clear all temporary metering-files stored on disk, and new ones will be created after the scan with a run count of 0.
5. A manual scan will contain all metering information that has been created since the last scheduled scan. During the manual scan, the metering-files stored on disk will be deleted, but their content is kept in memory, and the agent will-recreate the metering-files after the scan, appearing like they did before the scan.
With these facts, let's look at a some practical examples.
Example 1 - Using Word for 3 consecutive days:
- On Monday afternoon, I start one instance of Microsoft Word. Since the agent is already running, it will get notified on this start event and start a new metering period with Run count = 1 (Fact 1).
- When I go home on Monday night, I leave Word open and I don't lock my computer, so Word is "running" all night. At midnight, a new metering file will be created with Run count = 0 (Fact 1c).
- On Tuesday, I continue to work with my single instance of Word throughout the day. At 09.00 a scan is performed. All metering files are consumed and deleted (Fact 4). The total duration will be summed up and the Run counts will also be summed up to 1 (the metering file from Monday) + 0 (the metering file from Tuesday) = 1. After the scan, new metering files will be created for all currently running processes, with a run count of "0" (Fact 1b).
- I lock the computer several times during the day, for example when I go to lunch. The run count will not be affected by this, but the "duration" will be paused while the screen is locked. (Fact 1a).
- When I go home on Tuesday night, I leave Word open but this time I lock the computer. This will not affect the run count, and nothing will happen at midnight since the computer is locked (Fact 1a).
- I get back to work on Wednesday morning at 08.00 AM and unlock the computer. When the computer is unlocked, the agent will notice that it is a new day, and create new metering files on disk, with a run count of "0" (Fact 1c). At 09.00 a scheduled scan is performed. All metering files are consumed and deleted (Fact 4). The total duration will be summed up, and since the run count is "0" (no start events since the last scan) it will be set to "1" in the scan result (Fact 2). After the scan, new metering files will be created for all currently running processes, with a run count of "0" (Fact 1b).
- Between 09.00 and 11.00 AM I start a 3 additional instances of Word. These 3 start events will all be caught by the agent and the run count will be set to 3.
- At 11.00 AM I am done with Word and close all instances. I don't start Word any more that day. The metering period is ended. It has a run count of "3", since 3 start events was caught by the agent.
- On Thursday, I do not use Word at all. When the scan is performed on Thursday, it will include the last metering duration from Wednesday, it has a Run count of 3. Note also that during these four days, the agent will recycle every six hours, but it will not affect the run count or duration (Fact 1e)
In this example, the total run count reported is 5; 1 from the scan on Tuesday, 1 from the scan on Wednesday and 3 from the scan on Thursday.
Example 2 - Application starting before agent is running:
- On a specific computer, the anti-virus software is configured in a way that it will always start running before the Snow Agent starts.
We will never get a start event from this anti-virus software, but we will measure the duration of it when the agent is running. With Facts 1d and 2 above, this anti-virus software will be reported as used once a day.
Example 3 - Manual scans:
- At 09.00 a scheduled scan is performed. I already have an instance of Word open. After the scan, new metering files are created with a run count of 0 (Fact 4).
- Between 9-10 I open 3 instances of Word The run count is increased to 3. (Fact 1)
- At 10.00 I perform a manual scan A scan result is created. For Word, the run count is 3 and the duration is 60 minutes. (Fact 5)
- Between 10-11 I open 6 more instances of Word. The run count is increased to 9 (Fact 1)
- At 11.00 I perform a manual scan A scan result is created. For Word, the run count is 9 and the duration is 120 minutes. (Fact 5)
Related Articles
Software Usage Metering - How to Monitor Unknown Product Known? 95Number of Views Application usage metering using the FlexNet inventory agent 191Number of Views Software usage metering: Manual mapper example 43Number of Views Import from Tanium may fail with error: "Could not find intermediate file for procedure Evidence, step 119 with name 'Get … 8Number of Views How to remove all software usage data from FlexNet Manager Suite 10Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago