jnode_help.txt


Scripts and JARs from jnode project
-------------------------------------

$Id: jnode_help.txt,v 1.3 2001/12/10 12:56:48 andyc Exp $

setjtrixip
----------

Usage: setjtrixip.bat

Calculates the ip address used on a local windows 2000 machine for the default
route. This will then be set as an environmental variable JTRIX_IP. 
This code is then used by the jnode.bat to calculate the shared ip for netlets. 
It creates a ipconfig.txt file for temporary processing.

jnode
------

Usage: jnode <nodenum> [-D<propertyname>=<value>]* [-jdb | -jdb2]
    [-nostdres] [-webres] [-cache-limit <size>] <extra_options>

Starts a new Nodality node with several defaults, including making
networking and disk resources available. The networking resources are
all on ports greater than 1024. Assumes all the relevant Jtrix JARs
are in the same directory as itself.

Arguments:

    -D<propertyname>=<value>
        Passed straight through to the Java interpreter which uses it
        to set a system property.
    -jdb
        Starts the Java interpreter with debugging on port 8000.
    -jdb2
        Starts the Java interpreter with debugging on port 8002.
    -nostdres
        Stops the default networking and disk resources being made available.
    -webres
        Makes extra networking resources available: ports 50-59 and 80-89
        inclusive. Not available on Windows; please look inside the script
        for details.
    -cache-limit <size>
        Limits the amount of disk space used by the cache. The size is
        specified in bytes and applies to the total size of the contents
        of the directory where the cached jars are kept. This means that 
        if the cache directory is shared between several jnode's, the
        size of the cache will never grow larger than the maximum of the
        arguments given to each of them. A size of 0 means no limitatation
        to the size of the cache.
    <nodenum>
        ID number for this node.
    <extra_options>
        Passed directly to jnode.jar. This includes netlet descriptors
        and their key/value pairs.

Files:

    jnode.policy
             Java security policy used for jnode.jar.
    /var/tmp/jtrix/disk-<pid>
        Directory used for the disk space resource, where <pid> is
        the script's process ID.
    /var/tmp/jtrix/cache
        Directory used for JAR caching,


jnode.jar
----------

Usage: java -jar jnode.jar <dir> <nodeid> [-pause]
            [-disk <resid> <diskdir>]* [-static <resid> <stlabel> <stpath>]*
            [-halflife <minutes>] [-cache <cachedir>]
            [-netrange <resid> <netaddr> <min-port> <max-port>]
            [-netblock <resid> <netaddr> <min-port> <max-port> <block-size>]
            [-shared <shaddr>]* [-description <oid> <descname>]
            [-preload <jardir>|<jarfile>]*
            [-group <grport>] [-netlet-stdio] [-boot-stdio]
            [-acct] [<descriptor> [<key>=<value>]* ]* ...

Starts a new Nodality node with group communication facilities. It may
be the first node in its cluster, or may join an existing
cluster. Allows allocation of resources to nodes. Each resource is
given a resource ID integer. Different resources must be given IDs
that are unique across the cluster. Conversely, jnode can tell if two
resources are the same only if they have the same ID. Several netlet
descriptors may be specified to be started in sequence. Each of these
is called a "bootstrap netlet" and has special access to I/O streams
as specified in key/value pairs.

Arguments:

    <dir>
        Base directory in which it will run, which contains all the
        relevant Jtrix JARs.
    <nodeid>
        ID number for this node. Must be unique within this cluster.
    -pause
        Wait for keyboard input before starting up node. Allows one to
        attach a debugger before anything complicated happens.
    -disk <resid> <diskdir>
        Allocate disk space which may be made available to netlets on this
        node. It will be resource ID <resid> and map to directory <diskdir>.
    -static <resid> <stlabel> <stpath>
        Assign a read-only resource to resource ID <resid>. The resource is
        confined to volume labelled <stlabel> and is the file or directory
        labelled <stpath>.
    -halflife <miutes>
        Every <minutes> minutes there is a 50% chance of the node terminating.
        Useful for testing robustness.
    -cache <cachedir>
        Directory in which JARs etc may be cached.
    -netrange <resid> <netaddr> <min-port> <max-port>
        Allocate an IP address which may be made available to netlets on this
        node. It will be resource ID <resid> and have IP address <netaddr>.
        Netlets using this resource have access to the specified port range.
        This resource class has a single instance.
    -netblock <resid> <netaddr> <min-port> <max-port> <block-size>
        Allocate an IP address which may be made available to netlets on this
        node. It will be resource ID <resid> and have IP address <netaddr>.
        Netlets using this resource have access to <blocksize> ports from
        the specified range.  This resource class has many potential instances
    -shared <shaddr>
        All netlets are given networking facilities. This specifies the IP
        address through which the node sends all such communications. Either
        the local IP address of the machine, or 127.0.0.1.  Netlets using
        this resource are currently limited to port 1024 and greater
    -preload <jardir>|<jarfile>
        Load one or more jar files (.jar) at bootup in order to accelerate
        descriptors uploading.
        Each jar file must be preceded by '-preload'. If a directory is specified
        (instead of a single jar file) all the jar files (files with 
        extension .jar) in that directory are preloaded.
    -description <oid> <descname>
        A brief description for this node. For example we may allocate
        <oid> 1 to be the hostname, 2 to be the node's physical location,
        etc. The <oid> may be a dotted integer such as "1.4.3". We may
        specify the -description several times for different <oid>s.
        The <descname> should not include spaces.
    -group <grport>
        Says which port the node should listen on for messages from
        other nodes. Must be greater than zero. All nodes in the same
        cluster should listen on the same port if they are to communicate
        successfully. This works even if two nodes are on the same machine,
        since unicast isn't used for this.
    -netlet-stdio
        Tells the node to capture standard I/O from netlets and write it
        to STDIO. Otherwise, since netlets run in their own virtual
        environments, it is discarded. Useful for troubleshooting netlets
        when we test them on a local node.
    -boot-stdio
        Tells the netlet to capture node boot information on STDIO.
    -acct
        Switch on accounting for resource usage.
    <descriptor>
        Filename of descriptor to run straight after the node boots. If there
        are several of these then they are run sequentially.
    <key>=<value>
        Define an input/output mapping for the last descriptor specified.  When
        the netlet tries to read or write through the bootstrap interface the
        filename is determined through these mappings.  Input mappings must be
        specified. Output mappings may be unspecified, in which case the output
        will be discarded.

(ends)

Nik Silver 2002-03-09