Serialized Form


Package drm.agentbase

Class drm.agentbase.Address implements Serializable

Serialized Fields

host

java.net.InetAddress host
The host where the agent exists.

port

int port
The port on which the base is listening.

name

java.lang.String name
The name of the agent.

Class drm.agentbase.Base implements Serializable

Serialized Fields

port

int port
The port number on which the base listens. If -1 then the base is offline.

listenThread

drm.agentbase.Base.ListenThread listenThread
Thread that accepts network connections.

serverSocket

java.net.ServerSocket serverSocket
Listens on the main port.

clm

drm.agentbase.ClassLoaderManager clm
Manages class loaders used by the agents.

baseListeners

java.util.List baseListeners
Classes that listen to the fired base events.

REFRESHRATE

long REFRESHRATE
Hard wired par. The housekeeping jobs are done in this time intervals.

JAR_TIMEOUT

long JAR_TIMEOUT
Hard wired par. The jar files belonging to the classloaders of agents are removed after this timeout of non-usage.

cfg

java.util.Properties cfg
The configuration properties. These mustn't be changed after initialization, extending classes must take care of that.

boxes

java.util.Map boxes
Stores all agents and related information. Key is the agent name, value is an AgentBox. Extending classes mustn't change this map, and they have to synchronise every access and iteration over it. Otherwise realiable behaviour is not guaranteed.

name

java.lang.String name
A unique name for the base. Initialized after cfg has been initialized using getUniqueName(). This later function can be overridden in extending classes and the function can use values from cfg. The generated name is stored in cfg as drm.baseName and can be asked via getProperty.
See Also:
Base.cfg, Base.getUniqueName(), IBase.getProperty(String)

group

java.lang.String group
To store the group name. The constructor sets it.

Class drm.agentbase.LaunchImpossibleException implements Serializable

Class drm.agentbase.Message implements Serializable

Serialized Fields

sender

Address sender

recipient

Address recipient

type

java.lang.String type

content

byte[] content


Package drm.agents

Class drm.agents.Agent implements Serializable

Serialized Fields

name

java.lang.String name
This is the name of the agent.

type

java.lang.String type
This is the type identifyer of the agent.

job

java.lang.String job
This is the job name the agent participates in.

Class drm.agents.ContributorAgent implements Serializable

Serialized Fields

collective

Collective collective
The collective this object is a membet of.

root

Address root
The root contributor. The presence of this is not crutial, it only provides a fixed and reliable address to fall back to.


Package drm.core

Class drm.core.Collective implements Serializable

Serialization Methods

readObject

private void readObject(java.io.ObjectInputStream in)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
Not only deserialises the object, also performs adjustments on the timestamps to bring them in alignment with the local time. Reads the current time on the peer node first. If the timestamp of any items in the cache or commands are newer throws and IOException, because that means the object is corrupted. Sets the timestamp of the contribution of the peer (if any) to the current local time.

writeObject

private void writeObject(java.io.ObjectOutputStream out)
                  throws java.io.IOException

Class drm.core.ContributionBox implements Serializable

Serialized Fields

timeStamp

long timeStamp

contributor

Address contributor

contribution

java.lang.Object contribution

Class drm.core.Node implements Serializable

Serialized Fields

DRM

Collective DRM
The interface to the collective forming the distributed resource machine by connecting the standalone agentbases (Base) together. The collective contains contributions of other participants and collection-wide controll commands.

lastPeer

ContributionBox lastPeer
we store the last peer the collective communicated with here

newCommands

java.util.HashSet newCommands
Temporary storage place for the commands we want to spread through the collective. getCommands() reads it.

executedCommands

java.util.List executedCommands
A queue of executed commands. The maximal size of the queue is Collective.MAX_COMMANDS_SIZE. After reaching this size the oldest element is removed.

Class drm.core.NodeCommand implements Serializable

Serialized Fields

com

byte com
the byte code of the command

pars

java.lang.Object[] pars
null if there are no parameters to the command.

quiteUniqueID

long quiteUniqueID
well, even if it is not unique (which is rather unlikely), together with the rest of the fields makes the command unique.

Class drm.core.NodeContribution implements Serializable

Serialization Methods

readObject

private void readObject(java.io.ObjectInputStream in)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException

writeObject

private void writeObject(java.io.ObjectOutputStream out)
                  throws java.io.IOException


Package drm.server

Class drm.server.TestGUINode implements Serializable

Serialized Fields

list

javax.swing.JList list

listModel

javax.swing.DefaultListModel listModel

listScroller

javax.swing.JScrollPane listScroller

selectedAgent

java.lang.String selectedAgent
Name of the agent that was selected in the list.

node

Node node

cfg

java.util.Properties cfg
The configuration parameters.


Package drm.util

Class drm.util.ConfigProperties implements Serializable