Recent Active Networks research has produced programmable network platforms that support an unprecedented level of user customization of network services to enhance and enable new forms of application. Presently, however, the power of active networks is mostly ``untamed''. To take advantage of it, applications must be written in a particular language and/or must invest in a substantial programming effort to interface with the features offered by the various active network execution environments. The next step in the evolution of active networks --the one that will support radical new uses of the network and increases in scalability-- is packaging the power of a programmable platform into services that are easy for applications to use, yet customizable. The ActiveCast project will develop a set of services that will not only dramatically enhance the ``application-friendliness'' of active networks, but will also improve the scalability and usability of networks in general.
Examples of these network services are:An Anycast service that allows messages to be sent to any node satisfying a set of user-supplied selection criteria. Anycasting has wide applicability for information dissemination, distributed registration and computation distribution, and is ideally suited for rapidly changing network topologies (e.g., battlefield networks). As wide-area networks and use of information-dissemination services continue to grow, we expect that the problem of mapping a functional specification to a destination (server) address --a problem presently solved with DNS, which was not designed for the purpose-- will become more and more important, and that anycast will eventually achieve usage on par with unicasting.
A Concast service that provides N-to-1communication, where flows from N senders are merged together as they travel toward the receiver. Concast completes the hiding of individual addresses in group communication (begun by multicast) by allowing an address to represent a group of senders as well as receivers. Concast is most useful when the semantics of the ``merge'' operation can be defined by the user, and is thus a perfect match for active networks.