on second thought, non-commercial licenses are evil. Change to CC-BY-SA and CC-BY...
[skm-ma-ws1314.git] / sec-outlook.tex
1 \section{Outlook}\label{sec:outlook}
2
3 In addition to the XEPs covered above, there are a few additional XEPs which can
4 be implemented to further increase the effectivity of Chatty Things. Especially
5 the documents XEP-0323 through XEP-0326 (which are currently in Experimental
6 status) are targeted to the Internet of Things.
7
8 \paragraph{Concentrators (XEP-0326)~\cite{xep0326}}
9 In contrast to sensor nodes which are focused on collecting data, concentrators
10 can be used to serve as a proxy and control a subset of the network. The XEP
11 defines messages to query a sensor node for data sources, and subscribing to
12 them, while subscription is loosely modeled after the Publish-Subscribe
13 mechanism (XEP-0060). It also specifies how clients can request data or
14 control certain nodes over a concentrator.
15
16 This approach can be practical in large-scale sensor networks, where usually not
17 every sensor node can be reached directly, and where sensor nodes only have a
18 very limited amount of storage. Individual concentrators can then be equipped
19 with larger storage and serve as a facility to aggregate data from sensor nodes.
20 This structure can be implemented on several levels, forming a hierarchy. A user
21 interested in specific values then only needs to communicate with a single node
22 in the network.
23
24 \paragraph{Sensor Data (XEP-0323)~\cite{xep0323}}
25 This XEP specifies a way of reading out values from a
26 sensor node. It allows to specify multiple data sources (e.~g. temperature,
27 humidity) as well as multiple types of data (e.~g., momentary values, historical
28 values, peak values).
29 As a simple use case, the client sends an IQ stanza containing the request and a
30 sequence number used to identify the request. The sensor node then rejects or
31 accepts the request by returning a corresponding IQ stanza. If it has
32 accepted the request, it reads out the requested data and returns it in a
33 subsequent message stanza to the client.
34
35 An example of this protocol can be seen in Figure~\ref{fig:examplexmpp}: after
36 both clients have opened their streams, the client requests the momentary values
37 for power and energy from the node named \emph{Device04}. The device first
38 acknowledges this request, and, after retrieving the values, sends them back
39 to the client. Afterwards, both sides close their streams.
40
41 \begin{figure}[h!]
42 \centering
43 \input{fig-example-xmpp-stream.tex}
44 \caption{Example XMPP stream with sensor data (XEP-0323)}
45 \label{fig:examplexmpp}
46 \end{figure}
47
48 \paragraph{Control (XEP-0325)~\cite{xep0325}} In this document, a way of
49 controlling sensor nodes is specified, which allows a client to get and set
50 control values on the node over message or IQ stanzas. As an example, in this
51 way a sensor node could be instructed to return data in a different unit or
52 range, or be put into power-safe mode.
53
54 \paragraph{Provisioning (XEP-0324)~\cite{xep0324}}
55 To protect the integrity of a sensor network and securing the data being
56 collected, this XEP specifies a way of implementing access rights and user
57 privileges. Since a single sensor node is usually very restricted in user input and
58 output, the approach is very simple and can be implemented e.~g. using a button
59 and an LED for interaction, while presentation of data takes places on a
60 provisioning server with a rich user interface (which can be, for example, a
61 concentrator).
62
63 When integrating a new sensor node into the network, the user instructs the
64 provisioning server to generate a \term{friendship} request for the new node.
65 The node can e.~g. symbolize this request by blinking its LED and requesting a
66 button press in the next 30 seconds. If the user presses the button, the node
67 confirms the friendship to the server. The server then remembers this sensor
68 node and generates a token which must be used in all further communication
69 between the server and the sensor node, else communication is rejected.
70
71 \paragraph{Efficient XML Interchange Format (EXI, XEP-0322)~\cite{xep0322}}
72 Finally, EXI describes how XMPP stanzas sent between nodes can be compressed,
73 thereby effectively reducing the overhead in message size introduced by XML.
74 XMPP nodes can negotiate a compressed stream inside their existing XMPP streams
75 and exchange \code{<compress>} stanzas which then contain the payload. However,
76 it is to be noted that this requires further implementation of compression
77 algorithms as well as additional CPU and memory resources and thus might
78 decrease message throughput and increase power consumption on embedded systems.
79
80 % vim: set ft=tex et ts=2 sw=2 :
This page took 0.048894 seconds and 5 git commands to generate.