===============================================================================
                 FRIENDSHIP-Framework SshConfigurationManager
===============================================================================

The FRIENDSHIP-Framework SshConfigurationManager is the web interface for the
FRIENDSHIP-Framework SshResourceManager. It is used to configure the resources
managed by the SshResourceManager. This document describes the process of 
installing, configuring and installing that tool.

-------------------------------------------------------------------------------
Document version 1.0.3 ( 22/09/2010 )
-------------------------------------------------------------------------------

CONTENT:
-1. installation
-- 1.1 prerequisites
-- 1.2 deployment
-- 1.3 configuration

-2. usage
-- 2.1 login
-- 2.2 operating systems
-- 2.3 applications
-- 2.4 floating licenses
-- 2.5 hosts
-- 2.6 users
-- 2.7 state

1. =============================Installation===================================

1.1 Prerequisites -------------------------------------------------------------
In order to run the web application you need a webserver that has PHP 4 or 
higher installed.

Of course, you will need the FRIENDSHIP-Framework SshResourceManager running
on a computer that can be reached from the computer running the webserver. To 
find out how to set up the SshResourceManager please follow the documentation
that is shipped with the SshResourceManager located in the folder
$FRAMEWORKDIR/tools/sshResourceManager.

Once running you will need a browser to access the webinterface. The browser
needs to have Javascript and Cookies enabled for the application to work
correctly. It has been tested with all current browsers. Only the Internet 
Explorer has shown major problems. We are currently working on a solution for 
it and advise you to use a different browser until the problems are solved. 
Please see the following table for browser compatibility.

1.1.1 Browser compatibility table
Browser	 |	Version | Caveats
-------------------------------------------------------------------------------
Firefox  | 3.6.3	| --
-------------------------------------------------------------------------------
Firefox  | 3.0.3    | --
-------------------------------------------------------------------------------
Opera    | 10.53    | Sorting indication cursor not working correctly
-------------------------------------------------------------------------------
Chrome   | 5.0      | Tab navigation within a page not working correctly,
		 |          | State auto refresh not working
------------------------------------------------------------------------------
Safari   | 4.0.5    | Tab navigation within a page not working correctly,
		 |          | State auto refresh not working
------------------------------------------------------------------------------
Internet | 8.0      | Multiple display and functionality problems, 
Explorer |          | usage currently unrecommended
------------------------------------------------------------------------------

1.2 Deployment ----------------------------------------------------------------
The deployment process depends on your webserver. In general it should be
enough to copy the folder $FRAMEWORKDIR/tools/sshConfigurationManager to a 
directory on your webserver that can be accessed through http (it is usually
named "/htdocs" or "/www"). There is no setup script that needs to be executed,
however you will need to tell the web interface how to contact the 
SshResourceManager that should be configured (see 1.3).

1.3 Configuration -------------------------------------------------------------
In order to tell the SshConfigurationManager where to find the SshResourceManager
that should be configured, find the file server_config.php that is located in
the sshConfigurationManager's root directory and open it using a text editor.
Adjust the settings in the section "SshResourceManager address configuration" to
suit your setup.

1.3.1 SshResourceManager address configuration
The SshResourceManager address is the network address that is used to communicate
with the SshResourceManager. It consists of four parts and is constructed as follows:
[method]://[serverName]:[serverPort][serverPath]
An example for this would be "http://myServer:8080/sshResourceManager", where
[method] = http
[serverName] = myServer
[serverPort] = 8080
[serverPath] = /sshResourceManager
So the settings you will need to set are:
$GLOBALS['serverName'] -> (string) The address/name of the computer running the 
						  SshResourceManager.
$GLOBALS['serverPort'] -> (integer) The port the SshResourceManager is listening at.
$GLOBALS['serverPath'] -> (string) The path the SshResourceManager is running in
$GLOBALS['method'] -> (string) The method (protocol) that is used to communicate with 
                      the server. This can be 'http' or 'https'.
                      
1.3.2 Additional settings
There are some other settings that can be configured for the webinterface, however,
none of them is really required, but they are stated here for completeness. You can
safely skip to the next section, if you like.
$GLOBALS['useTransitions'] -> (bool) This setting determines whether fading and 
                              sliding effects are used in the web interface.
$GLOBALS['logXmlRpc'] -> (bool) The webinterface communicates with the SshResourceManager
                         using XML-RPC. If this setting is set to true, the XML-RPC
                         calls and the answers will be logged by the webinterface.
                         This can serve diagnosis purposes if problems occur.
$GLOBALS['maxRpcLogSize'] -> (integer) If logging of XML-RPC messages is activated,
                             this setting determines the maximum size of the logfiles
                             that are written. If this is set to "0" the size will be
                             unlimited.
$GLOBALS['logMaxBackups'] -> (integer) If logging is enabled and the maximum size
                             of logfiles is limited this setting determines how many 
                             logfiles will be kept as a backup.
$GLOBALS['verifyHost'] -> (boolean) This setting is currently unused.
$GLOBALS['verifyPeer'] -> (boolean) This setting is currently unused.
$GLOBALS['forbiddenAccessManager'] -> (string) This string is displayed if an internal
                                      file is tried to be accessed directly.
$GLOBALS['cssFile'] -> (string) The css (cascading style sheet) file that is used
                       to determine the look of the webinterface.
                       

2. =================================Usage======================================

After completing the setup and configuration process, you can start using the
webinterface to configure your SshResourceManager. To do so, open a browser of
your choice (see 1.1.1 for browser support comparison) and surf to the application.
(e.g. http://yourwebserver/sshConfigurationManager)
The key components of the SshResourceManager that need to be configured so it can
do its work are the applications it can start on remote computers and the remote
computers themselves so it knows where to start which application. Those computers
are called "hosts".
All configuration pages are set up in a similar general structure. On the top you
will find a list of the current configuration objects of the particular kind, where
you can change the existing objects. On the bottom you will have the chance to
create new configuration objects. Mostly, you can change the same properties for existing
and newly created objects. However, there are some cases where certain attributes
can only be changed after creating the object and others are not changeable anymore
after first creation.

2.1 Login ---------------------------------------------------------------------
On the front page you will be presented a login screen. Initially you can use the
login "admin" with an arbitrary password. Once you have created a user with admin
priviliges this account will be disabled.
Additionally, the front page gives users the possibility to change their password.
All users have the possiblity to log into the SshConfigurationManager. However,
only users with the SuperUser level (see section 2.5 - Users) are able to edit the
configuration of the SshResourceManager. Normal users have the possibility to
change their user settings (see section 2.5 - Users) and to view the current
state of the SshResourceManager (see section 2.6 - State).
After logging in you will be presented the main menu of the SshConfigurationManager
from where you can access all configuration pages which will be explained in detail
in the following sections.

2.2 Operating Systems ---------------------------------------------------------
Some operations that need to be executed on hosts in order to start applications
on them are dependent on the operating system each host runs. Therefore, you need
to assign an operating system to each host that you configure. This page allows
you to set up those operating systems. On first start-up the SshResourceManager
will create and preconfigure the two most common operating systems, namely Linux
and Windows. This section explains the settings that need to be configured for
each operating system using the two default ones as examples.

2.2.1 Name
The name is a mere identifier to simplify the identification of an operating system
when assigning it to a host. The two default operating system use "Linux" and 
"Windows", but can be changed if you desire.

2.2.2 Parent
Operating systems can be set up in a hierarchical structure. An operating system
can have a parent operating system whose settings apply to the child as well. For
example, having the Linux operating system in place, you could create two children
called "Linux32" and "Linux64" representing 32 and 64 bit versions of Linux. When
creating those children the settings of the parent will autmatically be inherited
by each child, simplifying the setup process.

2.2.3 ChDirCommand
This is the command that needs to be executed on a computer running this operating
system in order to change directories within a path. Although this is the same for
most current operating systems when working with the console on the computer directly
(the "cd" command) the internal execution may differ. The SshResourceManager does need
the actual internal execution as it would be performed by the operating system. For the
pre-configured operating systems Linux and Windows the command is "cd".
If you want to configure other operating systems than Linux and Windows, please 
consult the documentation of the operating system to find out the internal command
that is executed to change directories.

2.2.4 PathDelimiter
When displaying paths some operating systems do not use the standard delimiter "/"
as it is specified in the RFC for URLs (see RFC 1738). On Windows the path delimiter
is the backslash character ("\"), for example. The SshResourceManager needs to know
which delimiter is used by your operating system.

2.2.5 Canceler class
The SSH protocol does not specify a procedure how to quit remotely executed processes
once they are started. Therefore, the SshResourceManager uses other mechanisms in order
to provide the possibility to stop remote execution. This setting lets you choose
the implementation of those mechanisms that best suits your operating system.
The SshResourceManager is shipped with two implementations, one that should work on 
Windows computers and one that should work on Linux computers with a bash shell.
For new operating systems the SshConfigurationManager lets you either choose one of
those two or lets you create a new one. For a more in depth guide how to create your
own Canceler Classes please see the documentation shipped with the SshResourceManager
that also includes the two sample implementations that are provided. 

2.2.6 Create new JobCanceler
This button allows you to implement a new Canceler class using the webinterface. After
pressing that button you will be presented an editor where you can create your new 
Java class that implements the appropriate interface. Besides the actual code you will
also need to provide the name of the class. The editor allows you to compile the written
code in the webinterface. Any errors will be presented to you. When implementation is
done you can submit your Java code which is then compiled and the newly created class
is assigned as the new JobCanceler for this operating system. After that you can also
assign the new class to other operating systems. For a more in depth guide how to create
your own Canceler Classes please see the documentation shipped with the SshResourceManager
that also includes the two sample implementations that are provided. 

2.2.7 Delete
This allows you to delete an operating system. You cannot delete an operating system that 
is currently assigned to a host.

2.2.8 Show hosts
This button gives you a view of the hosts that are currently running that operating 
system.

2.3. Applications -------------------------------------------------------------
The applications are the interface between the SshResourceManager and the FRIENDSHIP-
Framework. The application yo uset up here are the ones that will show up for the
Framework user when he connects to the SshResourceManager. They are also the container
that connects multiple hosts with each other and holds the actual executables that
will be run on the hosts.

2.3.1 Name
Like for operating systems, this is a mere identifier that allows you and the Framework
user to identify a certain application.

2.3.2 Description
Besides the name this can hold additional information that gives further details about
an application.

2.3.3 Req lics
The SshResourceManager needs to keep track of the resources that are currently used
based on the applications that have been started so far. The required licenses field
allows you to set the number of licenses an application needs per running instance.
In general this will be one, however especially some multi-threaded applications may
need multiple licenses per running instances.

2.3.4 Req CPUs
Similar to the number of required licenses per instance, this allows you to specify
how many CPUs are need by an application. This way the SshResourceManager can ensure
that it will only start an application on a host that has enough processors available
to run an application to ensure best performance. 

2.3.5 Needs X
Some applications may need an X server in order to run. This setting lets you mark
an application to have such a requirement. 
If an application is marked as needing X server support, you will be requested to 
select the X server that will be forwarded to. The SshResourceManager can be configured
to have a global default X server to forward to and/or you can configure hosts to
take the X server forwarding. You can only mark an application to need X support if either
the global X server is configured or if at least one host exists that supports X 
forwarding (see also section 2.5.8). 

2.3.7 Floating license
Here you  can assign a floating license to an application. Assigning a floating license
to an application causes the SshResourceManager to consider that floating license when
trying to determine whether or not there are licenses available for an application to
start. Floating licenses can be created either on the floating license page (see section
2.3 or directly on the application page by pressing the button "Create a new floating 
license for this application". One floating license can be assigned to multiple applications.

2.3.8 Delete
With this button you can delete an application. After deletion it will also be removed
from all hosts that have this application configured.

2.3.9 View hosts
Pressing this button gives you a view of all hosts that have this application configured.

2.3.10 New Floating license
As mentioned in section 2.2.7 this button allows you to create a new floating license that
is automatically assigned to the application without having to change to the floating
licenses page.

2.4 Floating Licenses ---------------------------------------------------------
Most vendors offer floating license models for their applications. Floating licenses have
the advantage that they are not bound to a certain execution host, but can be used by
multiple computers. The SshResourceManager can keep track of the currently used floating
licenses that have been checked out by the applications that were started by the 
SshResourceManager. Note that it does not interact with the actual floating license server.
So using a floating license outside of the SshResourceManager will make it impossible for
the SshResourceManager to know the actual number of licenses that are in use which may
cause applications to attempt to check out more than the available licenses. We recommend
to start or manage all application executions that make use of such a floating license that
is configured in the SshResourceManager by the SshResourceManager through the Framework.
This does not limit you to execute all of those applications remotely via SSH as the 
SshResourceManager can also be applied to monitor floating licenses used by locally executed
programs through the Framework. This can be achieved by connecting a local application in 
the Framework with a remote application of the SshResourceManager. Framework will then check
out floating licenses from the SshResourceManager when running the computation locally.
More information can also be found in the user guide shipped with the Framework.

2.4.1 Name  
A floating license's name is an identifier that helps you in finding a floating license
when assigning it to an application.

2.4.2 Number
This is the number of available licenses for this floating license.

2.4.3 In use
This gives you information about how many slots of this floating license are currently 
being used. When this value is larger than zero, a button will be shown that allows you
to manually reset the number of used licenses to zero. Note that you should only do this
if you are sure that is what you want. There are some occasions which make this needed.
If a local application uses a floating license and the computer crashes, the SshResource-
Manager will not receive the signal to free that floating license again. This causes
the number of used licenses to increase even though no application is running that
is actually using the license. In that case this button needs to be used. Please use
this function with caution. You should make sure that there is no other application
instance running that uses this license.

2.4.4 Delete
This button deletes a floating license. It will also be removed from any application it is 
assigned to.

2.4.5 View applications
Pressing this button gives you a view of all applications this floating license is assigned
to.

2.5 Hosts ---------------------------------------------------------------------
The hosts are the core of your grid setup. They represent the computers that are contacted
by the SshResourceManager via SSH in order to start remote processes. There are two pre-
requisites for computers in order to be able to use them for this purpose. The first one
is that the computer needs to be reachable by the computer running the SshResourceManager
via a network. The network topology does not matter, for the SshResourceManager it makes
no difference whether it is ethernet or internet for example. The second condition that has
to be met (which directly requires the first one) is that the computer needs to be accessible
through SSH. This means that it needs to run an SSH server that supports shell execution and
SFTP. While most Linux distributions are shipped with an SSH server by default, other 
operating systems (e.g. Windows) are not. There are, however, several SSH server solutions
available for all common operating systems, both free and commercial. Note that for Windows
we have experienced problems when using certain versions of the Cygwin SSH daemon as it
has a bug in its implementation that prevents multiple SSH channels being opened on the same
session which should be possible according to SSH specifications. 

2.5.1 Name
While for the other configuration objects the name is mere identifier to ease the setup
process the name for a host is also the computers hostname, i.e. the name which identifies
the computer in the network. This can be the either the name that was given to the computer
or the computer's IP address. Note that in dynamic network configurations using DHCP the
IP address may change when a computer is rebooted for example.
This setting cannot be changed after a host was added. You will need to create (or clone) a
new host and delete the old one if the hostname/IP address changes.

2.5.2 Port
This is port the SSH server on that host is running at. The standard port for SSH is 22.

2.5.3 #CPUs
Modern computers often have more than one processor. This setting allows you to set the 
number of processors available on the particular host. It is needed so the SshResourceManager
knows how many computational resources are available on a host and how many applications 
can be run on it at the same time. This relates to the number of CPUs needed by an application
as configured in the application's settings.

2.5.4 MB Mem
This is the amount of memory a host has. At the moment this is a pure informational property
and has no influence on how the SshResourceManager selects a host. It is included for
future use during the scheduling process.

2.5.5 OS
Here you can select the operating system this host is running. You can select from the
operating systems that were configured on the Operating Systems page. (see section 2.1)

2.5.6 Sftp Root
Input files for applications are copied to the remote hosts using SFTP. So the actual process
will be started in a directory that is accessible through SFTP. In order for the 
SshResourceManager to be able to do so, it needs to know which actual path files transfered
via SFTP are located in. The Sftp root directory is the directory a user that connects
to host via SFTP is in initially. This usually depends on the configuration of the SFTP server
(i.e. the SSH server). In some cases the SFTP root depends on the user that connects to the
host via SSH. If that is the case it is advisable to configure global authentication settings
for that host (see section 2.4.10).

2.5.7 Temp dir
The SshResourceManager will create a special directory on the remote host when using it
to execute applications. This directory will be created relative to the path specified in 
Sftp Root (section 2.4.6).

2.5.8 X
As mentioned in section 2.3.5, some applications may require X server forwarding to work
correctly. By setting this flag, the host will be selectable for an application to
forward X to. If activated you can enter a comma separated list of ports the X server
can be forwarded to. This allows to forward multiple applications to the same host while
giving each application its own X. 
Note that this is independent of the "active" flag of a host, i.e. a host that is set to 
be an X host and that is entered as the X forwarding host of an application will be used 
to forward X to, even if the host is marked as being inactive. 

2.5.9 Active
This flag determines if a host is currently active. Since the setup of computers may change
dynamically, this allows you to take certain hosts out of the list of available computers
at any time. When setting a previously active host inactive, however, applications that are
already running will continue to run until finished, but no new processes will be started there.
Only those computers set to active and with a confirmed fingerprint (see section 2.4.11)
are used to start computations. This in turn means that only applications installed on at least
one host that is active and has a confirmed fingerprint will be available in the list of
remote applications for the Framework user.

2.5.10 Auth
In the ResourceManagerSetupSsh object in the Framework, the user can set an SSH username and
password that will be used to log in to remote hosts. As an alternative, which eases the usage
for the actual Framework user, you can set that info for each host individually ("global 
authentication settings"). This setting overrides any credentials that are entered in the 
Framework. When the user enters no SSH authentication information in the Framework only those 
applications that are installed on at least one host with global authentication settings 
configured are returned in the list of applications. When setting the global authentication
settings for a host, you can optionally tell the SshResourceManager to check whether an SSH
connection can be established using the given username and password. Passwords that
are entered here will be saved in the SshResourceManager's configuration database using
RSA encryption.
This setting is only available for existing hosts and cannot be configured during the initial
adding of a host.

2.5.11 Fingerprint
In order to confirm the authenticity of a host, the SshResourceManager stores the hosts' 
fingerprints. Before a host can be used for execution, you need to confirm the fingerprint
once. Then every time an SSH connection to that host is established, the fingerprint is
compared to the stored one and the SshResourceManager will only continue, if the fingerprints
match. This ensures that no confidential data is transfered to unauthorized computers.
This setting is only available for existing hosts and cannot be configured during the initial
adding of a host.

2.5.12 Delete
By pressing this button you can delete a host.

2.5.13 Applications
Once a host is configured, you will need to assign applications that are installed on that
particular host. Pressing this button will present you with the interface that allows you
to manage the applications for a particular host. As on all pages, the top part gives you
an overview of the applications currently installed on that host and the bottom part
allows you to add new applications to the host.
Pressing the "back" link will take you back to the normal hosts view.

2.5.13.1 Priority
When using priority based scheduling (see the documentation of the SshResourceManager's 
configuration file), this allows you to assign the priority for an application to be 
executed on that particular host. When priorities are used, the SshResourceManager will
try to use the host with the highest priority for an application to start the application 
on first and only resort to other hosts if the one with the highest priority does not 
have enough resources available. 

2.5.13.2 Hard lics
The SshResourceManager knows two kinds of licenses, floating licenses and hard licenses
(also known as node locked licenses). Here you can set how many hard licenses for that
application are available on the particular host.

2.5.13.3 Exe path
This is the path of the executable for that application as it is installed on the host.

2.5.13.4 Remove
Pressing this button will remove the application from the host.

2.5.14 Clone host
In many cases the IT infrastructure consists of many computers that are very similar to
each other. To ease the setup process you can take one host as the basis for new hosts
so you do not need to enter the same information over and over. This is what the "Clone
host" feature is for. When pressing this button, you will be taken to a view similar to
the "new host" section of the Host page except that it has all settings preconfigured as
they were on the original host. You do need to set the hostname for the new host and you 
can change the settings that may differ. Note that all applications are cloned as well.

2.5.14.1 Add clone
The "add clone" link at the top allows you to create multiple identical hosts at a time.
For each time you press the link a new host row is entered where you can set the hostname
and alter the information necessary. Once done, you can press any of the "add" buttons
to create all hosts at once. Only those hosts will be created for which a valid hostname
was given. So if you clicked the "add clone" host too many times, you do not need to start
over.

2.5.15 Clone applications
When you do not want to clone a complete host but only want to apply the settings you
have made for an application on a particular host to other hosts this allows you to
do so.
You will be presented with a list of hosts and a list of applications that are installed
on the source host. You can then select the destination hosts and the applications to clone.
When pressing "perform", the selected applications will be added to the selected hosts
with the same settings (priority, hard licenses and path to executable) as on the source
host. When an application is already installed on a destination host, the existing
configuration will not be overwritten, but the host will be skipped for that application.

2.6 Users ---------------------------------------------------------------------
The SshResourceManager has a user management feature. This ensures that only authorized 
users are allowed to use the SshResourceManager for computations. It also protects the
configuration of the SshResourceManager from changes by unauthorized persons.
There are three levels of users: LockedUser, User and SuperUser. 
A LockedUser is not allowed to actually use the SshResourceManager. It is basically
a disabled user account. This allows you to activate and deactivate user accounts in 
a comfortable way if you need to grant access to the SshResourceManager on a temporary
basis, for example.
A User can use the SshResourceManager to start remote computations through the Framework
but cannot change the configuration of the SshResourceManager.
A SuperUser has full access to the webinterface and can, therefore, alter the SshResource-
Manager's configuration. 
All users are able to access the user page when logging in to the webinterface, but users
of the levels LockedUser and User are only allowed to change their own settings and cannot
change their access level.

2.6.1 Username
This is the name that is used to log in to the SshResourceManager, both, using the
SshConfigurationManager and when submitting requests to start a remote computation
through the Framework.
This setting can only be changed when initially adding a new user and cannot be
changed later.

2.6.2 Role
This allows you to select the access level of the particular user (see above). This can
only be changed by users with the access level SuperUser.

2.6.3 Email
The SshResourceManager can be configured to send information emails to the user that 
started a computation when it is done. If that feature is set up and the particular user
wants to make use of it, an email address needs to supplied.

2.6.4 Password
Either when pressing the button or when adding a new user, you can set a password for that
user. This needs to be supplied when logging in to the SshResourceManager either through
the SshConfigurationManager or when using it with the Framework. Each user can change
his password at any time.

2.6.5 Delete
This deletes a user. This is only available for users with the access level SuperUser.

2.7 State ---------------------------------------------------------------------
The state page gives you a quick overview of the configuration of the SshResourceManager
and the current state of computations running.

2.7.1 Clean up
Pressing this link will reset all resources to the state unused. I.e. it will reset all
licenses and processors of all hosts to a used count of zero. This should only be necessary
if an error occured, e.g. the Computer running the SshResourceManager was terminated in 
an uncontrolled way. You should only use this if you are really sure that you need it. This
action needs confirmation and is, of course, only available to SuperUsers.

2.7.2 Refresh
This refreshes the state page. This is basically the same as pressing the "reload" button 
in the browser.

2.7.3 Automatic refresh
This button enables an automatic update. When activated you can enter the rate in seconds
how often the state page should be refreshed.

2.7.4 Summary
This gives a very brief overview of the current configuration.

2.7.4.1 Scheduler State
The current state of the scheduler. At certain times the SshResourceManager blocks the 
scheduling of new jobs. This is the case, for example, when a DesignEngine is being
canceled to avoid starting jobs that will be canceled in the next second. The state of
the scheduler blocked should only exists for a short time period. However, if during that
time an error occurs (e.g. network failure), the scheduler may not be unlocked. You can
then use the webinterface to unblock it again.
On the other hand, you can also use the webinterface to block scheduling manually for a 
certain period of time.

2.7.5 Jobs
This section gives you information about the jobs (computations) that are currently managed
by the SshResourceManager. It is separated in three parts: Running Jobs, Waiting Jobs and 
Finished Jobs. When clicking on a particular job, you can view the address of the computer
that is running the Framework that submitted the job, the name of the project that the 
ExternComputation this job belongs to is part of, and the name of the design in which
this ExternComputation is executed.

2.7.5.1 Running Jobs
These are the computations that are currently being run on a remote host. 
The JobId is the GUID (global unique identifier) of the job as it was assigned by the 
Framework. 
The Task shows how many tasks are part of this job and which one is currently executed. 
A task can be copying of input/output files and the actual execution of a process.
Submitter is the user of the SshResourceManager that logged in to start this job.
The Owner is the actual computer user (i.e. the user that was logged in to the computer
that is running the Framework) which submitted the job.
The Submit Time tells you the time at which the SshResourceManager received the request
to run the job, which is basically the same time the Framework sent the job plus the time
that was needed to transfer the request over the network.
The Application is the name of the application that is or will be executed by the job.
The Execution Host is the host that actually runs the remote process.
The State is the state of the current task. For running jobs this should always be the state
"Running".

2.7.5.2 Waiting Jobs
When a job is submitted to the SshResourceManager and there currently no resources
available to run it, the job will be queued. Once the resources become available again,
waiting jobs will be selected to run. This gives an overview of the current waiting
queue. The information given is basically the same as for a running job. However, since
it is not yet running it was not assigned to an actual host to execute it and therefore
there is no information about the "Execution host". As additional information for scheduled
jobs you can see whether the job needs a host that has global authentication settings
as there were no such settings set in the Framework (see section 2.4.10).

2.7.5.3 Finished Jobs
Jobs that have completed but were not yet acknowledged by the corresponding Framework
will be displayed here. A job will be removed from this list once the Framework has
confirmed that it successfully received the output files of the job.

2.7.6 Hosts
Here you can see an overview of the hosts that are configured in the SshResourceManager.
It gives information about configuration settings and the current CPU usage. By clicking
on one of the hosts you can view information about the applications installed on that host
and the current state of hard licenses if available. 

2.7.7 Applications
This is an overview of the applications that are configured in the SshResourceManager.
You can see on how many hosts each application is installed and how many of them are
currently active. You will also see the available licenses for this application, both
floating and hard licenses, and how many of them are currently in use. Finally you 
see how many instances of the application are currently running and how many can be 
executed at the same time based on the licenses and CPUs available on the hosts this
application is installed on. 

2.8 Logout --------------------------------------------------------------------
This ends the current session and will leave the configuration interface.


3. ============================Further information=============================

Information about the setup and configuration process of the SshResourceManager
can be found in the file README.txt located in $FRAMEWORKDIR/tools/sshResourceManager/docs.

Additional information can be found in the user guide shipped with the 
FRIENDSHIP-Framework. If you have further questions and/or problems
that are not covered in this document or in the user guide, do not hesistate
to contact FRIENDSHIP-SYSTEMS.


