Software metering is configured in two areas of reference: server components and the client agent. Let's begin by looking at the server components because without these, the client agent is useless. The two server components that need to be configured are the Software Metering component and the software metering site system. Both are definable through the Site Settings folder in the SMS Administrator Console.
The Software Metering component controls policy settings used for tracking software and summarizing metered data, defines the frequency at which license balancing and other management tasks occur, and defines rules and schedules for summarizing data. This configuration information is used by the License Metering process thread to carry out management tasks related to software metering.
NOTE
As for all SMS components, the settings you apply for the Software Metering component are sitewide settings.
To configure the Software Metering component, follow these steps:
Figure 14-4. The Software Metering Properties window.
Partial registration, the default, will register and monitor any version of a software application that partially matches the major version number. Full registration registers each version of the application as a separate program to monitor. For example, Solitaire installed on Windows NT and Windows 95 workstations are versions 4.00 and 4.00.950, respectively. Under partial registration, both versions would be recognized and monitored as the same program. Under full registration, each version would be considered a separate application and thus would have to be registered and monitored separately.
Standard, the default, indicates that the filename for the executable will be used to identify the program. If a user renames the executable, SMS would potentially no longer recognize the application as one to monitor. Original, on the other hand, directs SMS to read the application's name from the header information contained in the application's executable file. Thus even if the user renamed the file, SMS would still recognize the application as one to monitor.
CAUTION
Not all applications are written to contain the program name in the header information of the executable file. Games, for example, tend not to do this.
Figure 14-5. The Local tab.
NOTE
Although it might appear that you can set any of these schedule values to less than 15 minutes, the minimum value is, in fact, 15 minutes.
Figure 14-6. The Intersite tab.
CAUTION
License balancing may be difficult to monitor outside of a production environment. External influences such as network traffic and bandwidth can certainly affect whether a receiving server can acknowledge balanced licenses within the receipt time period. You will probably need to monitor license balancing under various conditions to obtain the optimum values for the license balancing settings.
Figure 14-7. The Data Summarization tab.
In this Properties window, you can specify the age and granularity for both licensed and unlicensed usage. Age refers to the length of time data is recorded before it is summarized. Granularity refers to how records are condensed. The Granularity setting must be less than or equal to the Age setting. If you set Age to 1 Day and Granularity to 1 Hour, the data will be summarized as 24 records each day—one record per program per hour. If you set Age to 1 Week and Granularity to 1 Day—the defaults—after one week of collected usage data, one record will be generated per program per day. Click OK to return to the Data Summarization tab.
Figure 14-8. The Summarization Rule Properties window.
REAL WORLD Partial vs. Full RegistrationSometimes it is essential to determine the difference between the Partial registration and the Full registration of program policy options when configuring the Software Metering component.
As we've seen, it's important to recognize that Solitaire is not always Solitaire when it comes to software metering. Consider the following scenario: Suppose that when you first enabled the Software Metering component options, you selected Full as the registration option. You then updated your clients (Windows NT and Windows 95) and began to experiment with restrictions, exclusions, and licenses. One of the applications you registered with license enforcement was Solitaire. If you purposely create situations in which you will run out of licenses for Solitaire, you should generate a callback request on your clients. For some reason, the callback will appear on your Windows NT client but never on your Windows 95 client, even though both would record usage information for Solitaire.
So how do you stop Solitaire from executing on the Windows 95 client? If you examine the Summary view in the Software Metering tool that we'll discuss in the section "Using the Software Metering Tool" later in this chapter, you'll notice that Solitaire on the Windows 95 client is returning a version number of 4.00.950, whereas Solitaire on the Windows NT client is returning a version number of 4.00.
Like every good administrator, your next step would be to check your component settings. Here you'll discover that the Product Version Policy option was set to Full, which means that Solitaire version 4.00 running on the Windows NT client, from SMS's point of view, was entirely different from Solitaire version 4.00.950 running on the Windows 95 client. As you instructed it to, SMS was duly tracking the license usage for Solitaire on the Windows NT client, and blissfully ignoring license usage for Solitaire on the Windows 95 client.
The moral of this story? Full registration is highly specific to the version. Product versions must match exactly for tracking and monitoring to take place. Full registration is a powerful tool for the SMS administrator and gives you a great deal of control. It is also a sitewide setting for the Software Metering component, which means that if you want to track programs that register different version numbers on different operating system platforms, you'll need to either register each program separately or switch back to Partial registration.
Let's take a moment to clarify how local license balancing works within the site. The License Metering process thread on the site server checks the license balancing schedule configured through the SMS Administrator Console for the Software Metering component. When license balancing is scheduled to run, the License Metering process thread retrieves usage information from the data cache on each software metering server, including statistics about license grants and denials, peak activity, and callbacks. Based on calculated trends, it may take available licenses from an underutilized software metering server and distribute them to software metering servers that are overutilized.
When the site server is notified of a license denial, the License Metering process thread sends the software metering server an additional license or licenses within 15 minutes if it has them available—this is known as instant license balancing. You may have defined additional licenses, or the site server may have licenses it obtained from other software metering servers during the license balancing process. If the site server does not have any licenses, the License Metering process thread will query each software metering server every 15 minutes to determine whether any has a free license or if any require additional licenses. When the License Metering process thread obtains a license, it forwards the license to the software metering server that needed the license at the next license balancing cycle, or the next time a license is denied.
In Chapter 3, we examined the site server roles you can assign and the process of creating a site server and assigning it one or more roles. In this section, we'll focus on configuring a site system for the software metering server role.
As with all site systems, you begin by identifying which servers will become a site system for your site and then assign the appropriate roles to that site system. To assign the role of software metering server to the site system, follow these steps:
Figure 14-9. The Software Metering Server tab of the Site System Properties window.
Figure 14-10. The Windows NT Account dialog box.
CAUTION
Resist the urge to set Client Connection Points to a high value. You are, after all, defining the number of clients that can simultaneously connect to the software metering server's data cache. Setting it to a high value can really bog down the site system, especially if it is performing other roles as well. As with all SMS options, try a value, monitor performance, and test!
At this point, License Server Manager creates and installs the data cache in the SWMTR folder on the site system, loads and starts the SMS License Service on the site system, and copies component configuration information and support files to the site system. As we've discussed, the SWMTR folder will be shared as LICMTR. This is the share that the Software Metering Client Agent will use to request configuration and license information and to write its product usage information.
CAUTION
The data cache in the SWMTR folder cannot be installed on a compressed drive. If you try to do so, you will experience the SMS disappearing directory trick: the directory will be built to a point, and then the process will fail and the directory will be removed. SMS retries rebuilding the directory until it times out. If you peruse the log file associated with License Server Manager (Licsvcfg.log), you'll see a message to the effect that an attempt to copy ProductDB.dll failed and that License Server Manager will remove the directory.
Always use the Software Metering Server tab of the Site System Properties window to change the Software Metering Service account password. All references that SMS or the software metering server makes to this account are controlled through this setting. If you change the password on your own through User Manager For Domains and change its reference in the SMS License Service through the Control Panel Services utility, you will not have properly informed SMS that a change has been made, and license updates and other configuration information may not be correctly reported.
However, when you remove the software metering server role from a site system (by simply clearing that option on the Software Metering Server tab of the Site System Properties window), the Software Metering Service account is not automatically removed. This you will have to do manually through User Manager For Domains.