The SMS Software Metering feature has two primary functions: to track software utilization and enforce compliance with software licensing agreements. Tracking without enforcing software compliance occurs when software metering is run in offline mode. Enforcing software compliance occurs when software metering is run in online mode. Online mode is also called real-time verification. Offline mode reduces software metering utilization of the network and site systems, but does not provide software license enforcement.
Software metering running in offline mode provides the following features:
Tracking without enforcing software compliance is a primitive form of license verification. Online mode provides more sophisticated license verification features.
Online mode includes all features available in offline mode plus the following:
Software metering is designed to accurately account for all instances of a given application running on any Windows 32-bit client computer in the site. This includes applications run from network servers, a local disk drive, a floppy disk, a CD-ROM, an intranet connection, or an Internet connection.
Software metering is not supported on Windows 16-bit client computers.
Four components support the software metering facility: the site server, the software metering server, the software metering database, and the Software Metering Client Agent. The site server runs two threads of the SMS Executive service: SMS License Manager and License Metering to support software metering. The software metering server runs, the SMS License Service and client computers which run one client agent, the Software Metering Client Agent to support software metering.
The site server manages the installation and configuration of all site systems involved in software metering, and acts as the central communications point for all software metering servers within a site. For example, the site server sends excluded software product lists to all software metering servers in the site. In online mode, the site server manages license availability across all software metering servers. These services are provided by two threads of the SMS Executive: License Manager and License Metering. License Manager installs, configures, and maintains license servers. License Metering communicates with and manages all license servers in the site.
Figure 5-1. How software metering components interact.
Software metering servers run the SMS License Service, a process that is not part of the SMS Executive. Client computers communicate directly with the SMS License Service for all license metering functions. The functions handled by this service are granting software licenses to client computers; returning licenses to the software metering server; reporting offline license activity; and informing client computers when a software license is available. Each software metering server contains its own set of licenses to allocate.
Software metering servers communicate with the site server and the software metering database. If there are multiple license servers when license balancing is configured, the site server grants software metering servers additional licenses to support client computers. The software metering server stores license data in the software metering database.
The software metering database is maintained separately from the site database. The computer running SQL Server can store the software metering database, but separate database devices must be used to store the license data. An intermediate data cache is used on each software metering server to store data received from the Software Metering Client Agent. This data is then transferred to the software metering database using a process called Data Collation.
The Software Metering Client Agent
The Software Metering Client Agent records the use of *.EXE and *.COM files and passes this information to the software metering server. The client agent can also be configured to control the use of specific applications. Control functions include:
Software licenses running on client computers can be checked out when a user needs to use software on a mobile computer not connected to the network. They can be checked-in when the mobile user is connected to the network. The user connects to the software metering server, checks out needed licenses, and disconnects.
Check-out time is configurable from the Software Metering application under the Tools node in the SMS Administrator console. If the user does not reconnect to the network before the check-out time has expired, the application will no longer run on the client computer until the next check-in. After expiration, the license is automatically returned to the license server so that other client computers may use it.
Use of software can be denied or allowed based on software licensing configuration and the license availability.
If the software is running on the client computer but is not in use, the Software Metering Client Agent can create an alert so that the administrator can take action, either ask the user to shut down the application, or forcibly shut down the application so that the license is available to other users.
The metering agent operating on Windows NT/2000 client computers is LICCLINT.EXE. The metering agent operating on Windows 95/98 client computers is LICCLI95.EXE.
Software metering is independent of the software inventory features in SMS.
Once the Software Metering Client Agent is enabled, the use of all software applications is tracked for reporting purposes. Data is sent from the client computer to the software metering server and stored in the software metering database. The list of licensed software is managed from the Software Metering application below the Tools node in the SMS Administrator console. By default, the Software Metering application contains an unlicensed programs entry. If an application is not excluded through the Software Metering application, it is included by default as an unlicensed program. This is how the use of all software applications is automatically tracked once the Software Metering Client Agent is active. In order to actually control access to an application, the Software Metering Client Agent must be configured to force real-time verification, and the application must be added to the list of licensed software.
If real-time license verification is enforced, then, when any application is started, the client agent checks with a software metering server to see if this application can be run. If it can, the application runs normally. If there are no available licenses, the application may appear briefly on the client computer, but will then stop before the user is presented with a dialog box explaining that the application is out of licenses. At the user's request, the software metering server issues a callback when a license becomes available.
In a network running multiple license servers, the License Metering thread running on the site server analyzes the application usage trends and automatically distributes licenses to the software metering servers in a site. The number of licenses allocated by the site server to each license server is adjusted depending on the client computer requests made of each license server. Intersite license balancing is also the responsibility of the License Metering thread.