\usepackage[T1]{fontenc}
\usepackage{ae}
\usepackage{color}
+\usepackage{graphicx}
+\usepackage{wrapfig}
+\usepackage{hyperref}
+
+\urlstyle{sf}
\newcommand{\pages}[1]{\marginpar{#1 pages}}
-\newcommand{\todo}{\textcolor{red}{TODO} \\}
+\newcommand{\todo}[1][]{\textcolor{red}{TODO #1} \\}
\newcommand{\term}[1]{\emph{#1}}
-\newcommand{\code}[1]{\texttt{#1}}
+\newcommand{\code}[1]{\textsf{#1}}
\title{Chatty Things -- Making the Internet of Things Readily Usable for the
Masses with XMPP}
\author{Roland Hieber}
-\date{Seminar Communications and Multimedia, TU~Braunschweig \\ \today}
+\date{Seminar Communications and Multimedia, TU~Braunschweig \\[1em] \today}
\begin{document}
\maketitle
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.
%% Prerequisites
\section{Prerequisites}
\todo
overview to the techniques used in the paper by Klauk and Kirsche
-\cite{klauck-kirsche-chattythings}
-
-\input{address-allocation.tex}
-
-\subsection{DNS-Based Service Discovery}
-\todo
-\cite{rfc6763}
-\begin{itemize}
- \item allows flexible mapping of available services to ports
- \item utilization of SRV \cite{rfc2782}, TXT and PTR records
- \item case study for IoT in \cite{Klauck:2012:BCC:2352852.2352881}
-\end{itemize}
-
-\pages{1}
-
-\subsection{XMPP}
-\todo
-\cite{rfc6120}
-\begin{itemize}
- \item architecture: client-server, use of DNS-SD
- \item addressing: JIDs, resources
- \item XML-based communication primitives, stanzas and streams
- \item presence
- \item publish/subscribe \cite{xep-0060}, roster
- \item multi-user chats \cite{xep-0045}
-\end{itemize}
-
-\pages{3-4}
-
-\subsection{Multicast DNS}
-\todo
-\cite{rfc6762} \pages{1}
-\subsection{XMPP Serverless Messaging}
-\todo
-\cite{xep-0174} \pages{1}
+\cite{klauck-kirsche-chattythings}
-\section{System Architecture of Chatty Things}
-\todo
-\pages{3}
-\subsection{Service Provisioning Sublayer}
-\subsection{Bootstrapping}
-\subsection{Presence Subscription}
+\input{sec-address-allocation.tex}
+\input{sec-dns-extensions.tex}
+\input{sec-xmpp.tex}
+\input{sec-chatty-things.tex}
\section{Related Approaches}
\todo
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}