Advertisement

Internet of Things Patterns for Communication and Management

  • Lukas ReinfurtEmail author
  • Uwe Breitenbücher
  • Michael Falkenthal
  • Frank Leymann
  • Andreas Riegg
Chapter
  • 250 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10600)

Abstract

The Internet of Things is gaining a foothold in many different areas and industries. Though offerings vary in their scope and implementation, they often have to deal with similar problems: Constrained devices and networks, a vast amount of different vendors and technologies, security and privacy issues, etc. Over time, similar solutions for these problems appear, but the amount of available information makes it hard to identify the underlying principles. We investigated a large number of Internet of Things solutions and extracted the core principles into patterns. The eight patterns presented in this paper are: Device Gateway enables devices that do not support a networks technology to connect to this network. Device Shadow allows other components to interact with offline devices. Rules Engine enables non-programmers to create rules that trigger actions. Device Wakeup Trigger informs sleeping devices that they should wake up. Remote Lock and Wipe allows lost or stolen devices to be secured. Delta Update only sends data that has changed since the last communication. Remote Device Management enables remote device management with a client-server architecture. Visible Light Communication uses existing lights to send messages to other devices.

Keywords

Internet of Things Patterns Embedded and cyber-physical systems Device management 

Notes

Acknowledgements

We would like to thank our shepherd Marko Leppänen for the discussions and comments that helped to improve this paper. This work was partially funded by the BMWi projects NEMAR (03ET4018B), SmartOrchestra (01MD16001F) and SePiA.Pro (01MD16013F).

References

  1. 1.
    Anjanappa, M., Datta, K., Song, T.: Introduction to sensors and actuators. In: Bishop, R.H. (ed.) The Mechatronics Handbook, pp. 327–340. CRC Press, Boca Raton (2002)Google Scholar
  2. 2.
    Röcker, C.: Services and applications for smart office environments - a survey of state-of-the-art usage scenarios. Int. J. Soc. Behav. Educ. Econ. Bus. Ind. Eng. 4, 51–67 (2010)Google Scholar
  3. 3.
    Le Gal, C., Martin, J., Lux, A., Crowley, J.L.: SmartOffice: design of an intelligent environment. IEEE Intell. Syst. 16, 60–66 (2001)CrossRefGoogle Scholar
  4. 4.
    Kopp, O., Falkenthal, M., Hartmann, N., Leymann, F., Schwarz, H., Thomsen, J.: Towards a cloud-based platform architecture for a decentralized market agent. In: Cunningham, D., Hofstedt, P., Meer, K., Schmitt, I. (eds.) INFORMATIK 2015, P-246, pp. 69–80. Gesellschaft für Informatik e.V. (GI), Bonn (2015)Google Scholar
  5. 5.
    Nam, T., Pardo, T.A.: Conceptualizing smart city with dimensions of technology, people, and institutions. In: Proceedings of the 12th Annual International Digital Government Research Conference: Digital Government Innovation in Challenging Times, pp. 282–291. ACM, New York (2011)Google Scholar
  6. 6.
    Su, K., Li, J., Fu, H.: Smart city and the applications. In: 2011 International Conference on Electronics, Communications and Control (ICECC), pp. 1028–1031. IEEE, Piscataway (2011)Google Scholar
  7. 7.
    Kagemann, H., Wahlster, W., Helbig, J.: Recommendations for implementing the strategic initiative INDUSTRIE 4.0 (2013). http://www.acatech.de/fileadmin/user_upload/Baumstruktur_nach_Website/Acatech/root/de/Material_fuer_Sonderseiten/Industrie_4.0/Final_report__Industrie_4.0_accessible.pdf. Accessed 13 June 2018
  8. 8.
    Industrial Internet Consortium: Overview (2015). http://www.iiconsortium.org/pdf/IIC-Overview-11-24-15.pdf. Accessed 13 June 2018
  9. 9.
    ZigBee Alliance: Control your World. http://www.zigbee.org/. Accessed 13 June 2018
  10. 10.
    Z-Wave Alliance: The Internet of Things is powered by Z-Wave. http://z-wavealliance.org/. Accessed 13 June 2018
  11. 11.
    Bluetooth: Bluetooth Technology Website. https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works. Accessed 13 June 2018
  12. 12.
    Thread Group. http://www.threadgroup.org/. Accessed 13 June 2018
  13. 13.
    IETF: The Constrained Application Protocol (CoAP) (2014). https://tools.ietf.org/html/rfc7252. Accessed 13 June 2018
  14. 14.
    OASIS: MQTT Version 3.1.1. OASIS (2014). http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf. Accessed 13 June 2018
  15. 15.
    OPC Foundation: Unified Architecture - OPC Foundation. https://opcfoundation.org/about/opc-technologies/opc-ua/. Accessed 13 June 2018
  16. 16.
    Open Mobile Alliance: OMA Device Management Protocol. Open Mobile Alliance (2015). http://www.openmobilealliance.org/release/DM/V2_0-20150122-C/OMA-TS-DM_Protocol-V2_0-20150122-C.pdf. Accessed 13 June 2018
  17. 17.
    Open Mobile Alliance: Lightweight M2 M - Lock and Wipe Object (LwM2 M Object - LockWipe) (2015). http://technical.openmobilealliance.org/Technical/Release_Program/docs/LWM2M_LOCKWIPE/V1_0-20150217-C/OMA-TS-LWM2M_LockWipe-V1_0-20150217-C.pd. Accessed 13 June 2018
  18. 18.
    Bernstein, J., Spets, T.: DSL Forum TR-069. CPE WAN Management Protocol (2004). https://www.broadband-forum.org/technical/download/TR-069.pdf. Accessed 13 June 2018
  19. 19.
    AllSeen Alliance: AllSeen Alliance. https://allseenalliance.org/. Accessed 13 June 2018
  20. 20.
    Open Interconnect Consortium: Open Interconnect Consortium. http://openinterconnect.org/. Accessed 13 June 2018
  21. 21.
    Object Management Group: Data Distribution Service (DDS) (2015). http://www.omg.org/spec/DDS/1.4/PDF/. Accessed 13 June 2018
  22. 22.
    Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings. Construction. Oxford University Press, New York (1977)Google Scholar
  23. 23.
    Fehling, C., Leymann, F., Retter, R., Schupeck, W., Arbitter, P.: Cloud Computing Patterns. Fundamentals to Design, Build, and Manage Cloud Applications. Springer, Wien (2014).  https://doi.org/10.1007/978-3-7091-1568-8. Accessed 13 June 2018
  24. 24.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  25. 25.
    Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Designing Building, and Deploying Messaging Solutions. Addison-Wesley, Boston (2004)Google Scholar
  26. 26.
    Reinfurt, L., Breitenbücher, U., Falkenthal, M., Leymann, F., Riegg, A.: Internet of things patterns. In: Proceedings of the 21st European Conference on Pattern Languages of Programs (EuroPLoP). ACM (2016)Google Scholar
  27. 27.
    Fehling, C., Barzen, J., Breitenbücher, U., Leymann, F.: A process for pattern identification, authoring, and application. In: Proceedings of the 19th European Conference on Pattern Languages of Programs (EuroPLoP). ACM, New York (2015)Google Scholar
  28. 28.
    Coplien, J.O.: Software Patterns. SIGS, New York (1996)zbMATHGoogle Scholar
  29. 29.
    Meszaros, G., Doble, J.: Metapatterns: a pattern language for pattern writing. In: Third Pattern Languages of Programming Conference. Addison-Wesley, Boston (1996)Google Scholar
  30. 30.
    Wellhausen, T., Fießer, A.: How to write a pattern? A rough guide for first-time pattern authors. In: Proceedings of the 16th European Conference on Pattern Languages of Programs. ACM, New York (2012)Google Scholar
  31. 31.
    Harrison, N.B.: Advanced pattern writing. Patterns for experienced pattern authors. In: Pattern Languages of Program Design 5, vol. 5, pp. 433–452. Addison-Wesley, Upper Saddler River (2006)Google Scholar
  32. 32.
    Harrison, N.B.: The language of shepherding. a pattern language for shepherds and sheep. In: Pattern Languages of Program Design 5, vol. 5, pp. 507–530. Addison-Wesley, Upper Saddler River (2006)Google Scholar
  33. 33.
    Fehling, C., Barzen, J., Falkenthal, M., Leymann, F.: PatternPedia - collaborative pattern identification and authoring. In: PURPLSOC (In Pursuit of Pattern Languages for Societal Change): The Workshop 2014, pp. 252–284. epubli GmbH, Berlin (2015)Google Scholar
  34. 34.
    Falkenthal, M., et al.: Leveraging pattern application via pattern refinement. In: Proceedings of the International Conference on Pursuit of Pattern Languages for Societal Change (PURPLSOC) (2016)Google Scholar
  35. 35.
    Falkenthal, M., Barzen, J., Breitenbücher, U., Fehling, C., Leymann, F.: From pattern languages to solution implementations. In: Proceedings of the Sixth International Conferences on Pervasive Patterns and Applications (PATTERNS 2014), pp. 12–21. IARIA, Wilmington (2014)Google Scholar
  36. 36.
    Falkenthal, M., Barzen, J., Breitenbücher, U., Fehling, C., Leymann, F.: Efficient pattern application: validating the concept of solution implementations in different domains. Int. J. Adv. Softw. 7, 710–726 (2014)Google Scholar
  37. 37.
    Bormann, C., Ersue, M., Keranen, A.: Terminology for Constrained-Node Networks (2014). http://www.rfc-editor.org/rfc/pdfrfc/rfc7228.txt.pdf. Accessed 13 June 2018
  38. 38.
    Eloranta, V.-P., Koskinen, J., Leppänen, M., Reijonen, V.: Patterns for the Companion Website. http://media.wiley.com/product_ancillary/55/11186941/DOWNLOAD/website_patterns.pdf. Accessed 13 June 2018
  39. 39.
    SmartThings: Architecture. http://docs.smartthings.com/en/latest/architecture/index.html. Accessed 13 June 2018
  40. 40.
    Wink: Wink Hub. http://www.wink.com/products/wink-hub/. Accessed 13 June 2018
  41. 41.
    EVRYTHNG: THINGHUB Local Cloud Gateway. https://evrythng.com/wp-content/uploads/THNGHUB-data-sheet.pdf. Accessed 13 June 2018
  42. 42.
  43. 43.
    Dell: Dell IoT solutions. http://www.dell.com/learn/us/en/04/oem/oem-internet-of-things. Accessed 13 June 2018
  44. 44.
  45. 45.
    Eclipse Foundation: Kura - Open Source Framework for IoT. http://www.eclipse.org/kura/. Accessed 13 June 2018
  46. 46.
    Zachariah, T., Klugman, N., Campbell, B., Adkins, J., Jackson, N., Dutta, P.: The internet of things has a gateway problem. In: Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications - HotMobile 2015, pp. 27–32. ACM, New York (2015)Google Scholar
  47. 47.
    Amazon Web Services: AWS IoT FAQs. https://aws.amazon.com/iot/faqs/. Accessed 13 June 2018
  48. 48.
  49. 49.
    Microsoft: Azure IoT Hub guidance. https://azure.microsoft.com/en-us/documentation/articles/iot-hub-guidance/. Accessed 13 June 2018
  50. 50.
    Comarch Technologies: Comarch IoT Platform. In the pursuit of becoming smart (2015). http://technologies.comarch.com/wp-content/uploads/2015/10/CT_IoT-white-paper_22092015_WEB.pdf. Accessed 13 June 2018
  51. 51.
    Bosch Software Innovations: The Bosch IoT Suite. Technology for a Connected World (2015). https://www.bosch-si.com/media/en/bosch_si/iot_platform/bosch-iot-suite_product-brochure.pdf. Accessed 13 June 2018
  52. 52.
    Fowler, M., Rice, D., Foemmel, M., Hieatt, E., Mee, R., Stafford, R.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2002)Google Scholar
  53. 53.
    Amazon Web Services: How the AWS IoT Platform Works. https://aws.amazon.com/iot/how-it-works. Accessed 13 June 2018
  54. 54.
    Amazon Web Services: Device Shadows Documents. http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-document.html. Accessed 13 June 2018
  55. 55.
    Microsoft: Overview of device management with IoT Hub. https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-device-management-overview. Accessed 13 June 2018
  56. 56.
    Kii: State Registration and Retrieval. http://documentation.kii.com/en/starts/thingifsdk/model/states/. Accessed 13 June 2018
  57. 57.
    Fowler, M.: Domain-Specific Languages. Addison-Wesley, Upper Saddle River (2011)Google Scholar
  58. 58.
    IBM: Getting started with IoT Real-Time Insights. http://www.ng.bluemix.net/docs/services/iotrtinsights/index.html. Accessed 13 June 2018
  59. 59.
    myDevices: myDevices Connected Device Platform for the Internet of Things. https://www.mydevices.com/platform. Accessed 13 June 2018
  60. 60.
    Wind River: Wind River Helix Device Cloud (2015). http://www.windriver.com/products/product-overviews/wr-device-cloud_overview.pdf. Accessed 13 June 2018
  61. 61.
    Comarch Technologies: Digital Lifestyle & IoT Solutions (2015). http://www.comarch.com/files-com/file_91/Comarch-Digital-Lifestyle-and-IoT-Solution-283522.pdf. Accessed 13 June 2018
  62. 62.
    Ayla Networks: Ayla Architecture. Focusing on the ‘Things’ and Their Manufacturers (2015). https://www.aylanetworks.com/wp-content/uploads/2015/06/Ayla_Architecture_White_Paper_preview.pdf. Accessed 13 June 2018
  63. 63.
    EVRYTHNG: Evrythng Platform Overview. https://evrythng.com/wp-content/uploads/EVRYTHNG-IoT-Platform-Overview.pdf. Accessed 13 June 2018
  64. 64.
    waylay.io: Waylay.io Documentation. https://docs.waylay.io/usage/tasks-and-templates/. Accessed 13 June 2018
  65. 65.
    IFTTT: IFTTT. https://ifttt.com/. Accessed 13 June 2018
  66. 66.
    Zapier: Connect Your Apps and Automate Workflows. https://zapier.com/. Accessed 13 June 2018
  67. 67.
    Stringify: Home – Stringify. https://www.stringify.com/. Accessed 13 June 2018
  68. 68.
    Ba, H., Parvin, J., Soto, L., Demirkol, I., Heinzelman, W.: Passive RFID-based Wake-Up Radios for Wireless Sensor Networks. In: Smith, J. (ed.) Wirelessly Powered Sensor Networks and Computational RFID, pp. 113–129. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-1-4419-6166-2_6. Accessed 13 June 2018
  69. 69.
    Ruzzelli, A.G., Jurdak, R., O’Hare, G.M.P.: On the RFID wake-up impulse for multi-hop sensor networks. In: The 1st ACM Workshop on Convergence of RFID and Wireless Sensor Networks and their Applications (SenseID) at the 5th ACM International Conference on Embedded Networked Sensor Systems (ACM SenSys 2007) (2007)Google Scholar
  70. 70.
    ETSI: 3GPP TS 23.682. Architecture enhancements to facilitate communications with packet data networks and applications (2015). http://www.etsi.org/deliver/etsi_ts/123600_123699/123682/12.04.00_60/ts_123682v120400p.pdf. Accessed 13 June 2018
  71. 71.
    3GPP2: Network Enhancements for Machine to Machine (M2M) (2014). http://www.3gpp2.org/public_html/specs/X.S0068-0_v1.0_M2M_Enhancements_20140718.pdf. Accessed 13 June 2018
  72. 72.
    oneM2 M: Functional Architecture (2015). http://www.onem2m.org/images/files/deliverables/TS-0001-Functional_Architecture-V1_6_1.pdf. Accessed 13 June 2018
  73. 73.
    Starsinic, M., et al.: An IP-based triggering method for LTE MTC devices. In: 2015 Wireless Telecommunications Symposium (WTS). IEEE (2015)Google Scholar
  74. 74.
    PawTrax: Welcome to PawTrax. http://www.pawtrax.co.uk/. Accessed 13 June 2018
  75. 75.
    Google: Remotely ring, lock, or erase a lost device - Accounts Help. https://support.google.com/accounts/answer/6160500. Accessed 13 June 2018
  76. 76.
    Apple: iCloud: Use Lost Mode. https://support.apple.com/kb/PH2700. Accessed 13 June 2018
  77. 77.
    Apple: iCloud: Erase your device. https://support.apple.com/kb/PH2701. Accessed 13 June 2018
  78. 78.
  79. 79.
    IBM: Device Management Operations - Device Actions. https://console.bluemix.net/docs/services/IoT/devices/device_mgmt/requests.html#requests. Accessed 13 June 2018
  80. 80.
    Libelium: Waspmote Programming Guide (2015)Google Scholar
  81. 81.
    Open Mobile Alliance: Lightweight Machine to Machine Technical Specification (2015). http://technical.openmobilealliance.org/Technical/Release_Program/docs/LightweightM2M/V1_0-20151030-C/OMA-TS-LightweightM2M-V1_0-20151030-C.pd. Accessed 13 June 2018
  82. 82.
    CyberVision: Configuration - Kaa - Kaa documentation. http://docs.kaaproject.org/display/KAA/Configuration. Accessed 13 June 2018
  83. 83.
  84. 84.
    Oracle: Using Oracle Internet of Things Cloud Service. http://docs.oracle.com/cloud/latest/iot/IOTGS/IOTGS.pdf. Accessed 13 June 2018
  85. 85.
    Nokia: Nokia Motive connected device platform (2016). http://resources.alcatel-lucent.com/asset/196246. Accessed 13 June 2018
  86. 86.
    Nokia: Motive Connected Device Platform. Release 6.0 (2016). http://resources.alcatel-lucent.com/asset/196247. Accessed 13 June 2018
  87. 87.
    Komine, T., Nakagawa, M.: Integrated system of white LED visible-light communication and power-line communication. IEEE Trans. Consumer Electron. 49, 71–79 (2003)CrossRefGoogle Scholar
  88. 88.
    Bell, A.G.: Apparatus for Signaling and Communicating, called Photophone (1880)Google Scholar
  89. 89.
    Sevincer, A., Bhattarai, A., Bilgi, M., Yuksel, M., Pala, N.: LIGHTNETs: smart LIGHTing and mobile optical wireless NETworks – a survey. IEEE Commun. Surv. Tutorials 15, 1620–1641 (2013)CrossRefGoogle Scholar
  90. 90.
    Schmid, S., Richner, T., Mangold, S., Gross, T.R.: EnLighting: An Indoor Visible Light Communication System Based on Networked Light Bulbs. https://s3-us-west-1.amazonaws.com/disneyresearch/wp-content/uploads/20160615205959/EnLighting-An-Indoor-Visible-Light-Communication-System-based-on-Networked-Light-Bulbs-Paper.pdf. Accessed 13 June 2018
  91. 91.
    Li, J., Lie, A., Shen, G., Li, L., Sun, C., Zhao, F.: Retro-VLC: enabling battery-free duplex visible light communication for mobile and IoT applications. In: Manweiler, J., Choudhury, R.R. (eds.) Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications (HotMobile 2015), pp. 21–26. ACM, New York (2015)Google Scholar
  92. 92.
    Wang, Q., de Donne, D., Giustiniano, D.: Demonstration abstract: research platform for visible light communication and sensing systems. In: Proceedings of the 15th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN). IEEE (2016)Google Scholar
  93. 93.
    Schmid, S., et al.: (In)visible Light Communication: Combining Illumination and Communication. https://s3-us-west-1.amazonaws.com/disneyresearch/wp-content/uploads/20140915070828/Pub_InvisibleLightCommunication_Siggraph14_paper.pdf. Accessed 13 June 2018
  94. 94.
    Haas, H., Yin, L., Wang, Y., Chen, C.: What is LiFi? J. Lightwave Technol. 34, 1533–1544 (2016)CrossRefGoogle Scholar
  95. 95.
    pureLiFi: LiFi-XC. https://purelifi.com/lifi-products/. Accessed 13 June 2018
  96. 96.
    Jovicic, A.: Qualcomm Lumicast: A high accuracy indoor positioning system based on visible light communication (2016). https://www.qualcomm.com/media/documents/files/lumicast-whitepaper.pdf. Accessed 13 June 2018
  97. 97.
    Acuity: Illuminating the In-Store Experience. Indoor Positioning Services Using LED Lighting Benefit Shoppers and Retailers (2016). http://www.acuitybrands.com/-/media/Files/Acuity/Solutions/Services/Indoor%20Positioning%20White%20Papers/indoor%20positioning%20white%20paperrevised%20110315%20pdf.pdf. Accessed 13 June 2018
  98. 98.
    IEEE: Part 15.7: Standard for Short-Range Wireless Optical Communication using Visible Light (2011)Google Scholar
  99. 99.
    Reiners, R., Falkenthal, M., Jugel, D., Zimmermann, A.: Requirements for a collaborative formulation process of evolutionary patterns. In: Proceedings of the 18th European Conference on Pattern Languages of Programs (EuroPlop). ACM, New York (2013)Google Scholar
  100. 100.
    Falkenthal, M., et al.: Pattern research in the digital humanities: how data mining techniques support the identification of costume patterns. In: Proceedings of the 10th Symposium and Summer School on Service-Oriented Computing (SummerSOC 2016). Springer, Heidelberg (2016)Google Scholar
  101. 101.
    Eloranta, V.-P., Koskinen, J., Leppänen, M., Reijonen, V.: Designing Distributed Control Systems A Pattern Language Approach. Wiley, Hoboken (2014)Google Scholar
  102. 102.
    Qanbari, S., et al.: IoT design patterns: computational constructs to design, build and engineer edge applications. In: Proceedings of the First International Conference on Internet-of-Things Design and Implementation (IoTDI), pp. 277–282. IEEE (2016)Google Scholar
  103. 103.
    Eclipse Foundation: Kura Documentation – Introduction. http://eclipse.github.io/kura/intro/intro.html. Accessed 13 June 2018

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Lukas Reinfurt
    • 1
    • 2
    Email author
  • Uwe Breitenbücher
    • 1
  • Michael Falkenthal
    • 1
  • Frank Leymann
    • 1
  • Andreas Riegg
    • 2
  1. 1.Institute of Architecture of Application SystemsUniversity of StuttgartStuttgartGermany
  2. 2.Daimler AGStuttgartGermany

Personalised recommendations