10 likes | 121 Views
Registers an instance of PktDispatchingService. Implements PktProcessor. dispatcher.addPktProcessor(this);. NetServ App Bundle. NetServ Building Block Bundle. packet flow. Equinox OSGi framework. NetServ OSGi Launcher. Java Virtual Machine. NetServ element. StaticIPLookup element.
E N D
Registers an instance of PktDispatchingService Implements PktProcessor dispatcher.addPktProcessor(this); NetServ App Bundle NetServ Building Block Bundle packet flow Equinox OSGi framework NetServ OSGi Launcher Java Virtual Machine NetServ element StaticIPLookup element CheckIPHeader element User-level Click router Single process (6) Module is removed from packet path (5) The NetServ module is stopped Jae Woo Lee, Suman Srinivasan and Henning Schulzrinne Internet Real-Time Laboratory, Columbia University {jae,sumans,hgs}@cs.columbia.edu Joint work with Bell Labs (Alcatel-Lucent), Deutsche Telekom and DOCOMO Euro-Labs NetServ: Extending Click Using Java OSGi Framework NetServ: Extensible architecture for core network services • Prototype architecture • NetServ • Element in user-level Click • Launches JVM • OSGi framework • Java bundles loaded and unloaded at runtime • Java 2 Security + isolation of bundles Modularization • Building Blocks • Service Modules Virtual Services Framework • Security • Portability No more ossification in network layer NetServ v. Click Hot-swap 1. Byte-code portability 2. Added layer of security 3. Brand new bundle can be added NetServ being ported to: Kernel-mode Click, JUNOS, OpenWRT Performance Evaluation (1) Packets without NetServ module on path (Payload is “netserv”) • Maximum Loss Free Forward Rate (MLFFR) • Demo • Insert and remove simple packet processing module into a running router • Module can be recompiled and the router can reload the new version (2) OSGi console showing modules installed Penalty from kernel-user transition (3) New NetServ module (which capitalizes payload) installed and started Penalty from detour to Java layer (4) The NetServ module at work! Kernel-user transition is likely to be unavoidable in a system that supports dynamic installation of 3rd party modules URL: http://www.cs.columbia.edu/irt/project/netserv/