Location Independent Inter-Process Communication As Software Buses

Total Page:16

File Type:pdf, Size:1020Kb

Location Independent Inter-Process Communication As Software Buses Location independent inter-process communication as software buses Erik Samuelsson Erik Samuelsson VT 2016 Bachelor Thesis, 15 credits Supervisor: Cristian Klein, Ewnetu Bayuh Lakew Extern Supervisor: Clas H¨ogvall, Rickard Sj¨ostr¨om, Johan Forsman Examiner: Jerry Eriksson Bachelor’s Programme in Computing Science, 180 credits Abstract Telecommunication networks will transform and gradually migrate into virtualized cloud environments as a result of the potential for higher profitability through reduced costs and increased revenues. The purpose of this thesis is to investigate architectural mecha- nisms for location-independent communication between software components in a virtualized base station. Systems that provide such mechanisms are typically referred to as middleware and de- ployed as Platform-as-a-Service (PaaS). The overall goal is to achieve desired characteristics in cloud deployment regarding on- demand self-service, rapid elasticity of capacity while upholding services and high availability. Four communication protocols are examined and evaluated based on a set of functional and non- functional requirements that are especially relevant for a virtu- alized base station. In comparison with the Advanced Message Queuing Protocol (AMQP), Message Queuing Telemetry Trans- port (MQTT) and the eXtensible Messaging and Presence Pro- tocol (XMPP), the Data Distribution Service (DDS) standard is found to have excellent performance characteristics. Its complex- ity might have implications for the development and deployment though, that will increase the time it takes to reap the benefits from its advantages. Acknowledgements I wish to sincerely thank my supervisors at Tieto, Clas H¨ogvall, Rickard Sj¨ostr¨om and Johan Forsman for introducing an interesting and challenging thesis idea and for entrusting me with the task. I would also like to thank them for spending so much of their time and energy to support and guide me. I would also like to extend my sincere thanks to my supervisors Ewnetu Bayuh Lakew and Cristian Klein. Their encouragement, enthusiasm and guidance has been invaluable. Contents 1 An introduction to base station virtualization and messaging sys- tems 1 2 Requirements analysis 2 3 Middleware for distributed systems 5 3.1 Protocols for Message Oriented Middleware (MOM)6 3.1.1 AMQP6 3.1.2 DDS7 3.1.3 MQTT8 3.1.4 XMPP9 4 Results 10 4.1 Functional requirements 10 4.2 Non-functional requirements 12 4.2.1 Messaging model 12 4.2.2 Security and extensibility 12 4.2.3 Scalability and reliability 13 4.2.4 Interoperability, efficiency and usability 13 5 Conclusions 14 5.1 Future work 15 1(17) 1 An introduction to base station vir- tualization and messaging systems Telecommunication networks will transform and gradually migrate into virtualized cloud environments as a result of the potential for increased profitability it provides by reducing the cost of equipment and increasing revenue [1]. This transformation will have a dramatic impact on the whole industry and it will create new challenges that must be addressed and solved. Telecom infrastructures have high requirements on performance since this has a direct impact on revenue streams and customer churn. In this report a survey of different existing architectures for message queuing sys- tems that provides inter-process communication between processes in a virtualized environment will be performed. After the initial survey, four existing communica- tion standards (AMQP, DDS, MQTT and XMPP) are selected and examined more carefully in a comparative study with regards to functional and non-functional re- quirements in the telecom industry. The inter-communicating processes considered in this report are virtualized network functions. Network Function Virtualization (NFV) is a concept that originates from a white paper by the European Telecommunications Standards Institue (ETSI) [2] in 2012 that involves the implementation of network functions in software that can be instantiated and executed at various locations in a network. This allows exe- cution of network functionality at data centers with high processing and storage capabilities, and in essence the decoupling of the functions. The virtualization of network functions aims to reduce the need to populate a network with hardware that results in increased costs of energy, maintenance and hardware turnover, as well as the complexity of integrating hardware by various proprietors. Some examples of network functions that have been virtualized are network address translation (NAT), firewalls, intrusion detection and domain name service (DNS). These virtualized network functions must maintain the capability to communicate with other software components in the network, independently of where the other components might be instantiated logically or physically. Parts of the network infras- tructure that facilitates sending and receiving data between software components is commonly referred to as middleware, which is a software layer on top of the network operating system that provides a layer of abstraction for software developers. 2(17) 2 Requirements analysis In order to decompose a base station into decoupled components and achieve desired characteristics of cloud computing, like rapid elasticity (i.e scalability of processing power, storage and other resources), there must be architectural mechanisms in place for inter-process communication between these components. On a high level abstraction components can be said to offer their services on a software message bus (see Figure 1). Other components request services on the same bus. This allows for interoperability and integration of software components independent of platform. Services can be scaled up by replicating instances of particular components since there is no need for users of the services to know which particular instance provides the service at any given time. Component 1 Component 2 Component 3 Message Bus Component 4 Component 5 Component 6 Figure 1: Software components communicating through a software message bus In this chapter, a number of requirements that might be imposed on a software message bus in a telecom environment are presented. The requirements are divided into functional and non-functional requirements, which are considered separately. Functional requirements defines the necessary behavior of a system such as the capability to deliver messages from point A to point B. The functional requirements are complemented with a set of non-functional requirements that specify qualitative criteria to compare and evaluate systems that fulfill the functional requirements. The functional requirements that are placed upon the middleware are enumerated in Table 1. These functional requirements have initially been authored by Johan Forsman and Rickard Sj¨ostr¨omat Tieto, to express their specific needs of a mes- saging bus. An essential requirement is the asynchronous communication model, illustrated in Figure 2. In the asynchronous communication model a producer pro- 3(17) duces a message, sends it to the message bus, and is able to continue execution immediately thereafter. In other words the function call to send a message must be non-blocking, until a reply is delivered from the message bus by either Pushing or Pulling mechanisms. This is in contrast to a synchronous messaging model which is blocking, where the producer is suspended while it waits for a reply. Producer Send Message Pull or Push Reply Messaging Infrastructure Pull or Push Message Send Reply Consumer Figure 2: Asynchronous interaction model In addition to the functional requirements, the following non-functional requirements have been considered in order to differentiate between middlewares: Security The ability to defend against threats that could jeopardize its function- ality or its users integrity. Extensibility The ability to add customized features to the system. Scalability The ability to handle increased amount of work. Reliability The ability to resist/recover from failures. Interoperability The ability to integrate other products/systems without restric- tions. Efficiency The amount of required resources in terms of CPU load, memory con- sumption and disk storage. Usability The ease of use for users of the system, i.e. developers. 4(17) Table 1 Functional requirements Application components The Application Components are designed to (FR1) provide one or more services. Application Com- ponents communicate using asynchronous mes- sages. Message sending (FR2) A message is sent to a destination Application Component identified by a destination Address Point. Address Point (FR3) Address Point names shall be unrelated to the Application Component Name or task name. Redeployment (FR4) No change shall be needed in the code when an Address Point (service) is redeployed. Singleton Address Point Singleton Address Point shall be supported, i.e. (FR5) one Address Point with a unique name in the system. Local Address Point Local Address Point shall be supported, i.e. (FR6) the scope of the registered Address Point is re- stricted to a specific domain, e.g. local CPU. Multiple Instantiated Multiple Instantiated Address Points shall be Address Points (FR7) supported, i.e. the Address Point exists in sev- eral instances, distributed over all CPUs. Each instance is uniquely identified by a qualifier. The qualifier is a string. Address Point Lookup The Application Components shall be able to (FR8) lookup an Address Point. The lookup blocks while waiting for the Address Point to appear in the system. Address Point Discovery
Recommended publications
  • This Paper Must Be Cited As
    Document downloaded from: http://hdl.handle.net/10251/64607 This paper must be cited as: Luzuriaga Quichimbo, JE.; Pérez, M.; Boronat, P.; Cano Escribá, JC.; Tavares De Araujo Cesariny Calafate, CM.; Manzoni, P. (2015). A comparative evaluation of AMQP and MQTT protocols over unstable and mobile networks. 12th IEEE Consumer Communications and Networking Conference (CCNC 2015). IEEE. doi:10.1109/CCNC.2015.7158101. The final publication is available at http://dx.doi.org/10.1109/CCNC.2015.7158101 Copyright IEEE Additional Information © 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. A comparative evaluation of AMQP and MQTT protocols over unstable and mobile networks Jorge E. Luzuriaga∗, Miguel Perezy, Pablo Boronaty, Juan Carlos Cano∗, Carlos Calafate∗, Pietro Manzoni∗ ∗Department of Computer Engineering Universitat Politecnica` de Valencia,` Valencia, SPAIN [email protected], jucano,calafate,[email protected] yUniversitat Jaume I, Castello´ de la Plana, SPAIN [email protected], [email protected] Abstract—Message oriented middleware (MOM) refers to business application [6]. It works like instant messaging or the software infrastructure supporting sending and receiving email, and the difference towards these available
    [Show full text]
  • Analysis of Notification Methods with Respect to Mobile System Characteristics
    Proceedings of the Federated Conference on DOI: 10.15439/2015F6 Computer Science and Information Systems pp. 1183–1189 ACSIS, Vol. 5 Analysis of notification methods with respect to mobile system characteristics Piotr Nawrocki ∗, Mikołaj Jakubowski † and Tomasz Godzik ‡ ∗AGH University of Science and Technology, al. A. Mickiewicza 30, 30-059 Krakow, Poland e-mail:[email protected] †e-mail:[email protected] ‡e-mail:[email protected] Abstract—Recently, there has been an increasing need for most promise and therefore the purpose is to discern their secure, efficient and simple notification methods for mobile usefulness in the best way possible. systems. Such systems are meant to provide users with precise In addition to the protocols and methods above, we inves- tools best suited for work or leisure environments and a lot of effort has been put into creating a multitude of mobile tigated other solutions, such as the Apple push notification applications. However, not much research has been put at the or Line application which, for various reasons, were not same time into determining which of the available protocols considered further. The Apple push notification technology is a are best suited for individual tasks. Here a number of basic good solution, but it is proprietary, i.e. limited to Apple devices notification methods are presented and tests are performed for and that is why we decided to test more universal solutions the most promising ones. An attempt is made to determine which methods have the best throughput, latency, security and other first. There are also solutions (applications) that use their own characteristics.
    [Show full text]
  • AMQP and Rabbitmq Message Queuing As an Integration Mechanism
    2/19/2018 MQTT A protocol for communicating with your things David Brinnen and Brett Cameron SESAM Seminar, March 2018 Abstract The Internet of Things refers to the ever-growing network of physical devices that have IP connectivity, allowing them to connect to the internet, and the communication that occurs between these devices and other internet-enabled devices and systems. In this talk, Brett and David will introduce the Internet of Things and will discuss some of the key technologies associated with the creation of Internet of Things solutions and services within the manufacturing domain. Particular attention will be given to MQTT, which is gaining acceptance as the preferred protocol for use by the Internet of Things applications. Currently available implementations of MQTT will be briefly reviewed and case studies illustrating the application of the protocol will be presented. Some examples of how MQTT might be used to implement secure, fault-tolerant, and scalable Internet of Things solutions will be discussed, and the application and use of MQTT in Next Generation SCADA systems that need to monitor and control devices at scale in a connected world will be will be discussed and demonstrated. 2 2/19/2018 About David Since completing his Masters studies in Embedded Software at the Swedish Royal Institute of Technology 2015 (KTH), David has been working as a software engineer across a range of projects, including the implementation of control logical and the commissioning of Energy Machines integrated energy systems and air handling units (https://www.energymachines.com/), and the development of a next-generation SADA platform (ControlMachines™) and simulation software to control, monitor, and model Energy Machines deployments.
    [Show full text]
  • Notification Methods in Wireless Systems
    Computer Science 17 (4) 2016 http://dx.doi.org/10.7494/csci.2016.17.4.519 • Piotr Nawrocki Mikołaj Jakubowski Tomasz Godzik NOTIFICATION METHODS IN WIRELESS SYSTEMS Abstract Recently, there has been an increasing need for secure, efficient, and simple notification methods for wireless systems. Such systems are meant to provide users with precise tools best suited for work or leisure environments, and a lot of effort has been put into creating a multitude of applications. At the same time, however, not much research has been made into determining which of the available protocols are best suited for each individual task. A number of basic notification methods are presented here, and tests have been performed for the most-promising ones. An attempt has been made to determine which of the methods have the best throughput, latency, security, and other characteristics. A comprehensive comparison is provided, which can be used to select the right method for each individual project. Finally, conclusions are provided, and the results from all of the tests conducted are discussed. Keywords notification methods, wireless systems, energy consumption Citation Computer Science 17 (4) 2016: 519–539 519 28 listopada 2016 str. 1/21 520 Piotr Nawrocki, Mikołaj Jakubowski, Tomasz Godzik 1. Introduction The purpose of this paper is to analyze and test several selected notification methods for wireless platforms. This paper is an expanded version of a paper [6] presented at the Federated Conference on Computer Science and Information Systems, Lodz, Poland, 2015. The reason for this research is the need to determine the best way of sending simple as well as more-advanced messages about the events involved in the operation of grid systems or telemetric networks.
    [Show full text]
  • Industry Paper: Kafka Versus Rabbitmq a Comparative Study of Two Industry Reference Publish/Subscribe Implementations
    Industry Paper: Kafka versus RabbitMQ A comparative study of two industry reference publish/subscribe implementations Philippe Dobbelaere Kyumars Sheykh Esmaili Nokia Bell Labs Nokia Bell Labs Antwerp, Belgium Antwerp, Belgium ABSTRACT 1 INTRODUCTION Publish/subscribe is a distributed interaction paradigm well adapted e Internet has considerably changed the scale of distributed sys- to the deployment of scalable and loosely coupled systems. tems. Distributed systems now involve thousands of entities po- Apache Kaa and RabbitMQ are two popular open-source and tentially distributed all over the world whose location and behav- commercially-supported pub/sub systems that have been around for ior may greatly vary throughout the lifetime of the system. ese almost a decade and have seen wide adoption. Given the popularity constraints underline the need for more exible communication of these two systems and the fact that both are branded as pub/sub models and systems that reect the dynamic and decoupled na- systems, two frequently asked questions in the relevant online ture of the applications. Individual point-to-point and synchronous forums are: how do they compare against each other and which communications lead to rigid and static applications, and make the one to use? development of dynamic large-scale applications cumbersome [14]. In this paper, we frame the arguments in a holistic approach by To reduce the burden of application designers, the glue between establishing a common comparison framework based on the core the dierent entities in such large-scale seings should rather be functionalities of pub/sub systems. Using this framework, we then provided by a dedicated middleware infrastructure, based on an ad- venture into a qualitative and quantitative (i.e.
    [Show full text]
  • A Survey of Distributed Message Broker Queues
    A Survey of Distributed Message Broker Queues Vineet John Xia Liu University of Waterloo University of Waterloo [email protected] [email protected] ABSTRACT This paper surveys the message brokers that are in vogue today for distributed communication. Their primary goal is to facilitate the construction of decentralized topolo- gies without single points of failure, enabling fault tol- erance and high availability. These characteristics make them optimal for usage within distributed architectures. However, there are multiple protocols built to achieve this, and it would be beneficial to have a empirical comparison between their features and performance to determine their real-world applicability. Figure 1: Kafka Architecture This paper focuses on two popular protocols (Kafka and AMQP) and explores the divergence in their fea- RQ0 What are the message broker implementations tures as well as their performance under varied testing commonly in use today? workloads. RQ1 What are the common requirements for the im- plementation of message queues? KEYWORDS RQ2 What are the divergent functionalities in the distributed message broker, message queue, kafka, amqp, current message queue offerings? rabbitmq RQ3 How do each of the implementations offer relia- bility, partitioning and fault tolerance? 1 INTRODUCTION 3 KAFKA Kafka was developed at LinkedIn and primarily used Distributed Message Brokers are typically used to decou- for log processing. This worked well for Kafka’s user en- ple separate stages of a software architecture. They per- gagement metrics collection use-case. The fundamental mit communication between these stages asynchronously, features behind Kafka are performance over reliability by using the publish-subscribe paradigm.[1]. These mes- and it offers high throughput, low latency message queu- sage brokers are also finding new applications in the ing.
    [Show full text]
  • A Data-Oriented M2M Messaging Mechanism for Industrial Iot Applications
    The University of Manchester Research A Data-Oriented M2M Messaging Mechanism for Industrial IoT Applications DOI: 10.1109/JIOT.2016.2646375 Document Version Accepted author manuscript Link to publication record in Manchester Research Explorer Citation for published version (APA): Meng, Z., Wu, Z., Muvianto, C., & Gray, J. (2017). A Data-Oriented M2M Messaging Mechanism for Industrial IoT Applications. IEEE Internet of Things Journal , 4(1), 236 - 246. https://doi.org/10.1109/JIOT.2016.2646375 Published in: IEEE Internet of Things Journal Citing this paper Please note that where the full-text provided on Manchester Research Explorer is the Author Accepted Manuscript or Proof version this may differ from the final Published version. If citing, it is advised that you check and use the publisher's definitive version. General rights Copyright and moral rights for the publications made accessible in the Research Explorer are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Takedown policy If you believe that this document breaches copyright please refer to the University of Manchester’s Takedown Procedures [http://man.ac.uk/04Y6Bo] or contact [email protected] providing relevant details, so we can investigate your claim. Download date:07. Oct. 2021 This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2016.2646375, IEEE Internet of Things Journal A Data-Oriented M2M Messaging Mechanism for Industrial IoT Applications Zhaozong Meng, Member, IEEE, Zhipeng Wu, Senior Member, IEEE, Cahyo Muvianto, and John Gray Abstract—Machine-to-Machine (M2M) communication is a key exchange information with each other in an autonomous way enabling technology for the future Industrial Internet of Things [4].
    [Show full text]
  • I'm British So I Know How to Queue
    I’m British So I Know How to Queue Writing long running RabbitMQ Consumers In PHP. Stuart Grimshaw This book is for sale at http://leanpub.com/im_british_so_i_know_how_to_queue This version was published on 2014-11-19 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. ©2014 Stuart Grimshaw Tweet This Book! Please help Stuart Grimshaw by spreading the word about this book on Twitter! The suggested hashtag for this book is #phprabbit. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#phprabbit For my wife & kids. Contents Preface ............................................... 1 Who is this book for. ...................................... 1 Who is this book NOT for? ................................... 1 Typographic Conventions. ................................... 1 Key Benefits ........................................... 2 Please help improve this book. ................................. 2 About the author. ........................................ 2 About the cover ......................................... 3 Why Bother Queueing? ...................................... 4 A short history of message queues. ............................... 4 What can a message queue do? ................................. 5 Some
    [Show full text]
  • Sheet1 Page 1 Name Client License History Message Transport Jeromq
    Sheet1 Name client License History Message Transport Java implementation of zeromq JeroMQ Java GNU LGPL library MSMQ C++, Visual Basic, .NET, Part of OS Windows since 1997 Currently only beta, version 0.6. Nanomsg 23 languages Apache License 2.0 released ul 2015 C# implementation of zeromq, NetMQ C# GNU LGPL version 3.3.2.1. released sep 2015 Ruby, Go, Java, CoffeeScript, Python, Resque Clojure MIT license stable release 2013 Python, Cyclone, Ruby, RestMQ Erlang BSD license stable release may 2015 GNU LGPL v3, or commercial license stable release 2015, community Sidekiq Ruby, HTTP for business growing IMatix, 2008, first version; 2011 mass produced, latest release aug ZeroMQ 30+ languages LGPL 2015 Message Broker Apache ActiveMQ 20+ languages Apache License 2.0 latest release 2015 Apache Apollo Java, Scala Apache License 2.0 latest release 2015 Apache Kafka 17+ languages Apache License 2.0 Version 0.9, nov 2015 C++, Perl, Python, Ruby, .NET, C, Java, JavaScript, Apache Qpid PHP Apache License 2.0 Version 0.3, sep 2014 Darner C, C++ Apache License 2.0 Stable release mar 2013 EagleMQ C BSD stable release 2013 ejabberd Erlang GNU GPL v.2 Latest commit dec 2015 FFMQ Java GNU LGPL v3 Latest release 2013 RedHat, 2009, current version HornetQ Java Apache License 2.0 2013 Page 1 Sheet1 IBM Websphere C, Visual Basic, .NET, C++, Various IBM IBM, 1990's, latest MQ V8 released in MQ Java, JMS, ActiveX licences 2014 OW2, 1999, latest release may JORAM Java, XML, 13+ others LGPL 2015 Kestrel ASP.NET, Java Apache License 2.0 2.4.1 released nov 2012 MemcacheQ Perl, Python, C, BSD license ~2009, version 0.2.0.
    [Show full text]
  • State-Of-The-Art of Messaging for Distributed Computing Systems
    Category: original scientific paper Celar Stipe 1 Mudnic Eugen 2 Seremet Zeljko 3 STATE-OF-THE-ART OF MESSAGING FOR DISTRIBUTED COMPUTING SYSTEMS Abstract: Modern software applications rarely live in Moreover, in recent years, a new generation of isolation and nowadays it is common practice to messaging services has appeared, with a focus on rely on services or consume information provided low-latency and high-performance use cases, by remote entities. In such a distributed pushing the boundaries of messaging architecture, integration is key. Messaging, for applications. This paper will present messaging more than a decade, is the reference solution to solutions for distributed applications going tackle challenges of a distributed nature, such as through an overview of the main concepts, network unreliability, strong-coupling of technologies and services. producers and consumers and the heterogeneity of applications. Thanks to a strong community and a common effort towards standards and consolidation, message brokers are today the transport layer building blocks in many projects and services, both within the physics community and outside. Keywords: messaging; message-oriented middleware; MQ; message queuing; distributed systems Author´s data: 1 Celar, Stipe, PhD, Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture in Split, Croatia, [email protected] 2 Mudnic, Eugen, Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture in Split, Croatia, [email protected] 3 Seremet, Zeljko, Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture in Split, Croatia International Journal - VALLIS AUREA • Volume 3 • Number 2 • Croatia, December 2017 004.5; DOI 10.2507/IJVA.3.2.1.34 Introduction Peers can participate as client, service, or both [1].
    [Show full text]
  • Rabbitmq : a MOM (Message Oriented Middleware)
    RabbitMQ : A MOM (Message Oriented Middleware) Yvon Kermarrec With figures from RabbitMQ tutorial and from “TabbitMQ in action” 1 Bibliography https://www.amqp.org/ https://www.rabbitmq.com/ « RabbitMQ in action » Alvaro Videla and Jason J.W. Williams « learning RabbitMQ » Martin Toshev « RabbitMQ essentials » David Dossot 2 Y Kermarrec Agenda AMQP Understanding messaging Using RabbitMQ illustrated with examples Administration of the broker Synthesis 3 Y Kermarrec Why AMQP ? Business, applications, services and devices need to interact and communicate information IBM technologies controled over 80% of the market with the WebSphere and MQ Hughe cost and danger of a monopoly… 4 Y Kermarrec AMQP The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security (wikipedia) 5 Y Kermarrec AMQP AMQP provides a platform-agnostic method for ensuring information is safely transported between applications, among organizations, within mobile infrastructures, and across the Cloud. AMQP is used in areas as varied as financial front office trading, ocean observation, transportation, smart grid, computer-generated animation, and online gaming. Many operating systems include AMQP implementations, and many application frameworks are AMQP-aware 6 Y Kermarrec AMQP user group Set up by JPMorgan in 2006 • Goal to make Message Oriented
    [Show full text]
  • Hybrid Decentralized PBFT Blockchain Framework for Openstack Message Queue
    Kim and Park Hum. Cent. Comput. Inf. Sci. (2020) 10:31 https://doi.org/10.1186/s13673-020-00238-6 RESEARCH Open Access Hybrid decentralized PBFT Blockchain Framework for OpenStack message queue Youngjong Kim* and Jinho Park* *Correspondence: [email protected]; Abstract [email protected] Cloud computing based on OpenStack is widely used as a distributed computing School of Software, Soongsil University, 369 Sangdo-ro, platform. OpenStack has progressed at a rapid pace, incorporating a variety of service Dongjak-gu, Seoul, Republic modules; it is supported by many companies, has a community of active developers, of Korea and a diverse user base. OpenStack uses message queue to coordinate and exchange operation and status information between services. OpenStack supports various mes- sage queue services including RabbitMQ, Qpid, and ZeroMQ, whereas its distribution architecture uses RabbitMQ. As an OpenStack’s message queue service, RabbitMQ runs on a controller node as a centralized service. In case of the centralized service, increased usage may cause slowed response times and security vulnerability. This paper proposes a Hybrid decentralized Practical byzantine fault tolerance Blockchain Framework with two-step verifcation for OpenStack message queue service. When compared to existing OpenStack message queue service, OpenStack with the pro- posed framework demonstrates identical reliability a faster response time by approxi- mately 46.75% with a two-step verifcation process and decentralization approach. Additionally, a reduction in the security vulnerability in the OpenStack message queue information with saving the message queue information into each node by block- chain-based decentralized data duplication approach. Keywords: Cloud, OpenStack, Message queue, Hybrid, Decentralization, PBFT Blockchain Introduction OpenStack, which is the open-source Infrastructure-as-a-Service (laaS) Platform Pro- ject, is widely used in various felds.
    [Show full text]