Abstract. Binary component adaptation (BCA) allows components to be adapted and evolved in binary form and on-the-fly (during program loading). BCA rewrites component binaries before (or while) they are loaded, requires no source code access and guarantees release-to-release compatibility. That is, an adaptation is guaranteed to be compatible with a new binary release of the component as long as the new release itself is compatible with clients compiled using the earlier release. We describe our implementation of BCA for Java and demonstrate its usefulness by showing how it can solve a number of important integration and evolution problems. Even though our current implementation was designed for easy integration with Sun's JDK 1.1 VM rather than for ultimate speed, measurements show that the load-time overhead introduced by BCA is small, in the range of one or two seconds. With its flexibility, relative simple implementation, and low overhead, binary component adaptation could significantly improve the reusability of Java components.
--Video distribution over the Internet poses many challenges. Due to the best-effort nature of today's public data networks, end system applications cannot rely on either bandwidth or delay guarantees. We designed and implemented a prototype of a multicast video distribution architecture involving knowledgeable active routers, a scalable video codec based on wavelet transformation, and a high-performance video scaling algorithm implemented as a router plugin. The plugin scales the video with an average overhead of only 22 µs per video datagram and is installed on-the-fly on the routers after the sender starts transmitting video for the first time. Through experiments on our test network, we show that we can dramatically improve the video quality on the receivers (up to 15 dB PSNR) by scaling the video on the routers to almost any target bandwidth. The target bandwidth is evaluated by the router solely based on monitoring of the load situation of the router's downstream links and can be adjusted within 50 ms.
Abstract. Commercially available routers typically have a monolithic operating system that cannot be easily tailored and upgraded and support new network protocols. PromethOS is a modular router architecture based on Linux 2.4 which can be dynamically extended by plugin modules that are installed in the networking kernel. To install and configure plugins we present a novel signaling protocol that establishes explicitly routed paths transiting selected nodes in a predefined order. Such paths can be non-simple, where a given node is being visited more than once.
Active networks allow customized processing of data traffic within the network which can be used by applications to improve the quality of their sessions. To simplify the development of active applications in a heterogeneous environment, we propose "active pipes" as a programming abstraction to specify transmission and processing requirements. We describe how an active pipe can be mapped onto network resources by a shortest path algorithm, and how optimal processing sites and a route through the network can be determined. Additionally, we propose a scalable network software architecture implementing the functionality required for active pipes. 1
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.