\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}{\textcolor{red}{TODO} \\}
\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?
-
+\input{sec-intro.tex}
%% Prerequisites
-\section{Prerequisites}
-\todo
-overview to the techniques used in the paper by Klauk and Kirsche
-
-\cite{klauck-kirsche-chattythings}
-
-\input{address-allocation.tex}
-\input{dns-extensions.tex}
-\input{xmpp.tex}
-
-\section{System Architecture of Chatty Things}
-\todo
-\pages{3}
-\subsection{Service Provisioning Sublayer}
-\subsection{Bootstrapping}
-\subsection{Presence Subscription}
-
-\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
- \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
- \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{Prerequisites}\label{sec:prereq}
-\section{Discussion}
-\todo
-comparison of mentioned approaches
+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.
-\pages{1-2}
+\input{sec-address-allocation.tex}
+\input{sec-dns-extensions.tex}
+\input{sec-xmpp.tex}
+\input{sec-chatty-things.tex}
+\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 :