Next: Separation of ANTS run-time
Up: Making ANTS Suitable for
Previous: Making ANTS Suitable for
This is a summary of the changes on which the following sections
will elaborate.
-
Separation of ANTS run-time system and Node OS services.
We have started to separate the actual ANTS run-time system from
underlying services that will be provided by a Node OS. This separation
was made explicit by putting the services in a different package.
This should allow for different implementations. At this time, the node
services include a simple dispatch framework for incoming packets and
a node OS buffer type.
-
Introduction of a dispatch framework for incoming packets.
We implemented a dispatch framework in Java that allows early packet
demultiplexing. Our framework may be extended by active protocols.
-
Providing separate name spaces and threads for each protocol.
While ANTS 1.2 used one global name space for all remotely loaded
protocols, we now run each protocol in its own name space. ANTS 1.2
used one thread per channel; we now use one thread per protocol, opening
the possibility of per-protocol resource control.
-
Additions, updates, and fixes.
We added a simple remote console that allows one to connect to a running
router to obtain and set status information. We updated the code base
to JDK 1.1 and fixed a number of minor things. These changes are detailed
in the Appendix.
ANTS' author, Dave Wetherall of MIT, has reacted positively to a
general outline of our changes and intends to incorporate them into
the main distribution when his time allows. Our ANTS snapshot
is available from http://www.cs.utah.edu/projects/flux/janos/.
Jay Lepreau
Tue Jun 2 05:48:49 MDT 1998