SGI Techpubs Library

IRIX 6.2  »  Books  »  Administrative  »  
Network License System Administration Guide
(document number: 007-2115-002 / published: 1993-09-07)    table of contents  |  additional info  |  download
find in page

Chapter 1. NetLS Concepts

NetLS is a software licensing system used by Silicon Graphics and other software vendors. This chapter briefly explains key concepts that users of licensed products may need to understand to install and use licensed products. The sections in this chapter are:

What Is a License?

A NetLS software license is a collection of information that includes at least a license password and a vendor ID. This information authorizes the use of a licensed software product for a period of time (days or years) on a particular number of systems (workstations or servers) at any one time. In some cases, the use of the licensed software product is restricted to a particular system.

“License information sheets” are used to distribute license information. The license information sheet is a label affixed to the product packaging, a sheet of paper that was included with the product, a sheet of paper you receive after receiving the product, a FAX message, or an electronic mail message.

License information sheets include some or all of this information:

vendor name 

The name of the company that manufactures the licensed software product.

vendor ID 

A 36-character string. Each vendor has a unique vendor identification string that is the same for all of its products.

vendor password 


A 13-character password.

license type 

The type of license: concurrent (concurrent access) or node-locked. The license types are explained in “License Types” in this chapter.

product name 

The name of the licensed software product.

product version 


A version string for the product. This version number (or string) may or may not match the version or release number of the licensed software product.

license password 


A password string that authorizes the use of the licensed software product. This string contains encoded information such as the time period in which the product can be used, the maximum number of simultaneous users, and the system that the license is to be installed on.

license annotation 


A text string containing additional authorization information.

start date 

The date on which the license becomes valid.

duration 

The length of time the license is valid.

expiration date 

The date on which the license becomes invalid.

number of nodes 


The number of systems that can be running the licensed software concurrently.

target type 

The authorized operating system, for example “Irix”.

target number 

A unique hexadecimal system identification number for the system that this license is to be installed on. To get the target number for a system, give the ls_targetid(1M) command.

sysinfo number 


A unique decimal system identification number for the system that this license is to be installed on. To get the sysinfo number for a system, give the sysinfo(1) command with the –s option.

serial number 

A unique system identification number for the system that this license is to be installed on. It is usually printed on a bar-code label that is attached to the system.

License Types

NetLS has two types of license. A license is either a “node-locked” license or a “concurrent” license. Each license information sheet lists the license type. The next two sections describe these two types of license.

Node-locked Licenses

A node-locked license (also known as a “fixed” license or a “CPU lock” license) enables a licensed application to run on the system (workstation or server) where the node-locked license is installed. Typically, a node-locked license is created for a specific system.

Installing a node-locked license is simple: a vendor ID and a license password are entered in the file /var/netls/nodelock (/usr/netls/nodelock in IRIX Release 5.0 and earlier). After that, the licensed product can run on the system with the nodelock file. Installing a node-locked license is explained in Chapter 3, “Installing Node-locked Licenses.”

Typically, a node-locked licensed product can be used simultaneously by multiple users on the licensed system.

Concurrent Licenses

A concurrent license (also known as a “concurrent access” or “floating” license) enables licensed applications to run on any system on the network. A concurrent license limits the maximum number of systems simultaneously executing the product. For example, if the number of nodes listed for a concurrent license is five, then users on no more than five systems on the network can be running the licensed product at any one time. Typically, a concurrent license is created for a specific system. This is the system where the license must be installed.

Installing a concurrent license is more complicated than installing a node-locked license. The network must have one or more systems set up as Global Location Brokers. In addition, the system that is listed on the license information sheet must be set up as a Network License Server (these terms are defined in “System Roles for Concurrent Licensing” in this chapter). The concurrent license can then be installed on the system using the ls_admin(1M) command. These procedures are explained in Chapter 4, “Setting Up Global Location Brokers and Network License Servers,” and Chapter 5, “Installing Concurrent Licenses.”

With NetLS, the effect of a site license is achieved by installing concurrent licenses equal to the number of systems at the site.

License Durations

When licenses are created, they are created with an expiration date. If the expiration date is within a few months, the license is called a “temporary” license. If it is longer than a few months, it is called a “permanent” license. The next two sections describe temporary and permanent licenses in more detail.

Temporary Licenses

Temporary licenses (also known as provisional licenses) expire in a relatively short period of time, typically four months or less. Some temporary licenses can be used on any system and some can be used only on a specific system. Temporary licenses are sometimes included with new software so that the software can be used immediately. When a license is included with new software, license information appears on a label that is affixed to a Software License Registration card. Temporary licenses are also issued for demonstration software and in various emergency situations.

When a temporary license is due to expire soon, some applications display a notifier to remind you that the software will be inoperable in a short time. To replace a temporary license with a permanent license, contact Silicon Graphics or your local service provider (see “Completing the Software License Registration Card” in Chapter 2).

Permanent Licenses

Permanent licenses expire in a very long time, often in the year 2038. Once you have a permanent license, you may or may not need a new license when you update the software product to a new version. The release notes included with the software update explain whether a new license is needed or not.

When possible, licensed products are shipped with a permanent license. The information for the permanent license is on a label on the outside of a hardware or software shipping box, or it is on a sheet of paper in an envelope that is labeled READ ME FIRST. If you receive both a permanent license and a temporary license, install the permanent license and do nothing with the temporary license.

Since permanent licenses (node-locked and concurrent) are usually tied to a system's target or sysinfo system identification number, you need a replacement license tied to the new system identification number when you move a node-locked product to a different system, when you move concurrent licenses from one Network License Server to another, or when the system identification number of a system that has licenses installed on it changes.

System Roles for Concurrent Licensing

When concurrent licensing is used, license information is often stored on a different system from the one where the licensed product is installed and used. The system with the license information is called a Network License Server.

At least one system on the network must serve as a Global Location Broker when concurrent licensing is used. Global Location Brokers maintain a database containing the locations of Network License Servers and the product vendors for the licenses on each Network License Server.

The roles of Network License Servers and Global Location Brokers are explained in more detail in the next two sections.

Global Location Brokers

Any network that is using concurrent licenses must have at least one system that is configured as a Global Location Broker. Global Location Brokers run the daemons glbd(1M) and llbd(1M).

Each Global Location Broker maintains a database in the file /usr/etc/ncs/glb.e. This database, known as the GLB database, contains the addresses of Network License Servers and a list of the vendors that have products at each one.

Once one system on a network is configured as a Global Location Broker, other Global Location Brokers must be started up in a way that enables them to communicate with each other and share database update information. This enables the Global Location Brokers to maintain identical GLB databases. Global Location Brokers whose GLB databases are set up to be identical are known as “replicas.”

In a large multi-segment network, multiple network segments are joined by routers, or gateways. One example of a router is a system that has two Ethernet® interfaces. In this type of network, at least one Global Location Broker should run on each network segment where licensed applications are run.

Network License Servers

On a network that is using concurrent licenses, there must be at least one system that is a Network License Server. A system is a Network License Server if it has the daemons netlsd(1M) and llbd running. Concurrent licenses are installed on Network License Servers.

Each Network License Server maintains its own license database called the Concurrent License database in the file /var/netls/lic_db (/usr/netls/lic_db in IRIX Release 5.0 and earlier). This database contains the concurrent licenses belonging to that server, along with information needed to process license requests from users.

License Groups for Concurrent Licensing

A license group (called a cell in other implementations of NetLS) is a set of systems that use a set of Global Location Brokers and Network License Servers. A licensed application running on a system that is part of a license group requests licenses only from Network License Servers that belong to its license group.

All systems in a license group have identical UUID (Unique Universal Identifier) values in a glb_obj.txt file. On systems running IRIX Release 5.0.1 or later, the file is /var/ncs/glb_obj.txt. On systems running IRIX Release 5.0 or earlier, the file is /usr/etc/ncs/glb_obj.txt.

Systems on a network can be divided into one or more license groups and systems on different segments of a multi-segment network can belong to the same license group, but each system can belong to only one license group. Systems belonging to a license group get licenses only from Network License Servers in the license group, and the Network License Servers in a license group do not give licenses to systems outside of the license group. Global Location Brokers and Network License Servers in a license group don't respond to license requests from systems that are not in the license group.

Network License System Operation

When a licensed application starts up, it first checks to see if the file /var/netls/nodelock (/usr/netls/nodelock for some applications) exists and there is a valid entry for the application. If the nodelock file the application is looking for, /var/netls/nodelock or /usr/netls/nodelock, doesn't exist or there is no valid entry in the file for the application, then the application attempts to run using a concurrent license.

Figure 1-1 shows the events that take place when a user invokes licensed software using a node-locked license. When the application starts up, it checks the file /var/netls/nodelock or /usr/netls/nodelock to see if there is a valid license for the product. If there is a valid license, the application runs.

Figure 1-1. Node-locked License Operation


Figure 1-2 shows the events that take place when an application uses a concurrent license and license groups are not used. When the application starts up, it broadcasts to find a Global Location Broker (1). The Global Location Broker looks into its database to find the locations of Network License Servers with licenses for the vendor (2, 3) and returns the list to the application (4). The application gets the address of a Network License Server from the list and uses it to contact a Network License Server (5). The Network License Server consults its database for available licenses (6,7). If a license is available, it is granted to the application (8). When the user exits the application, the application releases the license.

Figure 1-2. Concurrent License Operation


Guidelines for Global Location Brokers and Network License Servers

Use these guidelines to choose systems to be Global Location Brokers and Network License Servers.

  • When a concurrent license has been created for a specific system, that system must be a Network License Server. The system is listed on the license information sheet; the target, sysinfo, and/or serial number items identify it.

  • The system(s) that you choose for Global Location Brokers and Network License Servers should be stable; they should not be systems that are frequently taken down or unavailable. Good choices are systems that are already designated “server” systems within the network.

  • Systems that are Global Location Brokers and/or Network License Servers must be able to communicate with each other using TCP/IP. They must be able to communicate with systems running licensed applications using TCP/IP as well. The ping(1M) command can be used to verify that systems can communicate.

  • If a license group isn't used, each system that will run concurrent licensed applications must be able to broadcast and find a Global Location Broker. Typically, broadcasts don't go across routers, so each network segment where licensed applications are run on a multi-segment network should have at least one Global Location Broker.

  • At least one system on a network segment (one system in a license group when a license group is used) must be a Global Location Broker. If the only system that is a Global Location Broker is shut down, then no users on that network can use licensed applications until that system is brought back up or another system is set up as a Global Location Broker. For this reason, it is recommended that more than one system be set up as a Global Location Broker.

  • To avoid a situation in which an unavailable Network License Server or a local networking failure entirely disables user access to a product, there should be two or more Network License Servers. For example, instead of obtaining a license that supports 15 concurrent users and installing it on one Network License Server, obtain three licenses for five concurrent users each and install each license on a different Network License Server. The total number of concurrent users is the same, but now, if a Network License Server becomes unavailable, there are still two Network License Servers that can grant permission for ten concurrent users.

  • A single system can be both a Global Location Broker and a Network License Server. It can also run licensed applications. System administration is easier when a single system is both a Global Location Broker and a Network License Server.

  • Diskless systems should not be Global Location Brokers or Network License Servers.

  • In an environment where systems are managed by separate administrators, creating license groups results in a more robust NetLS environment because there is less chance of interference from Global Location Brokers whose databases are not replicas.

The next two sections show examples of NetLS configurations that don't use license groups. A third section shows an example NetLS configuration that uses a license group. Each section explains which systems have access to concurrent licenses under normal circumstances and in the event of the failure of a system or the network.

Simple Network Example

Figure 1-3 shows an example of a small network: five systems on an Ethernet. System C has been set up as a Global Location Broker and a Network License Server. If a license for four nodes (the number of nodes that can use the product concurrently is on the license information sheet) for CASEVision™/Workshop is installed on system C, then any number of users on as many as four systems on this network can use Workshop simultaneously.

Figure 1-3. Simple Network Example, Minimum Configuration


If system C becomes unavailable to other systems on the network (for example, it is experiencing a hardware problem or new software is being installed from the miniroot), no users on the network can use Workshop.

Figure 1-4 shows a better setup for this small network example. Systems C and E are Global Location Brokers and Network License Servers. Instead of one license for four nodes for Workshop, two licenses, one for system C and the other for system E, are used. Each of these licenses supports users on two nodes concurrently. The number of systems on the network that can use Workshop concurrently and the software cost are the same as the Figure 1-3 situation, but now, the effect of an unavailable system C is different. If system C becomes unavailable, system E can make Workshop available to two systems.

Figure 1-4. Simple Network Example, Better Configuration


Multi-segment Network Example

An example multi-segment network, two network segments connected by a system serving as a router (gateway), is shown in Figure 1-5. System F has two Ethernet interfaces and serves as the router. A Workshop license for four nodes is installed on system C. Users on systems G through J can use Workshop because system H is a Global Location Broker. To illustrate how this works, say that a user on system J invokes Workshop. Workshop broadcasts to find a Global Location Broker. This broadcast reaches only systems on the same network: systems F through J. System H responds and returns a list of the Network License Servers with a Workshop license to system J (in this case, the list contains just system C). System J can then contact system C to request permission to run Workshop.

In the configuration in Figure 1-5, if system C becomes unavailable, then no users can use Workshop. If system F becomes unavailable or either of F's network connections goes down, then only users on systems A through E can use Workshop. If system H becomes unavailable, only users on systems A through F can use Workshop (systems G, I, and J can't reach a Global Location Broker).

Figure 1-5. Multi-segment Network Example, Minimum Configuration


Figure 1-6 shows a better configuration for the example in Figure 1-5. In this configuration, system H has become a Network License Server as well as a Global Location Broker. System F has become a Global Location Broker and a Network License Server. Licenses for four nodes are split this way: one node each for systems C and H, and two nodes for system F.

Figure 1-6. Multi-segment Network Example, Better Configuration


When all systems are available, users on all systems have access to all licenses. If system C becomes unavailable, the remaining systems have access to the two remaining licenses (maximum three concurrent nodes). If systems C and H are available, but system F is not, just one system on each network can be using Workshop at a time. For example, a user on system A has access only to the license on system C because the license on system F is unavailable. Because system F is unavailable, there is no connection to the other network and to system H's license.

License Group Example

Figure 1-7 shows an example of a multi-segment network where a license group is used. Systems A, C, F, and H each have identical glb_obj.txt files (/var/ncs/glb_obj.txt on systems running IRIX Release 5.0.1 or later and /usr/etc/ncs/glb_obj.txt on systems running IRIX Release 5.0 or earlier). System C is a Network License Server and a Global Location Broker for the license group. It has a concurrent Workshop license for two nodes, so any two of the systems A, C, F, and H can be running Workshop at any one time.

Because systems A, C, F, and H are a license group and this license group has the only Global Location Broker and Network License Server on the network, users on the remaining systems in this network cannot use Workshop, even if there are available licenses.

Figure 1-7. License Group Example


Required Software, Configuration Flags, and Daemons

For quick reference, Table 1-1 and Table 1-2 show the software that must be installed, the chkconfig(1M) flags that must be set to “on,” and the daemons that must be running for each type of system in a NetLS environment. Table 1-1 is for products with node-locked licenses and Table 1-2 is for products that have concurrent licenses.

Table 1-1. Required Software for Node-locked Licenses

IRIX Releases

System Role

Required Software

Chkconfig Flag Settings

Required Daemons

5.0.1 and later

Running licensed application

Licensed application,
netls_eoe.sw.netls_eoe

none

none

5.0 and earlier

Running licensed application

Licensed application

none

none


Table 1-2. Required Software, Configuration Flags, and Daemons for Concurrent Licenses

IRIX Releases

System Role

Required Software

Chkconfig Flag Settings

Required Daemons

5.0.1 and later

Global Location Broker

netls_eoe.sw.netls_eoe

glb on
llb on
network on

glbd
llbd

 

Network License Server

netls_eoe.sw.netls_eoe

netls on
llb on
network on

netlsd
llbd

 

Running licensed application

Licensed application

network on

none

5.0 and earlier

Global Location Broker

nck.sw.nck

glb on
llb on
network on

glbd
llbd

 

Network License Server

netls_eoe.sw.netls_eoe, nck.sw.nck

netls on
llb on
network on

netlsd
llbd

 

Running licensed application

Licensed application

network on

none

The Global Location Broker and Network License Server daemons don't work correctly if they are started up in an incorrect order. Follow these guidelines to start up daemons in the correct order:

  • There should be at least one Global Location Broker (running llbd and glbd) on a network before netlsd is started.

  • llbd should be started on a system before glbd is started on that system.

  • llbd should always be started on a system before netlsd is started on that system.

Complete instructions for setting up Global Location Brokers and Network License Servers and for installing licenses are in Chapter 4, “Setting Up Global Location Brokers and Network License Servers,” and Chapter 5, “Installing Concurrent Licenses.”

Network License System Administration Guide
(document number: 007-2115-002 / published: 1993-09-07)    table of contents  |  additional info  |  download

    Front Matter
    About This Guide
    Chapter 1. NetLS Concepts
    Chapter 2. The Licensing Process
    Chapter 3. Installing Node-locked Licenses
    Chapter 4. Setting Up Global Location Brokers and Network License Servers
    Chapter 5. Installing Concurrent Licenses
    Chapter 6. License Administration Tasks
    Chapter 7. Global Location Broker and Network License Server Administration Tasks
    Chapter 8. Error Messages
    Chapter 9. Troubleshooting
    Appendix A. NetLS Files
    Glossary
    Index


home/search | what's new | help