\subsection{Service Provisioning Sublayer}
Considering the application in deeply embedded systems and the special needs of
-the Internet of Things on the one hand, the protocol stack needs to fulfil
+the Internet of Things on the one hand, the protocol stack needs to fulfill
certain technical requirements.
First, memory, computing resources and bandwidth on embedded systems are limited,
ROM and 0{.}63\ kBytes of RAM, which was about the size of the original,
unoptimized uXMPP implementation while also implementing new features.
-\todo{figure of example network structure with and without central server}
-
In order to react to different network infrastructures, their implementation
allows both communication with a central XMPP server as well as peer-to-peer
communication over XMPP Serverless Messaging. When a central XMPP server is
drawback that Multi-User Chats cannot be used for topic filtering, since no
method is specified to do XEP-0045 and XEP-0174 at the same time. In this case,
a user must have an XEP-0174-compliant chat client, but it also gives her the
-opportunity to interact with things spontaneously on an ad-hoc basis (e.~g. when
+opportunity to interact with things spontaneously on an ad hoc basis (e.~g. when
entering a room) without need for any additional gateway on the application
level.
\subsection{Bootstrapping}
With the given approach, bootstrapping new Chatty Things is easy and no
-configuration is neccessary: on the network layer, IP addresses can simply be
+configuration is necessary: on the network layer, IP addresses can simply be
obtained using IPv4 Link-Local Addressing or IPv6 Stateless Address
Autoconfiguration. On the transport layer, all needed ports can be obtained over
DNS-Based Service Discovery. Finally, on the application layer, host names can
\item If a server is found, connect to it using ANONYMOUS login, join
topic-based Multi-User Chats, deactivate the uBonjour client
\term{(Infrastructure mode).}
- \item If no server is found, activate the XEP-0174 client \term{(Ad-hoc
+ \item If no server is found, activate the XEP-0174 client \term{(Ad hoc
mode)}.
\end{enumerate}
\item In Infrastructure mode: when connection to the server is lost, enable
the uBonjour client, try to find a server, and when none is found, enable
Serverless Messaging.
- \item In Ad-hoc mode: if uBonjour detects a new XMPP server joining the
+ \item In Ad hoc mode: if uBonjour detects a new XMPP server joining the
network, try to connect to it. If this succeeds, disable Serverless
Messaging and uBonjour and join topic-based Multi-User Chats.
\end{itemize}