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 www.cse.msu.edu/sens
15
Embed
International Symposium on Distributed Objects and Applications (DOA 2002) MetaSockets MetaSockets Run-Time Support for Adaptive Communication Services.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
International Symposium on Distributed Objects and Applications (DOA 2002)
MetaSocketsMetaSocketsRun-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
www.cse.msu.edu/sens
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.
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.
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
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 paththread
(a) MetaFECEncoder
start()stop() setSrcPacketBuffer()
setDstPacketBuffer()setNK()
FE
getSrcPacketBuffer()getDstPacketBuffer()getNK()
start()stop() setSrcPacketBuffer()
setDstPacketBuffer()setNK()
FD`
getSrcPacketBuffer()getDstPacketBuffer()getNK()
FilterMismatchEventFECMismatchNKEvent
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. N00014-01-1-0744, and in part by National Science Foundation grants CDA-9617310, NCR-9706285, CCR-9912407, EIA-0000433, and EIA-0130724.
– Special thanks to Dr. Kurt Stirewalt for his contribution to this work.