[IOT] XMPP IoT SIG - Call for Participation

CONZON DAVIDE conzon at ismb.it
Fri Dec 16 13:00:46 UTC 2016


Hello,

here my considerations about the questions you have 
proposed:

>> What are the IoT use cases you want to solve with XMPP?

This is the smart-factory use case that I propose:

Industry 4.0 (this term refers to a vision of a "fourth 
industrial revolution") is a concept related to smart 
factories, which allow individual customer requirements to 
be met. For example, in these smart factories, dynamic 
business and engineering processes enable last-minute 
changes to production and deliver, to be more flexible in 
the production and to react efficiently to failures. 
Furthermore, Industry 4.0 will address some other 
important challenges, like resource and energy efficiency.

The Industry 4.0 revolution will be driven by the 
increased use of information and communications technology 
as part of production processes, through the integration 
of hardware and software resources. Smart factories will 
leverage concepts like virtualization and mobile 
communication, enabling the introduction of new forms of 
smart services.

Today, physical and virtual worlds can converge, thanks to 
the fact that powerful and autonomous microcomputers are 
being wirelessly networked with each other and with the 
Internet. Particurarly, the so called Cyber-Physical 
Systems (CPS)s are the main example of this integration. 
They have three main features: computation, communication, 
and control. These systems are the basis of Industry 4.0, 
communicating wirelessly, but carrying out real, physical 
processes. Furthermore, innovations in Internet protocols 
(e.g. IPv6) provide a number of addresses, sufficent to 
enable universal addressing of smart objects, through the 
Internet. This allows to create the Internet of Things and 
Services (IoTS), for interconnection of resources, 
services and people. In the next years, the IoTS will 
change manufacturing fundamentally in terms of 
organization, technology and processes, introducing 
approaches like Service Oriented Architecture (SOA), 
virtualization, cloud computing and machine-to-machine 
(M2M) communication. For this reason, major processes in 
production will directly depend on the availability and 
performance of IT components and services.

Technology used in smart factory scenario needs to provide 
several characteristics: the monitoring must be lean, to 
reduce the footprint of monitoring in terms of resource 
consumption, CPU, memory and disk space. Indeed, to 
monitor an infrastructure where embedded systems and CPS 
are used on the shop floor, it is inadequate to use a 
traditional, datacenter type of server. The monitoring 
needs to be flexible, because needs to support the 
dynamics and volatility by providing the ability to adapt 
quickly to structural and functional changes. It must be 
scalable, because today the IT in production is both 
rather specialized and small, but, smart monitoring needs 
to scale up to millions of components to be monitored. 
Monitoring must be ubiquitous, because it needs to be 
available to support the more distributed and pervasive 
nature of systems in the context of smart factories. 
Finally, it must be secure, to protect the data monitored 
by the systems.

XMPP is a a technology that provides all the features 
listed before: It allows lean monitoring because it 
enables the use of an unique protocool for different 
goals: messaging, data exchange, control and management. 
The solution is flexible, because its naming and 
addressability mechanisms are based on the use of JID, 
which are not tighted with the position. XMPP is scalable, 
because it can scale to thoousands of users, also using 
only not expensive hardware. The protocol can be used to 
enable the communication also on embedded devices, which 
can be used for ubiquitous applications. Finally, XMPP 
embeds natevily security mechanisms, like SSL and TLS for 
authentication and crittography, which guarantees the 
protection of the data exchanged and of the privacy of the 
users. For this reason, XMPP can be used as the standard 
protocol to enable Machine-to-Machine and Machine-to-Human 
communication, inside smart-factories.

In an industry 4.0 scenario, a set of sensors can be 
spread in a factory to monitor several environmental 
parameters like temperature, humidity, light and noise. To 
simplify the deployment of this set of sensors the 
XEP-0347 can be used to safely install, configure, find 
and connect massive amounts of Things together. All these 
parameters measured may affect both the production process 
(for products, like perishable goods) and the comfort of 
the work environment of the workers. In this scenario, the 
sensors spread can be connected (wireless) to 
tiny-computer (i.e Raspberry-Pi) to send the data 
monitored using the XEP-0323. The data collected are used 
to monitor the status of the work environment. Thresholds 
can be set to rise alarms in case some parameters exceed 
the optimal values. Furthermore, using the XEP-0325, the 
central control system can control actuators to try to 
normilize the status, turning on/off devices or changing 
the temperature of the cooling/heating system. Since this 
system can affect the production process, it is important 
that all the operations are executed in a secure way, in 
order to avoid to allow attackers to access to the data 
monitored or worstly to keep control of the actuators. 
Beside the security provided by the mechanisms embedded in 
the XMPP protocol, the XEP-0324 can be used to control the 
acces to the different devices in the factory, in order to 
limit it, based on the role of people.


>> What are the strengths of XMPP wrt. IoT?

The main reasons that can lead to choose XMPP as 
communication protocol for an IoT solution, in my opinion, 
are:

- The fact that is a standard technology (standardized in 
2004 by IETF), free and open, with a large community of 
developers, which continuously extend the protocol.
- The support of the publish/subscribe paradigm, useful to 
build an event-driven architecture.
- The possibility to use as clients, common chat clients 
used in every day life by the users (like Pidgin).
- The possibility to unique name and address the entities 
using XMPP accounts, not connected with the physical 
location.
- The security mechanisms natively included in protocol 
(TLS for encryption and SASL for authentication), both for 
client-server and server-to-server communication. 
Recently, recommendations have been made to ensure that 
all the connections (both client-to-server and 
server-to-server) use encryption.
- The possibility to have additional features typical of 
the instant messaging protocols, like the presence 
mechanism, which can be used not only to know in real time 
the availability of the connected entities, but also to 
have some additional info on their status (for example, a 
device can be online, but not working).
-The scalability guaranteed by the protocol:
      - Its “push” model of information transfer solves 
serious scaling problems associated with traditional 
HTTP-based polling approaches.
      - An XMPP network can be composed by an unlimited 
number of servers in order to balance the load of traffic 
and every XMPP server can scale to handle thousands of 
users,
        also if installed in standard computers, without 
requiring expensive hardware.
      - Finally, open source XMPP servers can be installed 
in the cloud, with also better scalability performances.
      - The level of scalability provided by the protocol 
is proved by the infrastructures that are currently using 
it, as messaging protocol, like:
             - Google Cloud Messaging (used with every 
Android device)
             - Google Cloud Printing
             - WhatsApp
             - Intel Common Connectivity Framework
             - UPnP Forum
             - OpenADR

Currently, there is no another solution providing all 
these features together.


>> What are the weaknesses of XMPP wrt. IoT?


I think what is generally considered weaknesses of xmpp 
compared with other protocols, in the IoT scenario, are:
- The fact that XMPP is not a protocol designed for IoT 
solutions, but a messaging protocol adapted to thi 
scenario.
- The fact that the protocol is based on the use of xml 
(with the overhead connected with this).
- The amount of traffic generated by the presence 
mechanism, which makes it not adapt for system, where many 
resource-constrained devices have to communicate.

>> How could the weaknesses be mitigated?
>> How fit the existing IoT XEPs into this picture?

I think that the current IoT XEPs are generally going in 
the right direction to address the issues listed before. 
In general, the introduction of a list of XEPs allow to 
define more easly XMPP as an "IoT protocol", defining 
standard ways to do IoT typical functionalities, like 
discovery and provisioning. Furthermore, the introduction 
of the EXI XEP (XEP-0322) and of the friendship concept 
allow to mitigate the other two issues.
Finally, another way to mitigate the XMPP weakeness is to 
draft "Interworking" specifications (i.e. specifying how 
XMPP-IoT should be mapped to interact with other 
protocols), to promote the use of XMPP in combination with 
other procotols, with different strenghts/weaknesses).


Best Regards,
Davide


On Mon, 12 Dec 2016 21:22:58 +0100
  Florian Schmaus <flo at geekplace.eu> wrote:
> Hello everyone,
> 
> Rikard and I would like to start the second phase of the 
>IoT SIG and
> invite you to participate in the IoT SIG, in order to 
>shape the
> technical aspects of the IoT XMPP extensions protocols. 
>Every party
> interested in XMPP in the Internet of Things is 
>welcomed. The rough
> road-map is to collect IoT use cases and how they could 
>be solved using
> XMPP in the first 2-3 meetings. After those virtual 
>meetings, everyone
> is invited to meet face-to-face at the XMPP Standards 
>Foundation 21th
> Summit, which will take place on the 2. and 3. February 
>2017 in
> Brussels, Belgium [1]. The Summit is right before FOSDEM 
>2017 [2] and a
> great opportunity to discuss how the existing IoT XEPs 
>should evolve.
> Rikard and I looking forward to see you there. :)
> 
> The regular IoT SIG meetings will take place every 14 
>days using Jitsi
> Meet. I'd like to see if we can schedule a first meeting 
>before
> Christmas. Please use the following Doodle pool if you 
>are interested:
> http://doodle.com/poll/y5d6h62y68gp3yf4. Note that we 
>will close the
> poll by the end of the week. If you can't make it before 
>Christmas, then
> don't worry: The next meeting will be in the second week 
>of 2017
> (2017-01-09 - 2017-01-13). Please use the following 
>doodle in for this
> time-frame: http://doodle.com/poll/b58st8u5yw3ipges.
> 
> In order to prepare to the meeting, please try to answer 
>the following
> questions:
> 
> - What are the IoT use cases you want to solve with 
>XMPP?
> - What are the strengths of XMPP wrt. IoT?
> - What are the weaknesses of XMPP wrt. IoT?
> - How could the weaknesses be mitigated?
> - How fit the existing IoT XEPs into this picture?
> 
> Regards
> Florian
> 
> 1: https://wiki.xmpp.org/web/Summit_21
> 2: https://fosdem.org/2017/
> 



More information about the IOT mailing list