New ANTS release from Utah
June 1, 1998
The Flux group at Utah is developing a standalone node OS for active
networks based on the OSKit, a new JVM supporting hierarchical
processes, ANTS, and new resource control mechanisms. The emphasis is
on local resource management and security.
However, ANTS 1.2's execution model is not well suited to providing
per-protocol resource control. Therefore, one of our students, Godmar
Back (firstname.lastname@example.org), has begun to change ANT's structure and
execution model, resulting in extensive modifications and an interim
code snapshot. One change begins to separate node OS services from
the ANTS run-time; he also made a number of infrastructure
improvements. These changes should be useful in many environments.
Godmar has prepared both a new ANTS release and a document describing
his changes and their rationale. You can download or peruse these from
We've been in touch with Dave Wetherall, who is optimistic about
incorporating these changes into the mainline, when he gets the time.
Here's the "Summary of changes" from Godmar's document:
- 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.
University of Utah