TY - THES AU - Aktas, Ismet TI - Harnessing cross-layer design PB - RWTH Aachen VL - Dissertation CY - Aachen M1 - RWTH-2016-00963 SP - 1 Online-Ressource (197 Seiten) : Diagramme PY - 2015 N1 - Veröffentlicht auf dem Publikationsserver der RWTH Aachen University 2016 N1 - Dissertation, RWTH Aachen, 2015 AB - The success of today’s Internet can partly be attributed to the design of the layered protocol stack. This design organizes communication protocols, that establish the rules of communication between different communicating entities, in hierarchical layers. These layers are strictly separated and offer only limited interfaces among adjacent layers. Essentially, protocols at each layer have a very specific task and they need to fulfill this task independently. Although this self-contained design of protocols worked well in wired networks, several problems appeared with the emergence of wireless and mobile communication. A prominent example is TCP’s performance drop in wireless networks as it misinterprets packet loss, due to poor link conditions, as congestion in the network. In principle, the missing knowledge of higher layers about volatile wireless conditions and in case of lower layers about higher layer requirements leads to misinterpretation and misbehavior causing suboptimal performance.A promising concept that addresses the lack of information availability is the cross- layer design paradigm which in fact circumvent the rules of strict layer separation and allows the interaction across non-adjacent layers. Many specific solutions, i.e., problem-oriented and tailor-made implementations, have demonstrated the utility of this paradigm by highlighting adaptivity advantages and performance improvements of applications and protocols. But a typical consequence of the very specific focus of the tailor-made solutions was the violation of software engineering principles such as maintainability and extensibility which are the major driving factors for the success and proliferation of software in general.As a result of this observation, a few static cross-layer architectures have been proposed that facilitate systematic design and the integration of several specific solutions. Unfortunately, in static cross-layer architectures the cross-layer coordination algorithms are deeply embedded into the operating system (OS) and are realized at compile-time. This static and deep integration into the OS has several drawbacks. First, the design of cross-layer coordination algorithms requires relevant expertise to understand and modify protocols residing in the OS. Second, the experimen- tation with cross-layer coordination algorithms is tedious since their modification requires a recompilation. Third, coordination algorithms are always active even if not needed. Finally, application developers who know best about their application requirements and constraints are prevented from specifying and providing their own set of cross-layer coordination algorithms.In this thesis, we present Crawler, a flexible cross-layer architecture that allows the specification, realization, and adaptation (i.e., addition, removal and modification) of cross-layer coordination algorithms at runtime. Based on the detection of underlying environmental changes, Crawler allows to automatically load the adequate set of coordination algorithms. It alleviates the problem of complicated access to relevant application, protocol, and system information by enabling a declarative and abstract way to describe cross-layer coordination algorithms and by providing a unified interface to inject such abstractions into the system. The generic design of this unified interface further enables the extensive experimentation with diverse compositions of cross-layer coordination algorithms and their adaptions. Moreover, the interface allows applications to provide own coordination algorithms, to share information with the system and system monitoring. In this context, we classify problems such as conflicts when adding multiple cross-layer coordination algorithms and support developers to tackle them. In general, we enable an unprecedented degree of flexibility and convenience to monitor, experiment and run several cross-layer coordination algorithms. To further support the developer while experimenting, we even allow to remotely add, remove, and modify cross-layer coordination algorithms and their monitoring. We demonstrate the usability of Crawler for monitoring and experimentation with cross-layer coordination algorithms in five diverse use cases from different areas of wireless networking such as manipulating TCP behavior, VoIP codec switching, jamming detection and reaction. LB - PUB:(DE-HGF)11 UR - https://publications.rwth-aachen.de/record/567775 ER -