International Symposium on Distributed Objects and Applications (DOA 2002) MetaSockets MetaSockets Run-Time Support for Adaptive Communication Services.

Slides:



Advertisements
Similar presentations
UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Why Current Middleware Fails for Mobile Peer-to-Peer Computing Thomas Kunz Systems and Computer Engineering.
Advertisements

An OpenFlow Extension for the OMNeT++ INET Framework
Agents & Mobile Agents.
Data Link Layer B. Konkoth. PDU  Protocol Data Unit  A unit of data which is specified in a protocol of a given layer  Layer 5, 6, 7 – Data  Layer.
Kernel-Middleware Interaction to Support Adaptation in Pervasive Computing Environments F. Samimi, P. McKinley, S. Sadjadi, P. Ge Software Engineering.
Chapter VI Data Communication: Delivering Information Anywhere and Anytime By: AP CHEN P. JOVER BSIT - III.
A Server-less Architecture for Building Scalable, Reliable, and Cost-Effective Video-on-demand Systems Jack Lee Yiu-bun, Raymond Leung Wai Tak Department.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Yi Liang Department of Electrical Engineering Stanford University April 19, 2000 Loss Recovery and Adaptive Playout Control for Packet Voice Communications.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
Security Awareness: Applying Practical Security in Your World, Second Edition Chapter 5 Network Security.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
An Aspect-Oriented Approach to Dynamic Adaptation August 8, 2002 Presented by: Sherri Goings Advisors: Dr. Dillon, Dr. Cheng, Dr. Stirewalt SENS Lab
Grids and Grid Technologies for Wide-Area Distributed Computing Mark Baker, Rajkumar Buyya and Domenico Laforenza.
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek.
Enhancing TCP Fairness in Ad Hoc Wireless Networks Using Neighborhood RED Kaixin Xu, Mario Gerla University of California, Los Angeles {xkx,
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Safe Dynamic Adaptation Department of Computer Science & Engineering Ji Zhang and Zhenxiao Yang Advisor: Prof. Betty H.C. Cheng Software Engineering and.
1 25\10\2010 Unit-V Connecting LANs Unit – 5 Connecting DevicesConnecting Devices Backbone NetworksBackbone Networks Virtual LANsVirtual LANs.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
SHEAU-RU TONG Management Information System Dept., National Pingtung University of Science and Technology, Taiwan (R.O.C.) YUAN-TSE.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Philip K. McKinley Software Engineering and Network Systems Laboratory Department of Computer Science and Engineering Michigan State University RAPIDware:
Run-Time Support for Adaptive Communication Services By: SeyedMasoud Sadjadi Advisor: Dr. Philip K. McKinley Computer Science and Engineering Michigan.
Midterm Review - Network Layers. Computer 1Computer 2 2.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
L. Dillon Software Engineering & Network Systems Laboratory Michigan State University 1 Getting Results From Testing Laura K. Dillon Software Engineering.
Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.
Improving QoS Support in Mobile Ad Hoc Networks Agenda Motivations Proposed Framework Packet-level FEC Multipath Routing Simulation Results Conclusions.
A SENS Internal Presentation on Friday, October 3, 2003 TRAP Transparent Reflective Aspect Programming SeyedMasoud Sadjadi Supervised by Dr. McKinley
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
ONR Review – June 11, 2003 RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Philip McKinley, Kurt Stirewalt, Betty Cheng, Laura.
1 Javier Ocasio Pérez Mentor: Masoud Sadjadi Graduate Students: Fernando Trigoso Ana M. Sanchez Tuan Cameron Allen Lee A Remote Composer for TRAP.NET.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Multicast In Wireless Mobile Environments Reporter: 江俊毅.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi Software Engineering and Networking Systems Laboratory Department of.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks
Jini Architecture Introduction System Overview An Example.
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
December 4, 2002 CDS&N Lab., ICU Dukyun Nam The implementation of video distribution application using mobile group communication ICE 798 Wireless Mobile.
1 010/02 Aspect-Oriented Interceptors Pattern 1/4/2016 ACP4IS 2003John Zinky BBN Technologies Aspect-Oriented Interceptors Pattern Dynamic Cross-Cutting.
ETE Framework for QoS guarantee in Heterogeneous Wired-cum-Wireless Networks (cont.) 홍 석 준
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
1 A Service-based Approach to Developing Android Mobile Internet Device (MID) Applications Hyun Jung La and Soo Dong Kim Department of Computer Science.
1 Javier Ocasio Pérez Mentor: Masoud Sadjadi Graduate Students: Fernando Trigoso Ana M. Sanchez Tuan Cameron Allen Lee A Remote Composer for TRAP.NET.
The Data Link Layer RIS 251 Dr. ir. S.S. Msanjila.
Supporting Mobile Collaboration with Service-Oriented Mobile Units
RSVP: A New Resource ReSerVation Protocol
Layering & protocol stacks Johan Lukkien
Quality-aware Middleware
Presentation transcript:

International Symposium on Distributed Objects and Applications (DOA 2002) MetaSockets MetaSockets Run-Time Support for Adaptive Communication Services S. M. Sadjadi, P. K. McKinley, E. P. Kasten Software Engineering and Networking Systems Laboratory Department of Computer Science and Engineering Michigan State University

Motivations  Mobile computing applications must adapt to the dynamic situations related to several cross-cutting concerns including: –Quality of Service –Security –Energy Consumption –Fault Tolerance  Solution? –Adaptive Middleware.

Our Approach  RAPIDware Project: –Addresses the design of adaptive software.  Adaptive Java (AJ): –An extension to Java that provides language constructs and compiler support for developing adaptive software (previously done).  MetaSockets: –An adaptable communication component developed in AJ as the heart of our Adaptive Middleware.

Adaptive Java Background  Adaptable Component Model: –Component: the basic building block that can be equated to adaptable classes (composed of invocations). –Meta-Object Protocol: a set of meta-level primitives (refractions and transmutations).

Adaptive Java Background (cont.)  Three-Dimensional Interfaces: –Invocations: normal component imperative operations. –Refractions: operations for inspecting components. –Transmutations: operations for modifying components.  Component Absorption and Metafication: send() close() joinGroup() send() close() insertFilter() removeFilter() getStatus() receive() base-level invocation send() close() transmutation refraction leaveGroup() base-level method replaced invocation Java MulticastSocket AJ SendMSocket Base-Component AJ MetaMulticastSocket Meta-Compnent

MetaSocket Internal Architecture get() put() send() close() Filter Pipeline put() get() receive() joinGroup() close() Filter Pipeline send() close() receive() joinGroup() leaveGroup() close() getStatus() insertFilter() removeFilter() insertFilter() removeFilter() FP LP Fltr MT SS LP FP Fltr MT RS invocation refraction transmutation FP : firstPacketBuffer SS : SendMSocket dependency packet flow direction RS : RecvMSocket LP : lastPacketBuffer Fltr : Filter MT : MetaSocketThread thread MetaSendMSocket Internal Architecture: MetaRecvMSocket Internal Architecture:

MetaSocket Absorption Code public component SendMSocket absorbs java.net.MulticastSocket { /* constructor */ public SendMSocket(...) { setBase(new java.net.MulticastSocket(...)); } /* invocations */ public invocation void send(...) { base.send(...); } public invocation void close() { base.close(); } }

MetaSocket Metafication Code public component MetaSendMSocket metafy SendMSocket { /* constructor */ public MetaSendMSocket(SendMSocket sendMSocket) { setBase(sendMSocket); } /* invocation that "replaces" the send() invocation in SendMSocket */ public invocation void send(...) {... firstPacketBuffer.put(packet);... } /* refractions */ public refraction byte[] getStatus() { return filterPipeline.getStatus(); } /* transmutations */ public transmutation void insertFilter(int position, Filter filter) {... filterPipeline.add(position, filter);... } public transmutation Filter removeFilter(int position) {... return filterPipeline.remove(position); } /* private fields */ private java.util.Vector filterPipeline = new java.util.Vector(); PacketBuffer firstPacketBuffer = new PacketBuffer(); }

MetaSocket Evaluation  Audio Streaming Application (ASA) –MetaSocket is used instead of MulticastSocket –Live audio stream from a desktop to multiple iPAQs –Physical experiment configuration: Access Point Wireless Receivers Audio Stream Wired Sender...

ASA Components Interaction Wired Network Wireless Network Trader Filter Pipeline Component Loader Decision Maker (DM) Player Event Mediator LP FP MT RS PB AL NL FD Dependency Reflection Event propagation invocation refraction and transmutation thread AL : RecvAppLossDetector FD : FECDecoder NL : RecvNetLossDetector

ASA Components  Decision Maker: a optional component that controls all the non-functional behavior of the subcomponents in its container component, according to its rule-base.  Component Loader: a unique component in an address space that loads components from a trader, according to a set of policies.  Trader: a server that works as yellow pages and replies to component requests.  Event Mediator: Supports asynchronous interaction among decoupled components using a publisher- subscriber pattern.  Player: plays the incoming audio stream.

 Wireless networks produce dynamic and location dependent packet loss because of signal strength, interference, antenna alignment.  b 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

 MetaFECEncoder: a component in AJ that absorbs a FECEncoder class.  MetaFECDEcoder: a component in AJ that absorbs a FECDecoder class. Forward Error Correction Filters invocationrefraction transmutation FE : FECEncoder dependency event propagation path thread (a) MetaFECEncoder start() stop() setSrcPacketBuffer() setDstPacketBuffer() setNK() FE getSrcPacketBuffer() getDstPacketBuffer() getNK() start() stop() setSrcPacketBuffer() setDstPacketBuffer() setNK() FD` getSrcPacketBuffer() getDstPacketBuffer() getNK() FilterMismatchEvent FECMismatchNKEvent FD : FECDecoder (b) MetaFECDecoder

MetaSocket Performance Evaluation  FEC Filters inserted automatically at time 8, when loss rate exceeds 30%.  FEC Filters removed automatically at time 45, when loss rate drops below 10%.  Inserted again at time 60.  Removed again at time 80.

Conclusions and Future Directions  Conclusions: –Adaptive Java provides language support for run-time adaptation. –Experiments show that MetaSockets are an effective means to QoS- oriented adaptation.  Future Directions: –A MetaSocket is only one type of adaptable components. Any AJ component can be metafied and adapted at run time. –Other cross-cutting concerns (security, power consumption, and fault-tolerance) can be addressed with AJ components.  Acknowledgements: –This work was supported in part by the U.S. Office of Naval Research under Grant No. N , and in part by National Science Foundation grants CDA , NCR , CCR , EIA , and EIA –Special thanks to Dr. Kurt Stirewalt for his contribution to this work.