Adaptive Real Time IoT Stream Processing in Microservices Architecture

Authors Luca Bixio, Giorgio Delzanno, Stefano Rebora, Matteo Rulli



PDF
Thumbnail PDF

File

OASIcs.Gabbrielli.12.pdf
  • Filesize: 0.68 MB
  • 20 pages

Document Identifiers

Author Details

Luca Bixio
  • Flairbit s.r.l, Genova, Italy
Giorgio Delzanno
  • DIBRIS, University of Genova, Italy
Stefano Rebora
  • Flairbit s.r.l, Genova, Italy
Matteo Rulli
  • Flairbit s.r.l, Genova, Italy

Cite AsGet BibTex

Luca Bixio, Giorgio Delzanno, Stefano Rebora, and Matteo Rulli. Adaptive Real Time IoT Stream Processing in Microservices Architecture. In Recent Developments in the Design and Implementation of Programming Languages. Open Access Series in Informatics (OASIcs), Volume 86, pp. 12:1-12:20, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020)
https://doi.org/10.4230/OASIcs.Gabbrielli.12

Abstract

The Internet of Things (IoT) has created new and challenging opportunities for Data Analytics. IoT represents an infinitive source of massive and heterogeneous data, whose real-time processing is an increasingly important issue. Real-time Data Stream Processing is a natural answer for the majority of the goals of IoT platforms, but it has to deal with the highly variable and dynamic IoT environment. IoT applications usually consist of multiple technological layers connecting ‘things’ to a remote cloud core. These layers are generally grouped in two macro-levels: the edge-level (consisting of the devices at the boundary of the network near the devices that produce the data) and the core-level (consisting of the remote cloud components of the application). Real-time Data Stream Processing has to cope with a wide variety of technologies, devices and requirements that vary depending on the two IoT application levels. The aim of this work is to propose an adaptive microservices architecture for an IoT platform able to integrate real-time stream processing functionalities in a dynamic and flexible way, with the goal of covering the different real-time processing requirements that exist among the different levels of an IoT application. The proposal has been formulated for extending Senseioty, a proprietary IoT platform developed by FlairBit S.r.l., but it can easily be integrated in any other IoT platform. A preliminary prototype has been implemented as proof of concept of the feasibility and benefits of the proposed architecture.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Cloud computing
Keywords
  • Cloud Computing
  • Service Oriented Computing
  • Internet of Things
  • Real-time Stream Processing
  • Query Languages

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. AMQP protocol. URL: https://www.amqp.org/.
  2. Apache CXF. URL: http://cxf.apache.org/.
  3. Apache CXF Distributed OSGi. URL: https://cxf.apache.org/distributed-osgi.html.
  4. Apache flink. URL: https://flink.apache.org/.
  5. Apache ignite. URL: https://ignite.apache.org/.
  6. Apache karaf. URL: https://karaf.apache.org/.
  7. Apache samza. URL: http://samza.apache.org/.
  8. Apache storm. URL: https://storm.apache.org/.
  9. Apache zookeeper. URL: https://zookeeper.apache.org/.
  10. Bnd tools. URL: https://bnd.bndtools.org/.
  11. Kafka streams. URL: https://kafka.apache.org/documentation/streams/.
  12. Kubernetes. URL: https://kubernetes.io/.
  13. Maven. URL: https://maven.apache.org/.
  14. Osgi alliance. URL: https://www.osgi.org.
  15. Osgi architecture. URL: https://www.osgi.org/developer/architecture/.
  16. Osgi event admin service. URL: https://osgi.org/specification/osgi.cmpn/7.0.0/service.event.html.
  17. Osgi service layer. URL: https://osgi.org/specification/osgi.core/7.0.0/framework.service.html.
  18. Pax url. URL: https://ops4j1.jira.com/wiki/spaces/paxurl/overview.
  19. RabbitMQ. URL: https://www.rabbitmq.com/.
  20. Remote services specification. URL: https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html.
  21. Senseioty. URL: http://senseioty.com/.
  22. Siddhi streaming and complex event processing system. URL: https://siddhi.io/.
  23. B. Shivnath A. Arvind and W. Jennifer. The cql continuous query language: Semantic foundations and query execution. http://ilpubs.stanford.edu:8090/758/1/2003-67.pdf, 2003.
  24. M. Abbott and M. Fisher. The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise. Addison-Wesley Professional, 2015. Google Scholar
  25. M. Fowler and J. Lewis. Microservices - a definition of this new architectural term. https://martinfowler.com/articles/microservices.html, 2014.
  26. M. Gabbrielli, S. Giallorenzo, I. Lanese, and S. P. Zingaro. A language-based approach for interoperability of iot platforms. In Tung Bui, editor, 51st Hawaii International Conference on System Sciences, HICSS 2018, Hilton Waikoloa Village, Hawaii, USA, January 3-6, 2018, pages 1-10. ScholarSpace / AIS Electronic Library (AISeL), 2018. Google Scholar
  27. R. Hall, K. Pauls, S. McCulloch, and D. Savage. OSGi in Action, Creating Modular Applications in Java. Manning, 2011. Google Scholar
  28. C. Richardson. Building microservices: Using an api gateway. https://www.nginx.com/blog/introduction-to-microservices/, 2015.
  29. C. Richardson. Event-driven data management for microservices. https://www.nginx.com/blog/event-driven-data-management-microservices/, 2015.
  30. C. Richardson. Choosing a microservices deployment strategy. https://www.nginx.com/blog/deploying-microservices, 2016.
  31. M. Robert. Agile Software Development: Principles Patterns And Practices. Pearson, 2003. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail