% IMPORTANT: The following is UTF-8 encoded. This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.
@PHDTHESIS{Aktas:567775,
author = {Aktas, Ismet},
othercontributors = {Wehrle, Klaus and Widmer, Jörg},
title = {{H}arnessing cross-layer design},
school = {RWTH Aachen},
type = {Dissertation},
address = {Aachen},
reportid = {RWTH-2016-00963},
pages = {1 Online-Ressource (197 Seiten) : Diagramme},
year = {2015},
note = {Veröffentlicht auf dem Publikationsserver der RWTH Aachen
University 2016; Dissertation, RWTH Aachen, 2015},
abstract = {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.},
cin = {121710 / 120000},
ddc = {004},
cid = {$I:(DE-82)121710_20140620$ / $I:(DE-82)120000_20140620$},
typ = {PUB:(DE-HGF)11},
urn = {urn:nbn:de:hbz:82-rwth-2016-009634},
url = {https://publications.rwth-aachen.de/record/567775},
}