Manifold System License Server

All Manifold licenses are licensed and copy protected using one of two mechanisms:

 

·      Standalone licenses, authorized using a Serial number and Activation keys that locks each license to a single computer system. This is similar to how Microsoft Word and other such applications are typically licensed. Manifold licenses acquired in small quantities or acquired for use on portable devices use this mechanism. If you have not acquired a Manifold System License Server product you should turn to the Activation Keys and Serial Numbers topic for a discussion of serial numbers and activation for your license.

·      Floating licenses, authorized using a Manifold License Server. Manifold licenses acquired in larger quantities will frequently use this mechanism, which requires licensing of the Manifold System License Server product.

 

The rest of this topic discusses the Manifold System License Server.

 

Note: All License Server licenses are x64 licenses, which can operate either in 32-bit or 64-bit Windows systems. Please read the 32-bit and 64-bit Manifold Editions topic for information on 32-bit and 64-bit installations of 64-bit Manifold licenses.

 

License Server Overview

 

The Manifold System License Server product gives organizations the ability to maintain an inventory of floating Manifold licenses that may be used by any client computer that can connect to the License Server, all without needing to use serial numbers and Activation keys for individual client licenses.

 

License Server offers organizations several key benefits:

 

·      Fast and easy deployment - IT managers can deploy Manifold using standard automated deployment tools with no need to individually activate each machine.

·      Security for license rights - Serial numbers need not be handled at individual client machines, thus providing greater protection against theft of license rights. The master serial number authorizing License Server rights need not be shared outside the trusted group of IT managers.

·      Fewer licenses required - Fewer licenses need be procured because only the maximum number of licenses that will be used at any given time need be acquired. Licenses need not be acquired for individual machines just against the chance that someone will need to use Manifold on that machine.

·      More efficient use of different Manifold editions - License servers make it easy to have a range of Manifold editions available within the organization so that if a user normally works with Enterprise Edition but occasionally requires Universal Edition the higher edition can also be run. This reduces the number of higher end licenses that need be acquired if most users normally work with lower level licenses.

·      Simplified machine upgrades - Because authorization is not stored on client machines it is not sensitive to upgrades in machine hardware or software. Client machines may be replaced, reconfigured or upgraded as much as desired without burning up a limited stock of client activations.

·      Reduced administrative overhead - IT administrators need keep track of only one serial number per License Server no matter how many licenses have been acquired. That's far easier than keeping track of individual serial numbers and activations per client machine.

·      Easier on End Users - Personnel using Manifold on client machines don't need to know anything about activation and can simply launch Manifold and get to work. End users cannot cause havoc on client machines by misusing activation commands from the Manifold menu.

·      Web service connectivity - The Manifold License Server runs as an HTTP web service to which client machines connect for authentication. Most organizations have already configured internal firewalls and proxies to allow users to browse internal websites on their intranet or even to browse external websites on Internet. Running License Server as a web service, therefore, makes it likely that it will work "out of the box" in most organizations or, at worst, require only a few well understood, easy to apply and easy to test adjustments to proxy settings or network configuration.

 

While License Server is great, it does have some constraints on usage:

 

·      Costly for small installations - Running a License Server installation requires acquisition of the Manifold System License Server product plus acquisition of the desired number of licenses. Because of the cost of a License Server product plus the cost of the desired licenses is greater than acquisition of small numbers of non-License Server licenses, individual users and very small organizations will usually not acquire License Server.

·      Local web server required - A License Server requires a machine on your local, private network that can function as a local web server running Microsoft IIS to host the License Server and to authenticate floating licenses via your local, private network. This machine may be used for other purposes but cannot be used to run Manifold other than as a License Server. Only one License Server can be installed on each machine. Although License Server can be successfully used to authenticate floating licenses for Manifold installations on virtual machines, such installations involve many nuances and uncertainties arising from the virtualization software in use; therefore, they are not supported by manifold.net.

·      One edition per License Server - A License Server can only host licenses for a single Manifold Edition. If we need to distribute floating licenses for both Enterprise Edition and Universal Edition within our organization, we will have to acquire and operate two License Servers, one to serve Enterprise Edition licenses and one to serve Universal Edition licenses. The two License Servers will require two machines.

·      Extensions via Universal Edition - A Manifold License Server can be used to authenticate only main Manifold System licenses and not optional extensions. If we require an extension such as Business Tools, Geocoding Tools or Surface Tools we must run a License Server that serves Universal Edition licenses. Universal Edition includes all three extensions within the main Manifold System edition. Runtime licenses are not available as floating licenses in License Server.

·      Connection to License Server - License Server supports use of floating licenses only on machines that can connect every few minutes to the License Server using a private network. Notebook computers and other machines that do not have network connectivity with the License Server must use regular, static licenses. Most organizations that employ License Server for desktop machines will also acquire a number of individually-licensed Manifold System licenses for users of portable computers.

·      IT / Manifold expertise required - While the installation and management of License Server does not require any unusual expertise, it does require sufficient technical skills to set up a simple web page and to resolve any proxy, firewall or other network connectivity issues between client machines and the License Server. Administrators should also have solid Manifold experience with clear understanding of and experience in installation and activation of Manifold licenses.

·      Not a way to lend or lease licenses - Using License Server does not allow you to bypass the lending or other restrictions in the Manifold EULA. License Server provides more convenient and economically efficient licensing within one organization - it is not a way to share, loan out or lease Manifold licenses between different organizations or different individuals.

 

Acquisition

 

To license Manifold System License Server, contact Manifold Sales at sales@manifold.net or by telephone. Acquisition requires licensing the License Server product and at the same time licensing the number of Manifold System licenses for the edition desired to be served by the License Server. See the manifold.net web site for detailed sales information for License Server.

 

Delivery

 

The Manifold System License Server is simply a Manifold System Edition like any other. Download the standard installation file from the Product Downloads and install it by installing Manifold System like any other edition. Like any other Manifold edition, License Server is configured to be License Server by the serial number that is provided to authenticate the License Server configuration. Using a License Server serial number in the Manifold Activation dialog will configure that installation to function as a License Server. Also, download the licenseservermisc.zip file from the Product Downloads page for the .asp files mentioned below.

 

Once Manifold has been configured by the serial number to run as a License Server it will no longer run as an interactive GIS nor will it provide IMS or be accessible via the Manifold API for GIS functioning. The configuration will only function as a non-interactive License Server that can be utilized exclusively through the web service created by installation (see below).

 

The serial number issued when License Server is acquired will encode the Manifold System edition supported by that License Server as well as the number of Manifold System licenses authorized by that server.

 

Activation

 

Read the Activation Keys and Serial Numbers topic for details on the Manifold System activation process. Each License Server installation will use that process to activate the License Server on the target server machine. Administrators installing License Server are assumed to be experts who are completely familiar with the Manifold System activation process described in the above topic.

 

The activation process is just like that used for individual licenses with the following exceptions:

 

·      Server key required - Ordinary licenses use a Serial number and a System ID to fetch an Activation key, which is then used in the Activation dialog along with the Serial number and System ID to activate the installation. In addition to those three keys the License Server activation process also uses a fourth key, the Server key, which is provided by the Manifold activation web site. This fourth key is required for an .ini initialization text file placed on the License Server machine.

·      Manual activation required - Ordinary licenses can use the Activation dialog to fetch an Activation key through the web. License Server installations must use manual activation. The person activating the License Server installation must visit the Manifold activation web site and use the Serial number and System ID to fetch an Activation key and a Server key. When the Manifold activation web site gets a valid License Server serial number, it knows that a Server key must be provided in addition to an Activation key.

·      No 30 day initial period - Manifold System editions other than License Server can run for 30 days from the date the serial number is issued before activation is required. License Server serial numbers do not have this 30 day initial period. Instead, a License Server requires permanent installation with both a serial number and an Activation key for functioning.

 

In a nutshell, the process of installing and activating a License Server installation is as follows:

 

·      Install and launch Manifold on the server. This launches the Activation dialog, which displays a System ID.

·      Copy the System ID from the Activation dialog.

·      Visit the Manifold activation web site. Enter the System ID from the Activation dialog. Also enter your Serial number, copied from the serial number email sent for that License Server license. Use Copy and Paste at all times to avoid typos.

·      The activation web site generates an Activation key and a Server key. Copy the Server key to a safe place, like a text file that is immediately saved, on the License Server machine. Copy the Activation key and the Serial number into the Activation dialog and press Accept.

·      Create a Manifold.ini text file using the Server key as described below and place it in the Manifold installation folder on the License Server machine.

·      Copy the LicenseServer.asp file from the licenseservermisc.zip download file into a folder in the C:\InetPub\wwwroot hierarchy on the License Server so it can be accessed as a web service. Make it a web application in IIS.

 

On client machines, there is no activation necessary. Simply install Manifold on each client machine and then place a Manifold.ini text file created as described below in the Manifold installation folder on each client machine.

 

Like all Manifold system serial numbers, a License Server serial number is good for five activations and five activations only. Take care not to waste activations as it may be costly to get additional activation should you run out. A License Server serial number is licensed for use on a single server machine. Do not install the same License Server serial number on more than one machine, as you may lose your license rights completely if the same serial number is used to enable operation of more than one License Server at the same time.

 

Like all Manifold keys, the Activation key and Server key issued by the Activation web page are fetched by the specific Serial number and System ID used to obtain them

 

Unlike other serial numbers for other Manifold editions, a License Server serial number does not allow a period of preliminary installation using the serial number alone. Instead, License Server must always be permanently installed using both a serial number and an Activation key. This is a safety measure because License Server normally controls very many licenses, potentially many thousands of Manifold licenses, and so cannot be placed at risk of a sudden stop if a preliminary 30 day period of operation expires because the IT manager running the installation forgot to permanently activate the installation.

 

License Server administrators should therefore be familiar with Manifold hardware and software requirements as well as with Manifold activation. Choose a stable, reliable machine for your server that won't have to go through hardware reconfiguration changes and which otherwise fulfills the general requirements (see the main Manifold web site) for running Manifold software.

 

Upgrading

 

To increase the number of licenses authorized by a License Server, please see the sales information at the manifold.net website or contact Manifold Sales at sales@manifold.net. Increasing the number of licenses will be accomplished by trading in your existing License Server serial number and being issued a replacement serial number that encodes a greater number of licenses.

 

Once the new serial number is in hand, it can be used to upgrade the License Server installation following the instructions that will be provided by manifold.net. You will need to launch License Server again and provide a new serial number to the Activation dialog to increase the number of authorized licenses.

 

Note that since License Server is, in effect, a runtime installation, to get the activation dialog you will have to use command line activation. The easiest way of doing this is to supply an invalid serial number in a command line activation to force Manifold to pop open the Activation dialog. For example, using the command line switch:

 

manifold.exe /activate:dialog

 

...will pop open the Activation dialog since "dialog" is not a valid serial number. See the Command Line Options topic and the Activation Keys and Serial Numbers topic for details.

 

Very important: You can only increase the number of licenses authorized by a License Server if that License Server product is the current Manifold System product being offered. When new versions of Manifold are published, after a few months the old version is discontinued and is no longer available. License Server licensees who may want to increase their licenses should make sure to transition their License Server installation to any new version of Manifold System that may be published, for example, by taking advantage of any limited time discounted upgrade offers for transitions to the new version.

 

Installation

 

Manifold License server may be installed on Windows installations equipped with .NET Framework 2.0 and running Internet Information Services 5.1 or more recent IIS. The following examples use ordinary internet URLs to make it clear how URLs are used. Keep in mind that your License Server must be accessed through a private network and not placed on the open Internet.

 

To install Manifold License Server:

 

1. Log in using a user account with Administrator privileges.

 

2. Locate the serial number email that was sent to you with your License Server serial number. Open the email so that you can copy the serial number when it is needed.

 

3. Install Manifold System if not yet installed.

 

4. Launch Manifold. When Manifold is installed onto a new machine, the Activation dialog will pop up when Manifold is launched. If using an existing Manifold installation Manifold will launch in the usual way. In that case, choose the Help - Activate command to open the Activation dialog.

 

·      Note that the Activation dialog has a System ID box that is filled with a System ID value to be used when fetching the Activation key. The Activation dialog also has boxes for a Serial number and an Activation key.

·      Copy the serial number from the serial numbers email and paste it into the Serial number box in the Activation dialog.

 

5. Launch a web browser and go to the Manifold activation page at:

 

http://www.manifold.net/activation

 

·      Copy the serial number from the serial numbers email and paste it into the Serial number box in the web page.

·      Copy the System ID from the Activation dialog and paste it into the System ID box in the web page.

·      Click the Create Activation Key button on the web page to create an Activation key and a Server key. These keys are fetched by the Serial number and System ID provided.

 

6. Copy the Activation key from the web page into the Activation dialog. The Activation dialog will now have the Serial number, System ID and Activation key boxes filled. Press Accept. Manifold will pop open a box complaining it cannot run in interactive mode. Press OK. This message box shows that the License Server activation has occurred, since License Server cannot run interactively but can only run as a web service.

 

7. Create a new text file with the following contents:

 

[Activation]

ServerKey=XXXB4E2F4-6BAE9A-D54DE1E0061E99BC7FA6FC58C82B4765

 

Instead of the fake key shown above that begins with "XXX" use the Server key generated by the Manifold activation web page for your serial number and system ID. Use Copy and Paste to transfer the Server key from the web page into the text file to avoid typographical errors.

 

·      Save the text file into the Manifold installation folder (by default, C:/Program Files/Manifold System) as Manifold.ini. This file tells the License Server what Server key to use when License Server starts.

 

8. Create a new web site by copying the LicenseServer.asp file found in the the licenseservermisc.zip download file into a suitable folder within the C:\InetPub\wwwroot hierarchy. Be sure to configure the web site to be a web application in the IIS configuration console.

 

9. Create a new text file with the following contents:

 

[Activation]

ServerUrl=http://myserver.com/manifold/LicenseServer.asp

 

Replace the fake URL above with the actual URL for the LicenseServer.asp file.

 

Save the text file into a temporary folder as Manifold.ini. You will need to copy this Manifold.ini file into the Manifold installation folder (by default, C:/Program Files/Manifold System) on each client machine that will run Manifold and will seek license authentication from the License Server. This file tells client instances of Manifold how to contact the License Server for permission to run.

 

If client machines will be connecting to the license server machine via a web proxy, also include connection info within the Manifold.ini file that is deployed to client machines using the following template:

 

[Activation]

ServerUrl=http://myserver.com/manifold/LicenseServer.asp

Proxy=<proxy server address>

ProxyUser=<proxy server user name>

ProxyPassword=<proxy server password>

 

If desired, specify the timeout for web requests to the license server machine by adding the following entry to the Manifold.ini file:

 

RequestTimeout=<timeout in milliseconds>

 

Note: in the above template examples do not actually employ the "< >" characters, which are used in the above only to indicate information that is to be provided. For example, if we would like a 30 millisecond timeout we would use:

 

RequestTimeout=30

 

10. On each client machine that is to be served by the License Server, install Manifold System but do not yet launch it. Copy the Manifold.ini file created in the previous step into the Manifold installation folder (by default, C:/Program Files/Manifold System) on that machine. You can now launch Manifold and it will automatically use the information in the Manifold.ini file to connect to License Server and get permission to launch. If all the licenses are not in use, Manifold will launch in the normal way. If all licenses are in use or if the license server cannot be contacted, an error message will result.

 

Operation

 

On the server: When IIS runs the LicenseServer.asp page, the License Server first checks the Manifold.ini file for a valid Server key. The internal cryptographic engine uses that key to determine that License Server is indeed authorized to work on this machine to serve the authorized number of licenses of the authorized Manifold edition. It then proceeds to service client requests up to the authorized number of licenses.

 

On the client: When Manifold launches it checks to see if a Manifold.ini file is present in the Manifold installation folder. If so, it knows to connect to a License Server for license authentication and follows the URL given to ask for a license. Manifold accepts whatever license is authorized by the License Server URL.

 

You can test the operation of the License Server by launching Manifold on a client machine that you know has network connectivity to the License Server web service. Manifold should launch normally. Choose the Help - About dialog to see what Manifold Edition is reported in use and confirm it corresponds to the Manifold Edition authorized by the license server.

 

To see how many licenses are being served, use a small Licenseservercheck.asp file as discussed below.

 

Client Connection Logic

 

Client instances of Manifold configured to connect to a License Server send it their System ID during startup, which the server uses to distinguish different client instances from each other. The server tells each client system whether or not the instance is allowed to run. The identification of client instances by system IDs allows running any number of Manifold instances on the same client system, all served by a single license slot.

 

If a client instance fails to obtain permission to run from the License Server upon startup (due all available licenses being in use or the server being unreachable), it refuses to run. If a client instance successfully obtains permission to run, it will launch Manifold and will thereafter contact the License Server every 5 minutes to maintain its license slot. If the instance fails to contact the License Server for more than 15 minutes, the License Server will consider that instance to be abandoned and makes its license slot available for use by other instances.

 

If the original instance tries to contact the License Server after a disconnect of greater than 15 minutes, it will find its license slot used up and will try to acquire another license slot. If the license server does not have any other license slots available, the instance will suspend operation and will wait until one or more of the currently running instances of Manifold give up their license slots. During the wait, the instance will display a modal Execution Suspended dialog, which is by default configured to try reconnecting to the server automatically every minute.

 

Troubleshooting

 

Assuming IIS is running correctly and the LicenseServer.asp file has been installed as a web application within the C:\InetPub\wwwroot folder hierarchy, the usual problem is a network configuration (firewall, etc.) that prevents a client machine from connecting to the License Server.

 

An easy way to check this is to put a small index.htm file comprising a simple web page in the same folder as the LicenseServer.asp file and then to attempt to launch that web page from a browser on the client machine. For example, if trying

 

http://myserver.com/manifold/index.htm

 

in your browser can't get a web page connection then you know

 

http://myserver.com/manifold/LicenseServer.asp

 

won't work in Manifold.ini either.

Next, create a small .asp test file as described in the Create a Simple ASP File section of the troubleshooting IMS topic. That will verify that ASP is turned on in your web server as well.

 

Don't forget to check the obvious:

 

·      Is IIS running and web pages (see above) on the License Server can be accessed from client machines?

·      Is Windows firewall or other software firewall, if used, configured to allow outbound web server HTTP connectivity?

·      Is IP Filtering enabled for the network connection? If so, make sure port 80 is allowed to enable HTTP traffic.

·      Are any hardware firewalls or port filters in place between the server and client? Make sure they are configured to pass HTTP.

·      Is a proxy server used? If Manifold fails to launch and a proxy is in use, make sure the values of the ProxyXxx entries in the Manifold.ini file are correct and the value of the RequestTimeout entry, if used, is not too low.

 

See the Support page on the manifold.net website for any additional notes that may be published on License Server operation. Because License Server troubleshooting is almost always network debugging that has nothing to do with Manifold, technical support for License Server is handled using developer level support incidents.

 

Security

 

Administrators who work with License Server in large local area networks will often want to establish security measures to ensure that their floating licenses are not used up by unauthorized personnel. Security may also be required to ensure that use of License Server is kept within the licensed organization, a requirement of the Manifold license for License Server.

 

Because License Server is implemented as an HTML server it is easy to apply the usual security measures employed within Windows networks and IIS web sites to control access to a resource, in this case access to the HTML server that hosts License Server.

 

Two examples of such security measures include:

 

·      Proxy Server: A proxy server could be set up on a bastion machine through which connections to the HTML server must pass. The password to access the proxy server could change from time to time to discourage unauthorized use.

·      VPN: Even better, the HTML server could be on an intranet accessible only via VPN where credentialed access to the VPN is required.

 

Other general advice for security:

 

·      Keep confidential the serial number for the license server.

·      Maintain physical security on the license server machine.

·      Maintain security between the license server and its clients (usually done with two-way authentication and some kind of encryption, as with a VPN).

 

Tech Tips

 

You can switch back and forth between local license authorization and License Server authorization on client machines.

 

When Manifold launches it first looks for a Manifold.ini file containing a ServerURL entry. If present, Manifold launches using the license authorized by the server cited in the Manifold.ini file. If no Manifold.ini file is present then Manifold checks for local activation status. You can use this startup logic to go back and forth between License Server authorization and local activation status by simply providing or removing a Manifold.ini file within the Manifold installation folder.

 

Suppose you install and activate Manifold Professional Edition using a Professional Edition serial number on a particular system, say, a laptop computer. If no Manifold.ini file appears in the Manifold installation folder Manifold will launch as Professional edition.

 

When the laptop is connected to the organizational network and can reach a License server, if you want to switch to using Enterprise Edition from a License Server you can copy a Manifold.ini file that points to the License Server into the Manifold installation folder. When Manifold launches it will see the Manifold.ini file and the ServerURL entry it contains and use that to launch as Enterprise Edition.

 

If you then remove that Manifold.ini file (or, as most people do, simply rename it to Manifold.txt or some other name), when Manifold launches it will not find a Manifold.ini and will launch Manifold using the local activation status as Professional Edition.

 

If you have several different Manifold License Servers available you can switch between authorized editions by simply changing the Manifold.ini file to point to whatever server you want. For example, if you have a License Server that authorizes Enterprise Edition licenses and another License Server that authorizes Professional Edition licenses you could keep two files in your Manifold installation folder, one called Manifold.ent and one called Manifold.pro, that contain the text for a Manifold.ini file that points to either an Enterprise edition License Server or a Professional edition License Server. Depending on which server you want to use you can copy either the Manifold.ent or the Manifold.pro file to the Manifold.ini file.

 

IT managers who want to automate the above can write a simple batch file that copies the desired ServerURL entry into a Manifold.ini file, allowing users to choose which Manifold edition they want to use when a selection of License Servers is available.

 

Checking the number of licenses in use is easy. Create a small page called Licenseservercheck.asp with the following code. Install the page on the machine hosting the License Server. Users can then navigate to that page from their clients to see how many licenses are currently being served. This page is provided in the licenseservermisc.zip download. The code is trivial:

 

<%@ enablesessionstate=false language=javascript %> <%

 

Response.ContentType = "text/plain";

Response.Expires = 0;

 

// report current number of outstanding sessions var svr = Server.CreateObject("Manifold.LicenseServer");

var res = "Current Sessions: " + svr.CurrentSessions; svr = null;

 

Response.Write(res);

%>

 

 

See Also

 

Command Line Options

Activation Keys and Serial Numbers