DO YOU KNOW how many servers and applications your IS organization supports? Do you have accurate records of paid client licenses, and do you monitor client access to your software? You need to be aware that software copyright violations carry a maximum civil penalty of $100,000 and a maximum criminal penalty of $250,000. Any user who makes, acquires, or uses unauthorized copies of software can incur these penalties. A user's cavalier attitude toward sharing software can result in serious legal consequences for your enterprise.
The best way to protect your organization is to keep employees informed of the liabilities associated with illegal or unlicensed copies of software. You need to create and distribute a corporate software policy that contains employee guidelines for using software inhouse and on the Internet. The Software Publishers Association provides a sample software usage policy template on its Anti-Piracy Web site at http://www.spa.org/piracy/empguide.htm.
In addition to educating employees, you must track and monitor software access across your enterprise. License Manager is a native Windows NT Server tool that helps you monitor server and client licenses for NT, Microsoft BackOffice products, and other license-aware applications. To start License Manager, select Programs, Administrative Tools, License Manager from the Start menu. You can view license information four ways: by purchase history, by product, by client, or by server. Screen 1 shows License Manager's server view. Within each License Manager tab, double-click or right-click an entry to see detailed licensing information.
When you install license-aware software, you must select one of two client-licensing modes: per-server or per-seat. (For help deciding which licensing mode to choose, see Glenn Grant, Scott Weppler, and Microsoft's Enterprise Systems Support Domain Specialty Team, "Domain Troubleshooting and Planning," August 1996.) When you install NT or Microsoft Exchange Server, you must specify per-server or per-seat licensing for each product. Regardless of which licensing mode you select, you must enter license information in License Manager's purchase history section each time you purchase a new product or additional licenses.
License Manager uses the purchase history to track legal and illegal client usage in both licensing modes. When the number of client connections License Manager records exceeds the number in the purchase history, License Manager notes the unlicensed access in its Clients section and in the Application event log.
Per-server licensing. When you select the per-server mode, you establish the maximum number of clients that can simultaneously connect to one server running a product or application (e.g., NT, Exchange Server). Per-server connections are on a first-come, first-served basis. As a safeguard, administrators can always connect to a server, even when the server reaches the maximum number of licensed client connections.
The per-server mode is a holdover from when servers hosted file and print services. This mode is most appropriate when one server hosts an application that a subset of users requires (e.g., a department-specific application). When you have enough licenses, users connect to servers on demand. If user demand exceeds the number of licenses, NT and license-aware applications can refuse new connections. When a product denies a connection, the product typically writes an error message to the Application log, stating that you've reached the maximum number of connections.
You check unlicensed client access on the Clients tab of License Manager. When the demand exceeds the maximum number of concurrent connections, you can purchase additional server licenses or switch to per-seat mode. You can switch between licensing modes only once. To see which licensing mode a server is running, use the Licensing applet in Control Panel.
Per-seat licensing. The per-seat mode is more common than the per-server mode. When you choose the per-seat option, you must purchase one server license for each NT or BackOffice product and one client license for every computer that connects to the application or server. The per-seat option lets all the network computers access all the servers, and the number of concurrent users on a server is irrelevant. Because the license is machine-specific, anyone who uses the computer can access the network.
You can purchase NT with as many per-seat licenses as you need. When you add other BackOffice products to your enterprise, you need a per-seat client license for each product your users will access. For example, when you install Exchange Server, every system that accesses email must have an NT per-seat license and an Exchange Server per-seat license. At approximately $35 per license, this cost is $70 per client. When your users require access to three or more BackOffice products, purchasing an all-inclusive BackOffice client license is more cost-effective than purchasing client licenses for each application.
The Master License Server
The master license server maintains the enterprise version of the License Manager database, which includes license information from all NT servers on the network. By default, the Primary Domain Controller (PDC) functions as the master license server in an NT domain. If you don't want the central license repository on the PDC, you can move it to another server on the network.
To designate a different master license server, start License Manager and select the Server Browser tab. Select the domain (if you have more than one), highlight the first NT server, right-click it, select Properties, and click the Replication tab.
As Screen 2 shows, the master server defaults to the domain controller. If you want license data to replicate to a server that isn't a domain controller, select Enterprise Server and enter the server name. You must perform this modification for all NT servers in the domain to ensure they replicate license data to the same system. Otherwise, some machines will replicate to the PDC, and others will replicate to the new master server.
By default, NT servers report license information to the master license server every 24 hours, as Screen 2 shows. You can define the time of day and frequency for NT systems to replicate license information. If you want replication to occur more often (e.g., several times a day) or less often (e.g., once a week), you can modify the replication interval in the Registry. The key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ LicenseService\Parameters\ReplicationTime defines the license-replication interval in seconds. This setting is machine-specific.
License Manager Data Files
When you install NT, the License service creates three files in the system root directory to track license information. %systemroot%\system32\cpl.cfg contains the purchase history. %systemroot%\system32\lls\llsuser.lls contains user-specific connection data. %systemroot%\system32\lls\llsmap.lls contains license group information.
License Manager is a simple tool. After a client connects, License Manager retains the client's license data permanently, even if you rename or remove the client. Suppose you have a workstation called Test. When you log on to the network from Test, License Manager registers a client license for Test in per-seat mode. If you rename the machine to Lab1, License Manager issues another license for Lab1 when you log on again. Thus, you have two client licenses for one system. If the second license is the last per-seat license your network has available for that application or NT server, you'll get a license violation warning the next time you add a system to the network. To prevent this type of scenario, you need to remove old client licenses.
Removing Old Client Licenses
To find license duplicates and out-of-date clients for a particular product, select License Manager's Products View tab and double-click the product (e.g., Windows NT Server). In that application's Properties box, select the Clients tab to see a list of all the clients that have accessed the product, as Screen 3 shows. The easiest way to identify old clients is to sort the Last Date Used column from oldest to newest.
When you recognize a machine you've renamed or removed, double-click the entry to display the products the client has accessed. To remove the client license, select the product and click Revoke. This action removes the entry from llsuser.lls and decreases the client count for that product on the Products View.
Removing Old Applications and Servers
License Manager tracks license-aware applications and servers the same way it tracks clients: It doesn't update the database when you rename applications or servers or when you remove them from the network. Thus, the database can easily get out of sync during a major upgrade. In addition, you introduce problems if you enter bogus purchase records to temporarily solve a connection problem.
If you have thousands of users at your site, employing a manual correction process is cumbersome at best. The easiest way to clear the client and server database is to delete the llsuser.lls data file. In fact, you can reset all or a portion of the license database on one server by deleting the file that contains the incorrect information. To clean up the database, stop the License Logging service. Then, move, rename, or delete the file with the data you need to reenter or rebuild. Finally, restart the service.
You can stop and start the License Logging service in the Services applet of Control Panel or from the command line. To stop the service from the command line, enter
net stop license logging service
To clear the client and server connections that contain references to servers you've renamed or removed, delete llsuser.lls. To clear the purchase history, delete cpl.cfg. To reset license group information, delete llsmap.lls. You can delete one or all of the License Manager data files depending on the cleanup required. After you restart the License Logging service, you can enter the correct purchase history and wait for clients to register as they connect to the network. For more information about removing old applications and servers, see the Microsoft articles "Removing Deleted or Renamed Servers from License Manager," at http://support.microsoft.com/support/kb/articles/q153/1/39.asp, and "How to Reset License Manager Information," at http://support.microsoft.com/support/kb/articles/q153/1/40.asp.
Updating Enterprise Licenses
Updating license information on a network with multiple servers is tedious and time-consuming. You must repeat the process on every system to prevent your updated server from picking up incorrect replicated data from other servers. You can automate the reset with a batch file and three Microsoft Windows NT 4.0 Resource Kit utilities—netdom.exe, netsvc.exe, and reg.exe. Netdom enumerates domain controllers by name Netsvc stops network services and Reg writes data into the Registry.
The Microsoft article "How to Reset License Manager Throughout an Enterprise," at http://support.microsoft.com/support/kb/ articles/q194/0/65.asp, contains sample scripts that enumerate domain controllers, stop the service, delete the appropriate files, start the service, and queue a request for immediate replication with the master license server. To initiate the replication trigger, edit the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ LicenseService\Parameters\ ReplicationTime Registry key. Change the value to 300 seconds (5 minutes). To prevent license replication from occurring every 5 minutes, run the final sample script from the Microsoft article to reset the interval to 86,400 seconds (24 hours).
Getting Your Ducks in a Row
License Manager isn't an enterprise-quality license-management tool. (For information about two more-robust license-management products, see Carlos Bernal, "Express Meter 3.5 and CentaMeter 2.7," May 1997.) However, License Manager is useful if it's the only tool available. Understanding the difference between the per-server and per-seat licensing modes and updating your databases are the first steps toward licensing compliance. Educating employees will further ensure that your organization doesn't receive a hefty license-violation fine