License System


Configurations

Single Node
A "single node" license is node-locked to one specific workstation. EasyCopy can only be used on the local display of that workstation. A single user license permits no execution of the software by any method from remote workstations no matter where in file system the software resides.
 
Multiple Nodes
Install the software on a file server and utilize common setup and maintenance functions. The EasyCopy License Dispatcher must be installed on your network if you have multiple licenses. These can be fixed or floating.

The license dispatcher is node-locked to a specific computer in your network; we call this computer the License Server. Your password is generated for this server.

The license dispatcher must run on a UNIX server or a Windows server. Licenses from one server can be assigned to clients on both systems.

Fixed licenses are node-locked but differ from single-nodes because the System Administrator decides to which nodes they become permanently locked. Fixed licenses that have not been assigned can be taken (and become permanatently locked) by any user who opens EasyCopy.

Note, that it is the combination of workstation, display, and user that defines a node.

Floating licenses float around among the users, as they need them.

You can assign floating licenses to specific nodes for shorter or longer periods. This is effectively the same as changing a floating license into a node-locked license for that period.

The difference between a fixed license and an assigned license is that you cannot change the expiration of a fixed license to less than 60 days, and each time the software is used from the node to which the license is locked the expiration period is reset to another 60 days. In other words: an assigned license expires on its expiration date, a fixed license expires only when it has been unused for 60 days.

When is a License in Use

When a user in a network with floating licenses starts EasyCopy's Graphical User Interface it will take one license from the pool of available licenses. This license will be in use until EasyCopy is terminated.

An EasyCopy license will also be taken if one of its components is started through its command line interface. Licenses taken by command line programs, however, will be marked as "in use" for a period of 30 minutes where it can only be used from the node that took the license. The expiration period of 30 minutes is reset each time a command line program is executed. A fixed or an assigned license is permanently in use until the assignment period expires. If there are no licenses available the user is given the option of starting EasyCopy in demo mode. Demo mode also applies if the user attempts to use a feature that is not included in the license, for example importing a CGM file when the license does not include EasyCGM.

License Management

The License Dispatcher is used as a network-wide tool to manage EasyCopy licenses.

It is node-locked to the server on which it is running. Clients in the network connect to the License Dispatcher

  1. to get a license (if any is available);
  2. to query the license status; and
  3. to report when a license is no longer in use.

The License Dispatcher is available for UNIX and Windows.

No matter on which platform the License Dispatcher is running it can serve clients on both UNIX and Windows.

Logging of usage on UNIX

To see the usage of EasyCopy over time you may proceed as follows.

Instead of starting the daemon with the simple command
ecdaemon start

you should use the following command:
ecdaemon -logfile /tmp/ecdaemon.log -loglevel info start

(Available log levels: none, error, warning, notice, info, and debug)

After using EasyCopy for some time (some days or weeks) look at the log messages.
Use the command:
grep Claiming /tmp/ecdaemon.log

You will see a bunch of lines like:
Nov 24 15:21:28: ecdaemon[31513] INFO: Claiming license for as (now 4 in use)

Each line will show the time, the username of a user starting EasyCopy and the current number of users.If the number of users at certain times hit the ceiling you may do:
grep Sorry /tmp/ecdaemon.log

This will tell you who was unable to get a license for what and when.

Logging of usage on Windows

By default the EasyCopy License Dispatcher (ecdaemon) will not log any activity.

On Windows if you want to log which user and/or machine has or is using EasyCopy, you need to edit the Windows batch file:

<EasyCopy installation folder>\instsrv.bat

Uncomment one of the two example lines "rem reg add HKLM\System......", and comment (rem) the old line.
Choose "-loglevel info" to log any license activity, or "-loglevel debug" to log ALL activity between the EasyCopy application and the license daemon.

After this, execute the "instsrv.bat" file (having Administrator rights). This will stop/remove the ecdaemon service, replace the registry settings, and start the ecdaemon service again.

By default the logfile name and path is set to:

<EasyCopy installation folder>\ecdaemon.log

but on Windows XP or Windows Server 2003 you may replace this with the default logfile path:

%WINDIR%\System32\LogFiles\ecdamon.log

EasyCopy License Dispatcher

The License Dispatcher is running as a daemon on the License Server. It can be started, stopped, and maintained by a System Administrator. It is controlled by the ecdaemon command:

  ecdaemon { start | stop | restart | status | assign }

The functions are the following:

The License Dispatcher functions are only available for the System Administrator, and (except for the status display) they must be run on the license server.

ecdaemon start
This command starts the License Dispatcher. It may take a couple of minutes before the daemon is ready.
 
ecdaemon stop
This command stops the License Dispatcher.
 
ecdaemon restart
This command restarts (stops and starts) the License Dispatcher.
 
ecdaemon status
This command displays the current status of your EasyCopy licenses. The command eclic is provided to give the same function, so that the status display can be available without access to ecdaemon.

Example
--- Available licenses -----------------------------------
No. Product        Version   Tot/Free    Type   Components
----------------------------------------------------------
 1  EasyCopy         8.0     10   2    Floating   Gui
                                                  Print-1
                                                  Print-2
                                                  Convert
                                                  View
                                                  Capture
                                                  Montage
                                                  EasyCGM

--- Assigned licenses (marked #) and licenses in use------------------
No.     Product    Version    When      Who        IP           Hostname
----------------------------------------------------------------------
 1  1: EasyCopy      8.0                bill     192.192.1.11    (wsb11)
 2  1: EasyCopy      8.0                joe      192.192.1.33    (wsb33)
 3# 1: EasyCopy      8.0    12 days     smith    192.192.1.86    (wsc86)
 4  1: EasyCopy      8.0                daisy    192.192.1.37    (wsb37)
 5  1: EasyCopy      8.0    17 minutes  rob      192.192.1.21    (wsb21)
 6  1: EasyCopy      8.0                wendy    192.192.1.82    (wsc82)
 7  1: EasyCopy      8.0                smith    192.192.1.78    (wsc78)
 8# 1: EasyCopy      8.0    18 days     supp     192.192.1.54    (wsc54)

The first part of the example shows that there are a total of 10 licenses for EasyCopy 8.0 (including the listed components of the EasyCopy), and that there currently are 2 unused (free) licenses.

The second part of the example shows how the remaining 8 licenses are being used:

  • Two licenses (3 and 8) are preassigned to specific users. One assignment expires in 12 days, the other in 18 days.
  • Five licenses (1, 2, 4, 6, and 7) are taken by users who have started EasyCopy's Graphical User Interface. Any of these will become available when the user terminates EasyCopy.
  • One license (5) is taken by a user who started a command line application. It will become available within 17 minutes, unless the user at the node wsb21 starts a new command line program in the meantime.
 
ecdaemon assign
This command lets you assign or unassign licenses. It produces the same display as ecdaemon status but you can then select one of four available options:
assign
This assigns a license. You are prompted for information about the node (IP address) to which the license will be temporarly locked and the length of the period. You can specify the period in units of years (y), months (m), days (d), hours (h), or minutes (M) whichever is most convenient for the actual requirement.The System Administrator should assign fixed licenses immediately after installation is complete; otherwise they are automatically assigned to the first users who take them. Fixed licenses have a minimum expiration period of 60 days. You cannot change it to a shorter period.
 
unassign
This unassigns a license. You are prompted for information about which of the assigned licenses you want to unassign. This manual procedure is only necessary if you want to terminate the assignment before it expires. You are only allowed to unassign fixed licenses if the workstation to which it is assigned is replaced or its network address is changed.
You cannot reassign a fixed license to a node from which it has been unassigned for a period of 60 days.
 
list
This refreshes the status display.
 
quit
This terminates the command.

License Dispatcher and System Startup

It is recommended that you start ecdaemon as part of the server's normal startup procedure.

The details about how you integrate the ecdaemon start command with the server's startup procedure depend on your system. Here are some suggestions for various platforms:

AIX
Edit the file /etc/rc.tcpip and add the following line:
[ -x /usr/bin/ecdaemon ] && /usr/bin/ecdaemon start
 
Other UNIX systems
Copy the file ecdaemon from the directory of invocation scripts to the directory init.d, and create links that automate startup and shutdown in the directories rcx.d (where x depends on how your system's run levels are defined). These directories are normally found in /etc (/etc/init.d/, /etc/rc0.d, /etc/rc1.d, ... ), but on some systems they are located in /sbin (Compaq Tru64, HP-UX 11) or /etc/rc.d (some Linux systems).

Example
Assume the following assignments of run levels:

0 = Halt
1 = Single user mode
2 = Multiuser
3 = Multiuser with NFS
4 = Unused
5 = X11
6 = Reboot

For the run levels that are used for multiuser system startup (2, 3, and 5 in this example) you need links that start the daemon. Make sure, that this happens relatively late in the startup procedure, so that any prerequisite system components have been started before ecdaemon. You should thus create this link in rc2.d, rc3.d, and rc5.d:

  ln -s ../init.d/ecdaemon S99ecdaemon

For the run levels that are used for system shutdown (0 and 6 in this example) you need links that stop the daemon, and this should happen relatively early in the shutdown produre. Create this link in rc0.d and rc6.d:

  ln -s ../init.d/ecdaemon K01ecdaemon

 
Windows

If you are installing the password (license key) on the license server, the password installation procedure will automatically run instsrv.bat, which will install ecdaemon as a service.



The above terminal Window is a result of running instsrv.bat

In earlier versions of EasyCopy we recommended to add ecdaemon as a scheduled task. If you have already done this you will need to remove ecdaemon manually from Scheduled Tasks.

Security Issues

The license dispatcher needs a working file (.agilic) that is readable and writable by ecdaemon. This is not a problem if the license dispatcher runs as privileged user, for example root. The files in the easycopy directory are normally owned by root with permissions 755 or 644, so they are not writable by ordinary users.

If your security policy does not allow that the license dispatcher runs privileged we recommend an alternate solution:

This method is safe against attacks, and it only gives the license dispatcher minimal permissions.

When installation is complete use these commands to implement the method described above (modify directory paths to the names that actually matches your system):

  adduser ecuser
  cd /usr/local/easycopy/system
  chown ecuser .agilic
  chmod 600 .agilic
  cd /etc/init.d
  chown -s ecuser ecdaemon
  chmod 500 ecdaemon


Copyright © 2008, The EasyCopy Company, TEC & AGI,
www.myeasycopy.com.com.