TOC, 1, 2, 3, 4
		
		2) THE PARADISE SERVER
		
		2.1) I have a license for 20 Paradise clients, 
		yet I'm only able to run with 10. Why is that?
		
You must use set the maxlicense resource in 
		paradise.config or use the paradise -n option. Either 
		add the line
  *maxlicense: 20
		
to paradise.config, or use the command
  example0aradise -n 20 &
		
when starting the Paradise server. The default value of maxlicense is 10; 
		the size of your license doesn't matter.
		
The license is intended to be shared across different Paradise servers 
		any way you want. If you have a license for 20 clients, you can run 10 servers 
		each with up to two clients, or one server with up to 20 clients.
		
		2.2) I started a Paradise server allowing 10 
		clients, now I need to allow 20. Do I have to shut down the server to do 
		this?
		
You don't need to restart the server; you just need to reinitialize it. 
		Just edit the maxlicense resource in your Paradise configuration 
		file (as described in the previous answer), and reinitialize the Paradise server 
		using padmin or xpadmin. The Paradise server will 
		allow the new number of clients if the license allows it. Clients that were 
		already connected will not be affected.
		
		2.3) Why do I get the message: 
		"Paradise: cannot find tuplespace file" when 
		running a Paradise application or XPadmin?
		
This message means that the Paradise server failed to find a file the 
		contains one of its tuple spaces. Either someone deleted a swap file (with a 
		name like Ls00000a), or perhaps multiple Paradise servers were started from the 
		same directory without changing the default setting of the swapdir resource in 
		the Paradise configuration file. In the latter case, if both Paradise servers 
		swap out some tuple spaces to disk, the second server to do so could clobber 
		some of the first servers swap files. Then, the first server to swap one of 
		those tuple spaces back into memory will delete the file, leaving the other 
		without a swap file for one or more of its tuple spaces.
		
Another scenario is that some strange sharing of the tuple space occurs 
		between the two servers. If the tmp tuple space is only occasionally used, for 
		example, both servers might swap it out, and then take turns swapping it in, 
		changing it, and swapping it out again. This could happen even if the servers 
		occasionally get "cannot find tuplespace file" errors.
		
The moral is: don't start more than one Paradise server from the same 
		directory without changing the value of the swapdir resource. One way to solve 
		the problem is to set the swapdir resource to 
		/tmp:
  Paradise.Node.swapdir: /tmp
		
This is might be a better default than ".", because it is 
		usually local to each workstation, except that very often there isn't much space 
		in the partition containing /tmp. Another solution is to set 
		swapdir differently on different workstations:
  Paradise.frank.swapdir: /usr/local/tmp
		  Paradise.joe.swapdir: /var/tmp
		  Paradise.Node.swapdir: /tmp
		
This sets the swap directory to /usr/local/tmp on node 
		frank, to /var/tmp on node joe, and to /tmp everywhere 
		else.
		
		2.4) I started a server with over a hundred 
		licenses, but clients start failing before I reach a hundred clients. What's 
		wrong?
		
Some workstations (for instance Suns) have a rather low default limit on 
		the number of file descriptors that can be used by a process. Shell commands 
		such as limit or ulimit can often be used to increase this limit up to some hard 
		limit.
		
On Suns, the default soft limit is commonly 64. This can be increased, up 
		to a maximum of 256, with the the C shell command:
   0mit descriptors 256
		
or the Korn shell command:
  0limit -n 256
		
On Alphas, the default soft limit is 4096, which is the hard limit, 
		also.
		
On HPs, the soft limit is commonly 60, and the hard limit is commonly 
		1024. SAM can be used to increase both of these limits. However, the standard 
		shells don't provide support for increasing the soft limit. Thus, the current 
		version of the Paradise server can only have about 56 simultaneous Paradise 
		clients, unless SAM is used to reconfigure the Unix kernel.
		
The following program, called setrlimit, can be used as a work around 
		until the next release. It acts as a wrapper for paradise, invoked as 
		follows:
  etrlimit paradise
		
It could be incorporated into the paradise command, since paradise is 
		actually a shell script in the hp/bin directory. In particular, the 
		lines:
  exec ${LINDA_PATH}bin/paradise_server
		and
		  exec ${LINDA_PATH}bin/paradise_server "$@"
		could be changed to
		  exec ${LINDA_PATH}bin/setrlimit ${LINDA_PATH}bin/paradise_server
		and
		  exec ${LINDA_PATH}bin/setrlimit ${LINDA_PATH}bin/paradise_server "$@"
		
after putting setrlimit into the hp/bin directory.
		
The source code for setrlimit.c is:
*************** Start of setrlimit.c ***************
		#include <errno.h>
		#include <sys/time.h>
		#include <sys/resource.h>
		#include <stdlib.h>
		#include <stdio.h>
		int
		main(argc, argv, envp)
		    int argc;
		    int *argv[];
		    int *envp[];
		{
		  int status = 1;
		   struct rlimit rlp;
		  if (argc > 1) {
		     if (getrlimit(RLIMIT_NOFILE, &rlp) == 0) {
		        rlp.rlim_cur = rlp.rlim_max;
		       if (setrlimit(RLIMIT_NOFILE, &rlp) == 0) {
		       argv++;
		        execve(argv[0], argv, envp);
		        _exit(1);
		     }
		      else
		          perror("setrlimit");
		    }
		     else
		         perror("getrlimit");
		  }
		    return(status);
		}
		***************** End of setrlimit.c ***************
		2.5) When I start the server, I get an error 
		saying it can't register the server. What's wrong?
		
Here is a representative error message:
		
PARADISE Fatal error(345) 10/05 13:50: unable to register 
		(LINDA_OTS,
LINDA_OTS_VERSION, tcp) main.c:81
		
This indicates that the local portmapper was unable to register the 
		paradise server service. This could have a number of causes, including that the 
		portmapper is messed up, or some other service is already registered.
		
You can look at the portmapper using the command rpcinfo -p. 
		The paradise server currently registers with program number 536873369, version 
		1. If the service is registered, you will see something like:
  536873369 1 tcp 2455
		
You can use rpcinfo -d to forceably deregister a service (as 
		root).
		2.6) When I start the server, I get an error 
		message saying it "cannot obtain needed licenses". What's 
		wrong?
		
PARADISE Fatal error (350) 11/06 09:54: cannot obtain needed 
		licenses
		
This error occurs when the license server does not have available enough 
		Paradise (PSV) licenses to satisfy the amount requested by a starting Paradise 
		server. By default Paradise requests 10 license tokens when it starts. If the 
		license server only has 8 tokens available the Paradise server will fail to 
		start. If this occurs you can start Paradise again explicitly specifying fewer 
		tokens:
  0aradise -n 8
		
The lsmon command provided with a Paradise distribution is useful for 
		querying the license server to determine how many licenses it does have 
		available.
  mon
		  lsmonitor for LicenseServ 3.2a Copyright (c) Viman Software Inc. 
		  Feature Name: PSV(v0) (floating license) No expiration date.
		  Concurrent licenses: 220
		  Available unreserved : 150 In Use: 70
		  Available reserved : 0 In Use: 0
		  Number of subnets : 0
		  Site License info : *.*.*.*
		  Hold time: 0 minute(s)
		  Hostid based locking
		
		
		TOC, 1, 2, 3, 4