Efficient Web Services for End-To-End Interoperability of Embedded Systems

University dissertation from Luleå tekniska universitet

Abstract: As the number of Internet-connected devices rapidly grows, it has become ever more challenging to develop and maintain purpose-made tightly integrated distributed embedded systems. Instead, the Internet of Things (IoT) approach, based on standardized interfaces and open communication protocols, enables support for various applications with the possibility of extension to provide additional services that were not necessarily available at the initial deployment. This thesis presents methods and tools for the development of standard-based Web services for the Internet of Things. Some of the key challenges in using Web services on resource-constrained devices are due to the overhead of the communication protocols, which leads to the need for greater network bandwidth, processing power, and memory usage. A common solution to these problems is to use gateways that translate between the protocols used on one end of the connection (i.e. low-capability devices) and those on the other end (i.e. powerful Web servers). However, this increases the overall complexity of the system. The work presented herein answers the following research questions: 1) Is it feasible to deploy standard Web services on IoT systems without using application layer gateways? 2) What are the trade-offs in using Web services for end-to-end interoperability of resource-constrained embedded systems? 3) What levels of efficiency and functionality can be achieved using binary coding schemes for XML data exchange? The research questions are tested by building and evaluating several prototype IoT systems. These evaluations show that the use of Web services requires more powerful hardware (i.e. CPU and RAM) and a larger form factor in exchange for better interoperability compared to the use of ad hoc application protocols. The main challenge in employing embedded Web services is the large size of the messages, which is due to the use of verbose data formats such as XML. Although it is shown that it is possible to deploy XML-based Web services on low-capability devices without application layer gateways, this approach has severe performance limitations. Using the Efficient XML Interchange (EXI) binary coding scheme overcomes some of these limitations by substantially reducing the size of the XML messages. The main outcome of this thesis is the design and implementation of a software toolkit, called EXIP, for building EXI-based embedded Web services. The trade-offs in the use of embedded Web services are likely to change in the near future as the importance of application layer interoperability increases and IoT devices become faster, more energy efficient, and equipped with more memory. The dominating importance of interoperability can be seen in highly heterogeneous systems such as energy management systems (i.e. smart grids), where embedded Web services are already in use today. With this in mind, future research directions and extensions of this work include the development of performance optimization strategies for the EXIP toolkit to foster the expansion of embedded Web services to an even wider range of IoT applications.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.