Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kernel-Middleware Interaction to Support Adaptation in Pervasive Computing Environments F. Samimi, P. McKinley, S. Sadjadi, P. Ge Software Engineering.

Similar presentations

Presentation on theme: "Kernel-Middleware Interaction to Support Adaptation in Pervasive Computing Environments F. Samimi, P. McKinley, S. Sadjadi, P. Ge Software Engineering."— Presentation transcript:

1 Kernel-Middleware Interaction to Support Adaptation in Pervasive Computing Environments F. Samimi, P. McKinley, S. Sadjadi, P. Ge Software Engineering and Networking Systems Laboratory Department of Computer Science and Engineering Michigan State University (

2 Agenda Motivations RAPIDware and transparent shaping Kernel-Middleware eXchange (KMX) Wireless video streaming case study Conclusions and Future Work

3 Pervasive Computing Driving Factors –Convergence of advanced electronic technologies (wireless, handheld, sensors, etc) and the Internet. –Promises anywhere, anytime access to data and computing. Need for Dynamic Adaptation –Heterogeneity of hardware, network, software. –Dynamics of the environmental conditions, especially at the wireless edge of the Internet –Limited resources (such as battery lifetime). Military ApplicationsHandheld/Wearable Computing Sensor Networks

4 RAPIDware Project Funded by U.S Office of Naval Research –Adaptable Software / Critical Infrastructure Protection Program –Outgrowth of Presidential Decision Directive 63 (May ’98) Software adaptation technologies for: –Detecting and responding to environmental changes –Strengthening self-auditing capabilities of “always-on” systems Focus: High-assurance adaptive middleware –Rigorous software engineering, code generation, etc –military command and control –crisis management systems –management of military/industrial installations Enable systems to operate through failures and attacks

5 Transparent Shaping Automatically transform existing non-adaptive programs into adaptable programs Business Logic Development Time Transparent Shaping Adaptive Logic Adaptation Assurance Tools and Techniques Compile Time Start/Load Time Run Time Hooks Dynamic Adaptation Adapt-ReadyAdaptable Adapted Corrective Logic

6 MetaSockets Provide low-level, adaptable communication Example of host-infrastructure middleware

7 TRAP (Transparent Reflective Aspect Programming) Generator that enables adaptive behavior to be woven into existing programs Java and C++ versions available Example: Existing Java applications can be “upgraded” to use MetaSockets Reflective Class Generator Application Source AspectJ Compiler (ajc) Aspect Generator Class Name List WrapperLevel _ MetaLevel _ Absorbing_ MulticastSocket. aj TRAP/J Java Compiler (javac) Data Flow Adapt-Ready App. Sender.class MulticastSocket

8 Adaptive CORBA Template (ACT) Enables run-time improvements to CORBA applications in response to unanticipated changes in either their functional requirements or their execution environments. Transparently weaves adaptive code into CORBA object request brokers (ORBs) at run time using a generic CORBA request interceptor. The woven code intercepts and adapts the requests, replies, and exceptions that pass through the ORBs

9 Need for More than Middleware… RAPIDware focuses on adaptive middleware technologies –Combines computational reflection, aspect-oriented programming, component-based design –Transparent shaping: automatically generating adaptable programs from non-adaptive existing programs –Automated checking for consistency and safe adaptation –Dynamic configuration of software sensors and actuators However, many adaptations require cooperation of middleware and the operating system, especially in pervasive computing contexts –Security (packet interception, usage monitoring) –Quality of service (faster response in OS) –Energy management (global tradeoffs among applications)

10 Kernel-Middleware eXchange (KMX) KMX investigates interaction between adaptive middleware and commodity operating systems Goal: general model of MW/OS interaction Enable sensors and actuators to “reach” from middleware into the OS kernel (as an optimization!) Combine vertical (cross-layer) and horizontal (cross- platform) adaptation

11 Example: “Universal” Adaptation Adaptive middleware mechanisms can be used to reconfigure transient proxies KMX can be used to support vertical cooperation Uses: Overlay networks, MANETs, wireless edge, … Application Middleware OS Hardware Communication Infrastructure Normal Data FlowIntercepted Data Flow Transient Proxy Vertical Cooperation Horizontal Cooperation

12 KMX Architecture Application Middleware Operating System Hardware Cross-Layer Coordination Incoming Control/Data Networking Subsystem Coordination and Decision Making Kernel- and hardware-level status information Transient Proxy Resources Network CPU Memory Energy Interception Outgoing Control/Data Actuator Sensor Kernel-Middleware Communication Incoming/Outgoing Flow Control Line Legend

13 Case Study Use KMX to improve wireless video streaming Linux implementation –In-kernel packet manipulation: interception of packet streams using iptables Transient proxies created at wireless edge –Dynamically configured using TRAP and MetaSockets –Intercept packet streams and add forward error correction

14 SENS Mobile Computing Testbed Multiple-cell WLAN –Various Wireless LANs –WLAN analyzers Mobile computers –Dell laptops (Windows, Linux) –iPAQ handhelds (Familiar Linux, Blackdown Java) –Xybernaut MA-V wearables (Windows) Multimeter for measuring energy consumption

15 Emerging approach: cross-layer adaptation –Vertical cooperation among multiple system layers –Horizontal cooperation among multiple platforms –Universal adaptation Combination of vertical and universal adaptation What do we address? –A generic model for the interaction between the middleware and operating systems –Kernel-Middleware eXchange (KMX) –Developing artifacts for KMX framework and including RAPIDware technology Introduction and Background

16 Case study –Scenario Enhancing QoS in wireless multimedia streaming –Experimental setup A hybrid wired-wireless testbed –Empirical results Significant improvement: –Packet loss / Video quality –Discussion Place of FEC encoding/decoding Real-time adaptation Prototype and Case Study

17 Test configuration and parameters Video Stream Path Sender 802.11b AP 100Mbps LAN Multicast Router 802.11b ad hoc network Receivers VideoHighway drive Number of Frames 1375 (original video contains 2001) Frame Rate25 fps Playing Time 55 seconds EncodingMpeg-4 avi Using DivX Pro 5.0.5 Codec 200 kbps encoding rate Max key frame interval: 12 frames Video Size352*288 (CIF) File Size1386 KB (on hard disk) Streaming1 KB packet-size (including a 48-byte application header) 1905 packets totally Video Specifications

18 Wireless networks produce dynamic and location dependent packet loss because of signal strength, interference, antenna alignment. 802.11b MAC layer does not provide link-level acknowledgement for multicast frames. FEC can be used to improving reliability by introducing redundancy into the data channel. Block Erasure Code Operation

19 Results Kernel Routing Middleware FEC (4, 2) Total Packet Loss (middleware layer) 27.01%8.6% Root Cause Analysis [Blurring] / [Jerky Motion] / [Block Distortion] [2.5%] / [45%] / [73.5%] [0%] / [32%] / [59.83%] VQM Score (video conferencing model) 2.133.94 (84.97% boost) Video Quality Measurement Overall Packet Loss and Video Quality Packet Loss

20 Related Work Cross-layer adaptation –Odyssey (CMU): application-aware adaptation –GRACE (UIUC): global adaptation in mobile multimedia applications –DEOS (GATECH): user/kernel communication and end-to- end adaptation –Milly Watt (Duke): energy efficiency  Coordination among layers on a single platform and exchange of events between end nodes Peer-to-Peer systems –Overlay networking Conductor (UCLA): distributed adaptation of data streams –Ad hoc networks Roofnet (MIT): routing in multi-hop wireless ad hoc networks  System-level (or application-layer) oriented

21 Conclusions and Future Work –KMX Coordinated adaptation at multiple platforms (distributed cooperation) Adaptive middleware as the key enabling technology Universal adaptation in a general framework Interaction between the middleware and operating system layers Universal adaptation KMX project KMX applications –QoS, security,and energy –Overlay networks –MANETs –Collection of artifacts for a building a framework

22 Conclusions KMX –Addresses cross-layer adaptation with respect to coordinated adaptation across multiple platforms (horizontal cooperation) –Adaptive middleware as the key enabling technology, extended into operating system –Universal adaptation needed to support distributed applications Cooperation among: –Adaptive middleware –Extensible operating system –Adaptable overlay networks Case study reveals potential benefits of this cooperation for wireless video streaming

23 Related Recent Activities MetaSockets (ISWC’02, FTDCS’03) Transparent weaving weaving of adaptive behavior into CORBA applications [ICDCS’04, ICAC’04] TRAP for Java programs [DOA’04] Efficient overlay networks [ICNP’03,ICDCS’04] Decision-making software [ICDL’04] –Hierarchical discriminant regression (HDR) –Enable systems to “learn” how to adapt effectively Safe adaptation [WADS’04] Adaptive energy management [IWQoS’04]

24 Potential Impact Robust group communication among users with disparate devices and networks Self-healing systems to support mission-critical communication and computation under highly dynamic environmental conditions. Self-auditing systems that can report state inconsistencies, incorrect or improper use of components. Dynamic resource allocation in devices limited by battery-lifetime, bandwidth, or compute power Systematic evolution of legacy software to accommodate new technologies and adapt to new environments

25 RAPIDware Subprojects Programming language abstractions for adaptation Support for adaptation in legacy applications Dynamic software composition –Safeness –Efficiency –Fault tolerance –Security Adaptive group key management Adaptive overlay networks

26 Acknowledgements This work was supported in part by –U.S. Navy, Office of Naval Research Grant No. N00014-01-1-0744 –National Science Foundation grants CCR-9912407 EIA-0000433 EIA-0130724 ITR-0313142

27 Further Information Related papers of the Software Engineering and Network Systems (SENS) Laboratory are available at: RAPIDware project: –Includes source code downloads Email contact:

Download ppt "Kernel-Middleware Interaction to Support Adaptation in Pervasive Computing Environments F. Samimi, P. McKinley, S. Sadjadi, P. Ge Software Engineering."

Similar presentations

Ads by Google