Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Distributed operating system wikipedia , lookup
Airborne Networking wikipedia , lookup
Policies promoting wireless broadband in the United States wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Wireless security wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
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 (http://www.cse.msu.edu/sens) Agenda • Motivations • RAPIDware and transparent shaping • Kernel-Middleware eXchange (KMX) • Wireless video streaming case study • Conclusions and Future Work 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). Handheld/Wearable Computing Military Applications Sensor Networks 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 Transparent Shaping • Automatically transform existing non-adaptive programs into adaptable programs Adaptive Logic Dynamic Adaptation Transparent Shaping Adapt-Ready Adaptable Adapted Business Logic Corrective Logic Development Time Hooks Compile Time Start/Load Time Adaptation Assurance Tools and Techniques Run Time MetaSockets • Provide low-level, adaptable communication • Example of host-infrastructure middleware 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 Application Source Class Name List java.net. Sender.java MulticastSocket Java Compiler (javac) TRAP/J Aspect Generator Reflective Class Generator WrapperLevel_ MetaLevel_ Absorbing_ MulticastSocket MulticastSocket MulticastSocket .aj .java .java AspectJ Compiler (ajc) Adapt-Ready App. Sender.class Data Flow 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 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) 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 (crossplatform) adaptation 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, … Horizontal Cooperation Vertical Cooperation Transient Proxy Application Middleware OS Hardware Communication Infrastructure Normal Data Flow Intercepted Data Flow KMX Architecture Incoming/Outgoing Flow Control Line Sensor Legend Actuator Cross-Layer Coordination Application Transient Proxy Middleware Operating System Hardware Networking Subsystem Incoming Control/Data Interception Resources Network CPU Memory Energy Outgoing Control/Data Kernel- and hardware-level status information Kernel-Middleware Communication Coordination and Decision Making 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 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 Test configuration and parameters 100Mbps LAN 802.11b AP • Video Specifications Video Highway drive Number of Frames 1375 (original video contains 2001) Frame Rate 25 fps Playing Time 55 seconds Encoding Mpeg-4 avi Using DivX Pro 5.0.5 Codec 200 kbps encoding rate Max key frame interval: 12 frames Video Size 352*288 (CIF) File Size 1386 KB (on hard disk) Streaming 1 KB packet-size (including a 48-byte application header) 1905 packets totally Video Stream Path Router Sender Multicast Receivers 802.11b ad hoc network Block Erasure Code Operation • 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. Results 5 90 4.5 80 4 70 3.5 quality score percentage of packets received Packet Loss 100 60 50 40 30 Video Quality Measurement 3 2.5 2 ` 1.5 20 1 10 0.5 0 1 4 7 0 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 1 2 3 seconds Kernel Routing 4 5 video segment Kernel Routing Middleware - FEC (4, 2) Overall Packet Loss and Video Quality Kernel Routing Middleware FEC (4, 2) Total Packet Loss (middleware layer) 27.01% 8.6% Root Cause Analysis [2.5%] / [45%] / [73.5%] [0%] / [32%] / [59.83%] [Blurring] / [Jerky Motion] / [Block Distortion] VQM Score (video conferencing model) 2.13 3.94 (84.97% boost) Middleware - FEC (4, 2) 6 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-toend 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 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 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] 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 Further Information • Related papers of the Software Engineering and Network Systems (SENS) Laboratory are available at: http://www.cse.msu.edu/sens • RAPIDware project: www.cse.msu.edu/rapidware – Includes source code downloads • Email contact: [email protected]