sync: Temporary Subscription for Presence
authorRoland Hieber <rohieb@rohieb.name>
Sat, 14 Dec 2013 06:37:15 +0000 (07:37 +0100)
committerRoland Hieber <rohieb@rohieb.name>
Sat, 14 Dec 2013 06:37:15 +0000 (07:37 +0100)
sec-chatty-things.tex

index 01f0bb2..d748494 100644 (file)
@@ -4,7 +4,6 @@ After the underlying techniques have been explained, we can have a look at the
 system architecture which Klauck and
 Kirsche~\cite{Klauck:2012:BCC:2352852.2352881} use to build Chatty Things.
 
-
 \todo
 \pages{3}
 \subsection{Service Provisioning Sublayer}
@@ -122,6 +121,23 @@ During runtime, a device can then react to changes in network infrastructure:
 
 \subsection{Temporary Subscription for Presence}\label{sec:tsp}
 
-To further reduce the message overhead
+To further reduce the message overhead and allow more fine-grained controls over
+information filtering, \term{Temporary Subscription for Presence} is introduced.
+This technique builds on top of presence stanzas as defined in core XMPP. These
+presence stanzas are sent without a \code{to} or \code{from} attribute, and
+therefore fit into a single TCP/IP packet over IEEE~802.15.4. However, to be
+able to receive these stanzas, a client must manually subscribe to those
+information in their roster, which requires further communication between nodes. As the network
+can change rapidly, subscriptions would be often outdated, and there would be
+much overhead of subscriptions and unsubscription packets, which would inhibit
+the flow of the actual information.
+
+To solve this problem, a dynamic, topic-based roster is implemented on top of
+Multi-User Chats (XEP-0045). Every topic corresponds with a chat room, and nodes
+join the chat rooms which they are interested in. This allows nodes to inform
+only interested nodes about updates. This has the advantage that existing
+clients supporting Multi-User Chats can be used by a user, but Chatty Things and
+XMPP servers need to be adapted to the new subscription model. Also, this
+mechanism does not work with Serverless Messaging.
 
 % vim: set ft=tex et ts=2 sw=2 :
This page took 0.025443 seconds and 4 git commands to generate.