Lecture 3 Communication

Total Page:16

File Type:pdf, Size:1020Kb

Lecture 3 Communication Lecture 3 Communication Prof. Wilson Rivera University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department Outline z Layered protocols (OSI Model) z Remote Procedure Call z Message Oriented Communication z Streaming Oriented Communication z Multicasting Parallel and Distributed Computing Laboratory @ UPRM Communication Concepts z In traditional network systems communication is often based on low-level message passing primitives offered by the transport protocol (lack of transparency) z Middleware must provide a higher level of abstraction to allow the development of large scale distributed applications Parallel and Distributed Computing Laboratory @ UPRM Layered Protocols (1) z Layers, interfaces, and protocols in the OSI model. Parallel and Distributed Computing Laboratory @ UPRM Layered Protocols (2) z OSI (Open Systems Interconnection) Reference Model Designed to allow open systems to communicate by using standard rules (protocols) z Low Level Protocols Physical layer (electrical, mechanical and signal interfaces; eg. RS-232-C) Data link layer (mechanisms to correct errors; eg. Checksum) Network layer (routing, connectionless; eg. IP (Internet Protocol) Parallel and Distributed Computing Laboratory @ UPRM Layered Protocols (3) z Transport Protocols Reliable connection (can be built on the top of connection-oriented or connectionless protocols) » TCP (Transmission Control Protocol) Æ overhead » UDP (Universal Datagram Protocol) Æ Non reliable » RTP (Real Time Transport Protocol) z High Level Protocols In the Internet protocol suite everything above the transport layer is grouped together Session & Presentation Layer » Low level synchronization Application layer » Container for all applications » FTP (File Transfer Protocol) » HTTP (Hyper Text Transfer Protocol) Parallel and Distributed Computing Laboratory @ UPRM Layered Protocols (4) z A typical message as it appears on the network. Parallel and Distributed Computing Laboratory @ UPRM Middleware Protocols (1) z An adapted reference model for networked communication. Parallel and Distributed Computing Laboratory @ UPRM Middleware Protocols (2) z Application specific protocols (eg. FTP, HTTP) z Middleware Protocols General purposes (application independent ) protocols » Middleware services (eg. authentication) » High level communication RPC MOM Stream Multicast Parallel and Distributed Computing Laboratory @ UPRM Conventional Procedure Call a) Parameter passing in a local procedure call: the stack before the call to read b) The stack while the called procedure is active Parallel and Distributed Computing Laboratory @ UPRM Client and Server Stubs z Principle of RPC between a client and server program. Parallel and Distributed Computing Laboratory @ UPRM Steps of a Remote Procedure Call 1. Client procedure calls client stub in normal way 2. Client stub builds message, calls local OS 3. Client's OS sends message to remote OS 4. Remote OS gives message to server stub 5. Server stub unpacks parameters, calls server 6. Server does work, returns result to the stub 7. Server stub packs it in message, calls local OS 8. Server's OS sends message to client's OS 9. Client's OS gives message to client stub 10. Stub unpacks result, returns to client Parallel and Distributed Computing Laboratory @ UPRM Passing Value Parameters (1) z Steps involved in doing remote computation through RPC Parallel and Distributed Computing Laboratory @ UPRM RPC Usage considerations z RPC is appropriate for client/server applications z When recovery mechanisms, such as retransmissions, are employed by an RPC application, the resulting load on a network may increase, making the application inappropriate for a congested network. z RPC uses static routing tables established at compile-time, the ability to perform load balancing across a network is difficult. z RPC implementations are nominally incompatible with other RPC implementations. Vendor Features that may affect the design and cost of a RPC-based application include the following: » support of synchronous and/or asynchronous processing » support of different networking protocols » support for different file systems » whether the RPC mechanism can be obtained individually, or only bundled with a server operating system Parallel and Distributed Computing Laboratory @ UPRM Asynchronous RPC (1) a) The interconnection between client and server in a traditional RPC b) The interaction using asynchronous RPC Parallel and Distributed Computing Laboratory @ UPRM Asynchronous RPC (2) z A client and server interacting through two asynchronous RPCs (deferred synchronous RPC) Parallel and Distributed Computing Laboratory @ UPRM RPC Systems z Sun RPC (ONC RPC) z DCE-RPC z DCOM z CORBA (Common Object Request Architecture) z Java RMI z XML-RPC z SOAP (Simple Object Access Protocol) z AJAX (Asynchronous Javascript And XML) z REST (REpresentational State Transfer) z Thrift (Facebook) Parallel and Distributed Computing Laboratory @ UPRM DCE RPC (1) z Distributed Computing Environment (DCE) Developed by the Open Software Foundation Adopted in Microsoft’s base system for distributed computing, DCOM Uuidgen (program to generate a prototype IDL (Interface Definition Language) file containing a unique interface identifier IDL file can be modified to support other constructs IDL compiler » Header (unique identifiers, type definitions, and function prototypes) » Client stub » Server stub Application writer to write the client and server codes Parallel and Distributed Computing Laboratory @ UPRM DCE RPC (2) Parallel and Distributed Computing Laboratory @ UPRM DCE RPC (3) z Client-to-server binding in DCE. Parallel and Distributed Computing Laboratory @ UPRM Message-Queuing Model (1) z Four combinations for loosely-coupled communications using queues. Parallel and Distributed Computing Laboratory @ UPRM Message-Queuing Model (2) z Basic interface to a queue in a message-queuing system. Parallel and Distributed Computing Laboratory @ UPRM General Architecture of a Message-Queuing System (1) z Figure 4-19. The relationship between queue-level addressing and network-level addressing. Parallel and Distributed Computing Laboratory @ UPRM General Architecture of a Message-Queuing System (2) A message-queuing system with routers. Parallel and Distributed Computing Laboratory @ UPRM Message Brokers z Figure 4-21. The general organization of a message broker z in a message-queuing system. Parallel and Distributed Computing Laboratory @ UPRM MQM Use Considerations z Persistent asynchronous communication z Provide intermediate term storage capacity z Do not require either sender or receiver to be active during message transmission z Support message transfers taking in the order of minutes instead seconds z Applicable to email, groupware, workflow and batch processing applications z Very suitable for integrating a collection of databases and applications into a federated information system Parallel and Distributed Computing Laboratory @ UPRM MQM Protocol Implementations z Java Message Service (API level available in Java EE) z IBM’s WebSphere MQ z JBOSS Message z ActiveMQ z Advanced Message Queuing Protocol (AMQP) OpenAMQ StormMQ RabbitMQ Apache Qpid RedHat MRG Parallel and Distributed Computing Laboratory @ UPRM IBM’s WebSphere Message-Queuing System z Figure 4-22. General organization of IBM’s message- queuing system. Parallel and Distributed Computing Laboratory @ UPRM Channels z Some attributes associated with message channel agents. Parallel and Distributed Computing Laboratory @ UPRM Message Transfer z Figure 4-24. The general organization of an MQ queuing network using routing tables and aliases. Parallel and Distributed Computing Laboratory @ UPRM Data Stream z Figure 4-26. A general architecture for streaming stored multimedia data over a network. Parallel and Distributed Computing Laboratory @ UPRM Streams and Quality of Service z Properties for Quality of Service: z The required bit rate at which data should be transported. z The maximum delay until a session has been set up z The maximum end-to-end delay . z The maximum delay variance, or jitter. z The maximum round-trip delay. Parallel and Distributed Computing Laboratory @ UPRM Enforcing QoS (1) z Figure 4-27. Using a buffer to reduce jitter. Parallel and Distributed Computing Laboratory @ UPRM Enforcing QoS (2) z Figure 4-28. The effect of packet loss in (a) non interleaved transmission and (b) interleaved transmission. Parallel and Distributed Computing Laboratory @ UPRM Synchronization Mechanisms (1) z Figure 4-29. The principle of explicit synchronization on the level data units. Parallel and Distributed Computing Laboratory @ UPRM Synchronization Mechanisms (2) z Figure 4-30. The principle of synchronization as supported by high-level interfaces. Parallel and Distributed Computing Laboratory @ UPRM Overlay Construction z Figure 4-31. The relation between links in an overlay and actual network-level routes. Parallel and Distributed Computing Laboratory @ UPRM Information Dissemination Models (1) z Anti-entropy propagation model Node P picks another node Q at random Subsequently exchanges updates with Q z Approaches to exchanging updates P only pushes its own updates to Q P only pulls in new updates from Q P and Q send updates to each other Parallel and Distributed Computing Laboratory @ UPRM Information Dissemination Models (2) z Figure 4-32. The relation between the fraction s of update-ignorant nodes and the parameter k in pure gossiping. The graph displays ln(s) as a function of k. Parallel and Distributed Computing Laboratory @ UPRM.
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]
  • 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]
  • 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.
    [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]
  • Performance Comparison of Message Queue Methods
    UNLV Theses, Dissertations, Professional Papers, and Capstones August 2019 Performance Comparison of Message Queue Methods Sanika Raje Follow this and additional works at: https://digitalscholarship.unlv.edu/thesesdissertations Part of the Computer Sciences Commons Repository Citation Raje, Sanika, "Performance Comparison of Message Queue Methods" (2019). UNLV Theses, Dissertations, Professional Papers, and Capstones. 3746. http://dx.doi.org/10.34917/16076287 This Thesis is protected by copyright and/or related rights. It has been brought to you by Digital Scholarship@UNLV with permission from the rights-holder(s). You are free to use this Thesis in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s) directly, unless additional rights are indicated by a Creative Commons license in the record and/ or on the work itself. This Thesis has been accepted for inclusion in UNLV Theses, Dissertations, Professional Papers, and Capstones by an authorized administrator of Digital Scholarship@UNLV. For more information, please contact [email protected]. PERFORMANCE COMPARISON OF MESSAGE QUEUE METHODS By Sanika N. Raje Bachelor of Science - Information Technology University of Mumbai 2012 Master in Computer Applications University of Mumbai 2015 A thesis submitted in partial fulfillment of the requirements for the Master of Science in Computer Science Department of Computer Science Howard R. Hughes College of Engineering The Graduate College University of Nevada, Las Vegas August 2019 ©Sanika N Raje, 2019 All Rights Reserved Thesis Approval The Graduate College The University of Nevada, Las Vegas May 16, 2019 This thesis prepared by Sanika N.
    [Show full text]
  • Event-Driven Infrastructure
    Event-driven Infrastructure Mike Place [email protected] https://mikeplace.io SaltStack Part 0: A Thank You Principles > Products Part I: The Future is a Distributed System With a Convergence Problems How do we reason about complexity? One way we reason about it is through patterns Active humans building proactive processes create reactive systems We’re very good at building systems that say: If x happens, then do y But we’re bad at building systems that say: If NOT x, then y Part II: New Ideas are Hard to Come By Three Pillars of Distributed Computing ! The ability for the system to be aware of the existence and capability of its member nodes. ! The ability to co-ordinate tasks between those nodes. ! Inter-process communication which can connect nodes in the system to each other The fundamental unit of distributed computing is the event What are the properties of a message bus? ! Data model ! Command set ! Transport Message Buses for Ops ! Monitoring ! Configuration management ! ChatOps ! Auto-scale ! Serverless ! Provisioning Message Buses for Dev ! Almost anything that connects various layers of an application stack has a message bus of some kind ! Sometimes these are streaming ! Sometimes they’re just set up and torn down on demand. Part IV: Question: What possibilities emerge when these siloed streams of events are shared with each other? What does (most) automation look like right now? ! Packaged workflows " We take a series of steps (or a collection of structured data) and we list them out and then we go and do those steps, with, hopefully a little bit of abstraction and error control.
    [Show full text]
  • Web Services Approach for Ambient Assisted Living in Mobile Environments
    UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática Web Services Approach for Ambient Assisted Living in Mobile Environments Joel Lourenço Fernandes Submitted to the University of Beira Interior in candidature for the Degree of Master of Science in Informatics Engineering Supervised by Prof. Dr. Joel José Puga Coelho Rodrigues Departamento de Informática University of Beira Interior Covilhã, Portugal http://www.di.ubi.pt This work has been partially supported by the Instituto de Telecomunicações, Next Generation Networks and Applications Group (NetGNA), Portugal, by National Funding from the FCT – Fundação para a Ciência e Tecnologia through the Pest-OE/EEI/LA0008/2011, and by the AAL4ALL (Ambient Assisted Living for All), project co-financed by the European Community Fund FEDER through COMPETE – Programa Operacional Factores de Competitividade. i Acknowledgements First of all, I would like to thank Prof. Joel José Puga Coelho Rodrigues for giving me a chance to join the Next Generation Networks and Applications Research Group (NetGNA), for all the constant words of encouragement and for supervising my Master’s Thesis. The last year was undoubtedly very important in my evolution has Informatics Engineer as a person as well. I am most grateful to the University of Beira Interior, the Instituto de Telecomunicações, Next Generation Networks and Applications Group (NetGNA), Covilhã Delegation, Portugal, by National Funding from the FCT – Fundação para a Ciência e a Tecnologia through the PEst- OE/EEI/LA0008/2011 Project, by the AAL4ALL (Ambient Assisted Living for All), project co-financed by the European Community Fund FEDER through COMPETE – Programa Operacional Factores de Competitividade.
    [Show full text]
  • A Work Queue Server for the Ichnaea Project
    A work queue server for the Ichnaea project Author: Director: Miguel Ibero Lluís A. Belanche Carreras Muñoz Barcelona, November 2014 Acknowledgements I would like to to thank Lluís Belanche, the director of this project, for giving me the opportunity to work on improving Ichnaea and always being positive and encouraging when I had problems. I would also like to thank Nahuel Velazco, who worked on the website to manage Ichnaea tasks, for always being so helpful. Finally thanks to my family for supporting me through my studies, and Yvette for always being there for me. Contents 1 Introduction 8 1.1 Description . .8 1.2 Motivation . .8 1.3 Overview . .9 1.4 Goals . 10 1.5 Structure of the document . 11 2 AMQP protocol 12 2.1 History . 12 2.2 AMQP 0-9-1 . 14 2.2.1 Concepts . 15 2.2.2 Transport . 23 2.3 AMQP 1.0 . 28 2.3.1 Type System . 29 2.3.2 Transport . 32 2.4 RabbitMQ . 33 3 Ichnaea AMQP 34 3.1 R wrapper . 34 3 CONTENTS CONTENTS 3.2 Java .................................. 36 3.2.1 Shell package . 36 3.2.2 Command line interface package . 37 3.2.3 Model package . 38 3.2.4 Xml package . 39 3.2.5 Data package . 40 3.2.6 Client package . 42 3.2.7 Proto package . 44 3.2.8 App package . 46 3.3 PHP library . 46 3.3.1 Test PHP app . 47 4 Analysis of a test run 48 4.1 General setup . 48 4.2 Fake request .
    [Show full text]