Sun WorkShop Installation and Licensing Reference

Chapter 1 License Server Configurations for Floating Licenses

There are three license server configurations for floating licenses where developers can access licensed software simultaneously over the network through FLEXlm license manager software.

The following is one way of comparing the three license server configurations:

Single Independent Server Configuration

The single independent server configuration suits companies where the developer machines, license server, and application server are fairly close together on the network. This configuration is the default and the easiest to install and maintain.

Figure 1-1 shows how a single independent server configuration works.

Figure 1-1 Process for Getting a License With a Single Independent License Server

Graphic

This is the process for getting a license with a single license server:

  1. A C++ developer wants to recompile a program. The developer is working from a desktop machine envoy. The developer mounts a copy of the Sun(TM) Visual WorkShop(TM) C++ from the machine tools. There is one license server lic1 on the network that manages the ten rights to use (RTUs) the department purchased.

  2. When the developer starts a compile of a program, Sun Visual WorkShop C++ on tools sends a request to lic1 for a license token. If lic1 has a token available, then the request is granted, and the compile completes.

  3. If all ten tokens are in use by other developers in the group, the developer is automatically put in a queue and will be granted the first available token released by another user.

Example: Single Independent Server

Company A is a small business developing scientific applications. There are 10 Sun workstations running the latest release of the Solaris operating environment with six RTUs for Sun(TM) WorkShop Professional(TM) C. Since Company A's resources are limited, the company is having the NFS(TM) server sampson act as both the license server and the application server. The NFS server is a file server everyone uses as a common work area. Figure 1-2 illustrates Company A's network.

Figure 1-2 Using an NFS Server as a License Server

Graphic

The machine sampson was picked to serve Company A's license tokens because it is a reliable machine that is neither upgraded nor rebooted frequently. Company A recognizes that any trouble with sampson would be noticed immediately since the common development area is stored there.

Example: Multiplatform Environment

Company B develops video games for the Solaris operating environment. A developer decided to port Company B's code to the Solaris Intel Platform Edition operating environment. Company B purchased a Pentium computer and Sun Visual WorkShop C++. The developer installed Sun Visual WorkShop C++ locally on an x86 machine, added license passwords to the existing SPARC license server delight, and was ready to recompile. Figure 1-3 illustrates Company B's network.

Figure 1-3 Using an x86 Application Server and a SPARC License Server

Graphic

Multiple Independent Server Configuration

You can use two or more independent servers in a multiple independent server configuration where users can obtain a license token from any one of the servers. This scenario is most common for medium-to-large software development environments distributed over a network. Distributing the total number of license tokens purchased among multiple license servers increases the likelihood that some license tokens will always be available. As with single independent license servers, any license tokens served by computers that are offline are unavailable until those machines are returned to the network.

By placing license servers strategically throughout your network in a multiple independent server configuration, you maximize the responsiveness of license requests and minimize the administrative overhead. For example, you could buy 100 RTUs and distribute them over 10 independent servers with 10 license tokens each.

Figure 1-4 shows how a multiple independent server configuration works.

Figure 1-4 Process for Getting a License With Multiple Independent License Servers

Graphic

This is the process for getting a license with multiple independent license servers:

  1. A C++ developer is trying to recompile a program working from a desktop machine envoy. The developer has mounted a copy of Sun Visual WorkShop C++ from the machine tools. Two license servers, lic2 and lic3, have been put in service on the network in addition to the default server lic1. Each license server has ten license tokens.

  2. When the developer starts a compile of a program, Sun Visual WorkShop C++ on tools sends a request to lic1 for a license token. If lic1 has a token available, then the request is granted, and the compile completes.

  3. If all ten license tokens on lic1 are in use by other developers in the group, tools automatically looks for a token on lic2 and, if that fails, lic3. If the developer still cannot get a token, the developer's request will be queued on lic1, where the developer will get the first available token.

Example: Multiple Independent Server Configuration

Company C is a financial services broker. It is essential that at least some of its Sun WorkShop Professional C license tokens always be available. In addition, Company C purchased Sun(TM) WorkShop(TM) TeamWare and Sun Visual WorkShop C++. There are three large servers, bull, bear, and crash, which will be license servers among their other duties, and two other servers, dollars and cents, which will be application servers.

Figure 1-5 illustrates Company C's network.

Figure 1-5 Multiple Independent License Servers Supporting Two Application Servers

Graphic

By splitting its license tokens between bull, bear, and crash, Company C maximizes the chances that some Sun WorkShop Professional C tokens will always be available. If a license server is unavailable, Company C has also taken the precaution of putting the three license servers on different subnets. Company C considered a redundant server configuration (see "Redundant Servers") but preferred a multiple independent server configuration because the company would rather have some license tokens at all times rather than all tokens most of the time.

To set up the multiple independent license server pool described in this example (where a user will check several license servers as necessary to find an available license token), the system administrator for Company C would follow these steps:

  1. Fill out the License Request Form.

    The system administrator needs to complete a separate License Request Form for each license server. Instructions for filling out the License Request Form and contacting the Sun License Center are in Chapter 2 of Sun WorkShop Quick Install.

    You will receive a separate license file from the Sun License Center for each licensed product.

  2. Install Sun WorkShop Professional C and Sun WorkShop TeamWare on the application server cents.

    Installation instructions are in Chapter 3 of Sun WorkShop Quick Install.

  3. Install Sun WorkShop Professional C and Sun Visual WorkShop C++ on the application server dollars.

  4. Install FLEXlm license manager software on the license server bull.

    Installation instructions are in Chapter 3 of Sun WorkShop Quick Install.

  5. Install the licenses for Sun WorkShop Professional C on the license server bull.

    Instructions are in Chapter 4 of Sun WorkShop Quick Install.

    The script /etc/opt/licenses/LIC_CONFIG_SCRIPT will make an elementary license file for these licenses when you copy and run the script on an application server. For more information about elementary license files, see Chapter 2, License Management.

  6. Rename LIC_CONFIG_SCRIPT to LIC_CONFIG_SCRIPT.prof-c.bull (see the mv man page for more information about renaming files).

  7. Install the licenses for Sun Visual WorkShop C++ on the license server bull.

  8. Rename LIC_CONFIG_SCRIPT to LIC_CONFIG_SCRIPT.vws.bull.

  9. Install FLEXlm license manager software on the license server bear.

  10. Install the licenses for Sun WorkShop Professional C on the license server bear.

  11. Rename LIC_CONFIG_SCRIPT to LIC_CONFIG_SCRIPT.prof-c.bear.

  12. Install the licenses for Sun WorkShop TeamWare on the license server bear.

  13. Rename LIC_CONFIG_SCRIPT to LIC_CONFIG_SCRIPT.tw.bear.

  14. Install FLEXlm license manager software on the license server crash.

  15. Install the licenses for Sun WorkShop Professional C on the license server crash.

  16. Rename LIC_CONFIG_SCRIPT to LIC_CONFIG_SCRIPT.prof-c.crash.

  17. Install the licenses for Sun Visual WorkShop C++ on the license server crash.

  18. Rename LIC_CONFIG_SCRIPT to LIC_CONFIG_SCRIPT.vws.crash.

  19. Copy and run LIC_CONFIG_SCRIPT.prof-c.bull and LIC_CONFIG_SCRIPT.vws.bull on dollars.

    Because the application server dollars is closest to the license server bull, the system administrator might want the users on dollars to check license servers for tokens in this order: bull, bear, and then crash.


    Note -

    The application software will check the oldest elementary license file first, so it is important to copy and run the LIC_CONFIG_SCRIPT scripts in the order the application software should check the license servers for tokens.


  20. Copy and run LIC_CONFIG_SCRIPT.prof-c.bear on dollars.

  21. Copy and run LIC_CONFIG_SCRIPT.prof-c.crash and LIC_CONFIG_SCRIPT.vws.crash on dollars.

    On dollars, there will now be three elementary license files: sunpro.lic,1 (information about licenses on bull), sunpro.lic,2 (information about licenses on bear), and sunpro.lic,3 (information about licenses on crash). For more information about elementary license files, see Chapter 2, License Management.

  22. Copy and run LIC_CONFIG_SCRIPT.prof-c.crash on cents.

    Because the application server cents is closest to the license server crash, the system administrator might want the users on cents to check license servers for tokens in this order: crash, bear, and then bull.

  23. Copy and run LIC_CONFIG_SCRIPT.prof-c.bear and LIC_CONFIG_SCRIPT.tw.bear on cents.

  24. Copy and run LIC_CONFIG_SCRIPT.prof-c.bull on cents.

    On cents, there will now be three elementary license files: sunpro.lic,1 (information about licenses on crash), sunpro.lic,2 (information about licenses on bear), and sunpro.lic,3 (information about licenses on bull).

    The multiple independent license server pool is now ready.

Redundant Servers

A redundant server configuration enables you to have three servers managing the same set of license tokens acting as one logical server. This configuration requires that two redundant license servers be operative and able to contact each other. If two redundant license servers are not operative, none of the license tokens will be available. A three-server configuration requires that two servers be available for any tokens to be available. The main advantage of redundant servers is an increased likelihood that if any tokens are available, then all tokens are available. The cost is additional administration.

One of the redundant servers is the master server, the server that issues license tokens and has a heavier processing load. If the master server becomes unavailable, then the next available peer in the configuration becomes the master server.

Figure 1-6 shows the process for getting a license in a redundant server configuration.

Figure 1-6 Process for Getting a License With Redundant License Servers

Graphic

This is the process for getting a license with redundant license servers:

  1. A C++ developer is trying to recompile a program from a desktop machine envoy. The developer has mounted a copy of Sun Visual WorkShop C++ from the machine tools. The developer's system administrator has set up a redundant server configuration on the network: lic1 is the master server, and lic2 and lic3 are alternate servers. The redundant server configuration brokers the 30 license tokens the group purchased.

  2. When the developer starts a compile of a program, Sun Visual WorkShop C++ mounted from tools sends a request to lic1 for a license token. The server lic1 first checks for the presence of lic2. If lic2 is not found, then it looks for lic3. If either lic2 or lic3 is found and a license token is available, then the request is granted, and the compile completes.

  3. If all 30 license tokens are in use by other developers in the group, the developer would be put in a queue to get the first available license token. If lic1 cannot find either lic2 or lic3 (if both machines were down for repairs), no license tokens would be available. If lic1 is down but lic2 and lic3 are functional, all license tokens are available.