Efficient Web Services for End-To-End Interoperability
Total Page:16
File Type:pdf, Size:1020Kb
ISSN: 1402-1544 ISBN 978-91-7583-XXX-X Se i listan och fyll i siffror där kryssen är DOCTORAL T H E SIS Department of Computer Science, Electrical and Space Engineering of Embedded Systems Interoperability Services for End-To-End Web Efficient R. Kyusakov, Division of EISLAB ISSN 1402-1544 Efficient Web Services for End-To-End ISBN 978-91-7583-015-5 (print) ISBN 978-91-7583-016-2 (pdf) Interoperability of Embedded Systems Luleå University of Technology 2014 Rumen Kyusakov Efficient Web Services for End-To-End Interoperability of Embedded Systems Rumen Kyusakov EISLAB Department of Computer Science, Electrical and Space Engineering Lulea˚ University of Technology Lulea,˚ Sweden Supervisors: Jens Eliasson, Jerker Delsing Printed by Luleå University of Technology, Graphic Production 2014 ISSN 1402-1544 ISBN 978-91-7583-015-5 (print) ISBN 978-91-7583-016-2 (pdf) Luleå 2014 www.ltu.se To Mimi and Vladi ... 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 proto- cols, 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 appli- cation 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. CONTENTS Part I 1 Introduction 3 1.1 Problem Formulation .................................. 5 1.2 Research Methodology ................................. 6 1.3 Thesis Scope ...................................... 7 1.4 Thesis Outline ...................................... 7 2 Embedded Web Services 9 2.1 Requirements ...................................... 10 2.2 Network Protocols ................................... 12 2.3 Web Service Technologies ............................... 14 2.4 Overview of Application Protocols for IoT ....................... 18 2.5 Payload Encoding .................................... 20 2.6 Applications ....................................... 22 3 XML Data Compaction 25 3.1 Theoretical Background ................................. 25 3.2 Efficient XML Interchange ............................... 30 4 Contributions 35 4.1 Summary of Appended Papers ............................. 36 4.2 Related Publications .................................. 39 5 Discussion 41 5.1 Conclusion ....................................... 44 5.2 Future work ....................................... 46 References 52 Part II Paper A 55 1 Introduction ....................................... 57 2 Motivation ........................................ 59 II CONTENTS 3 Background and related work .............................. 60 4 SOA on sensor nodes .................................. 62 5 Proof of concept ..................................... 63 6 Future work ....................................... 70 7 Conclusion ....................................... 70 Paper B 75 1 Introduction and background .............................. 77 2 Related work ...................................... 78 3 Efficient XML Interchange for web services ...................... 79 4 XML infoset processor interfaces ............................ 80 5 Performance measurements ............................... 83 6 Future work ....................................... 85 7 Conclusion ....................................... 85 Paper C 89 1 Introduction and related work .............................. 91 2 Background ....................................... 92 3 Analysis results ..................................... 95 4 EXI on wireless sensor and actuator nodes ....................... 97 5 Conclusion and future work ............................... 100 Paper D 103 1 Introduction ....................................... 105 2 Related Work ...................................... 108 3 Functionality and Architecture of Future DH Substations ............... 109 4 Web Services ...................................... 111 5 Data Models ....................................... 113 6 Experimental Setup ................................... 113 7 Results .......................................... 115 8 Discussion and Conclusion ............................... 119 Paper E 125 1 Introduction ....................................... 127 2 Requirements ...................................... 129 3 Communication technologies .............................. 129 4 Data models ....................................... 132 5 Energy management standards ............................. 132 6 Technology analysis ................................... 134 7 Discussion ........................................ 138 Paper F 141 1 Introduction ....................................... 143 2 Related Work ...................................... 144 3 Enabling Technologies ................................. 146 4 Mobile Cloud IoT Platform ............................... 147 5 Experimental Setup ................................... 152 CONTENTS III 6 Results .......................................... 153 7 Future Work ....................................... 155 8 Conclusion ....................................... 156 Paper G 159 1 Introduction ....................................... 161 2 Background ....................................... 164 3 EXI Processor Design and Implementation ....................... 170 4 Performance Evaluation ................................. 174 5 EXI data binding .................................... 179 6 CoAP/EXI/XHTML Web page engine ......................... 181 7 Conclusions ....................................... 183 ACKNOWLEDGMENTS This thesis would not have been possible without the help, support, and guidance of many people to whom I wish to express my utmost gratitude. First, I would like to thank my supervisors, Associate Professor Jens Eliasson and Professor Jerker Delsing. I am very grateful for all the invaluable help, feedback, guidance, and patience that Jens has given to me throughout the years of my PhD studies. I am also grateful to Jerker for his constant support and guidance. Next, I would like to thank all my friends and colleagues at EISLAB, as well as in the Department of Computer Science, Electrical and Space Engineering in Lulea,˚ for the inspiring discussions and the pleasant and fruitful working environment. Special thanks go to Pablo Punal˜ Pereira for the positive and rewarding collaboration, to Blerim Emruli for the stimulating scholarly talks that we have had throughout the years, and to Henrik Makitaavola¨ and Jonas Gustafsson for their help and support. I would also like to thank the members of the W3C Efficient XML Interchange working group for their valuable comments and feedback as well as Robert Cragie for his advice and help on the Smart Energy Profile specification. I am grateful for the affection, understanding, and unconditional support that I have received from my family and