\usepackage{color}
\usepackage{graphicx}
\usepackage{wrapfig}
-\usepackage{hyperref}
+\usepackage[hidelinks=true]{hyperref}
+\usepackage[disable]{todonotes}
+\usepackage{tikz}
+\usepackage{enumitem} % for sparse lists with \setlist
+\usetikzlibrary{arrows}
+% use sans-serif font for code instead of default monospace
\urlstyle{sf}
+\makeatletter \def\verbatim@font{\sffamily} \makeatother
+
+% optimize vertical space in lists
+\setlist[enumerate]{noitemsep}
+\setlist[itemize]{noitemsep}
+
+% ...and in verbatim environment
+\usepackage{etoolbox}
+\makeatletter \preto{\@verbatim}{\topsep=0pt \partopsep=0pt} \makeatother
\newcommand{\pages}[1]{\marginpar{#1 pages}}
-\newcommand{\todo}[1][]{\textcolor{red}{TODO #1} \\}
\newcommand{\term}[1]{\emph{#1}}
\newcommand{\code}[1]{\textsf{#1}}
\begin{document}
\maketitle
-%% Introduction
-\section{Introduction}
-\todo
-\pages{0-1}
-short overview, not too long: what do we want, what are we
-going to do
-
-basically: how do we talk to our smart home?
-\paragraph{Human-to-Machine Communication:} especiall in the Internet of Things,
- Chatty Things need to be accessible for the user and should be easy to talk
- to.
-\paragraph{Interoperability} integration into already existing
-infrastructure.
-
+\input{sec-intro.tex}
%% Prerequisites
-\section{Prerequisites}
-\todo
-overview to the techniques used in the paper by Klauk and Kirsche
+\section{Prerequisites}\label{sec:prereq}
-\cite{klauck-kirsche-chattythings}
+In order to build a distributed, failure-tolerant network for our Chatty Things,
+we will first look at some techniques which can be used to eliminate centralized
+infrastructure. Most of these techniques are standardized by the IETF and widely
+used in existing networks. Finally, we will look at XMPP as the basic
+communication protocol used in Chatty Things.
\input{sec-address-allocation.tex}
\input{sec-dns-extensions.tex}
\input{sec-xmpp.tex}
\input{sec-chatty-things.tex}
-
-\section{Related Approaches}
-\todo
-\pages{3}
-Middleware, Application protocol gateways:
-\begin{itemize}
- \item Constrained Application Protocol \cite{draft-ietf-core-coap-18}
- \begin{itemize}
- \item machine-to-machine
- \item everything-built-in
- \item discovery over multicast, service discovery over /.well-known
- entry-point
- \item maps to HTTP => stateless => relies on application gateway
- \item low protocol overhead and parsing complexity (binary messages)
- \item only draft status
- \item UDP with Ack and IDs instead of TCP... (limited state machine)
- \item proxies
- \item asynchronous messages
- \end{itemize}
- \item MQ Telemetry Transport \cite{mqtt}
- \begin{itemize}
- \item TCP/IP
- \item small overhead: 2 byte header + variable header length
- \item publish-subscribe with topic names
- \item binary protocol => application-level gateway
- \item discovery?
- \end{itemize}
- \item Devices Profile for Web Services \cite{zeeb-moritz-ws4d}
- \begin{itemize}
- \item TCP/IP -> HTTP -> SOAP -> Web Services. Overhead!
- \item but very extendable and composable
- \item discovery as a service
- \item focused on multiple platforms, deeply embedded and servers
- \item IPv6 partly experimental
- \item ROM usage of uDPWS: 45 kByte
- \end{itemize}
-
-\end{itemize}
-
-\section{Discussion}
-\todo
-comparison of mentioned approaches
-
-\pages{1-2}
+\input{sec-outlook.tex}
+\input{sec-discussion.tex}
\bibliographystyle{plain}
-\bibliography{biblio}
+{\footnotesize \bibliography{biblio}}
\end{document}
% vim: set ft=tex et ts=2 sw=2 :