57 research outputs found

    Performance Comparison of Message Queue Methods

    Full text link
    Message queues are queues of messages that facilitate communication between applications. A queue is a line of messages or events waiting to be handled in a sequential manner. A message queue is a queue of messages sent between applications. It includes a sequence of work objects that are waiting to be processed. For a distributed system to work, it needs to pass information between various machines. No single machine is responsible for the entire system, but all information is interrelated. Hence a major concern of distributed systems is this transfer of data. Which also proves to be one of the most significant challenges. Message Queues provide this asynchronous communication between applications. Major factors behind the success of an application is the ability to decouple and scale it. In this thesis, we focus on analyzing and comparing the performance of three most widely used open source message brokers namely Apache ActiveMQ, RabbitMQ and Apache Kafka which help in creating a distributed system. An end to end message queuing model is setup for each of the brokers to mimic real world application models. The producers, consumers and brokers that make up the message queuing system are then put through rigorous benchmarking tests to analyze their performance. The performance is evaluated based on major factors like throughput, latency and total time taken by the transaction. Based on the benchmarking results, it was observed that Apache Kafka which was initially developed to be a message queue but later enhanced to be a streaming platform outdid RabbitMQ and Apache ActiveMQ in almost all the performance factors. It was also observed that the larger the message size, more constant is the performance of all message brokers. Hence, for gauging the performance in hard times, the message sizes considered for the experiments is very small. This gives us a glimpse of the actual performance capabilities of the message queuing brokers

    A Glimpse of the Matrix (Extended Version): Scalability Issues of a New Message-Oriented Data Synchronization Middleware

    Get PDF
    Matrix is a new message-oriented data synchronization middleware, used as a federated platform for near real-time decentralized applications. It features a novel approach for inter-server communication based on synchronizing message history by using a replicated data structure. We measured the structure of public parts in the Matrix federation as a basis to analyze the middleware\u27s scalability. We confirm that users are currently cumulated on a single large server, but find more small servers than expected. We then analyze network load distribution in the measured structure and identify scalability issues of Matrix\u27 group communication mechanism in structurally diverse federations

    Universal Mobile Service Execution Framework for Device-To-Device Collaborations

    Get PDF
    There are high demands of effective and high-performance of collaborations between mobile devices in the places where traditional Internet connections are unavailable, unreliable, or significantly overburdened, such as on a battlefield, disaster zones, isolated rural areas, or crowded public venues. To enable collaboration among the devices in opportunistic networks, code offloading and Remote Method Invocation are the two major mechanisms to ensure code portions of applications are successfully transmitted to and executed on the remote platforms. Although these domains are highly enjoyed in research for a decade, the limitations of multi-device connectivity, system error handling or cross platform compatibility prohibit these technologies from being broadly applied in the mobile industry. To address the above problems, we designed and developed UMSEF - an Universal Mobile Service Execution Framework, which is an innovative and radical approach for mobile computing in opportunistic networks. Our solution is built as a component-based mobile middleware architecture that is flexible and adaptive with multiple network topologies, tolerant for network errors and compatible for multiple platforms. We provided an effective algorithm to estimate the resource availability of a device for higher performance and energy consumption and a novel platform for mobile remote method invocation based on declarative annotations over multi-group device networks. The experiments in reality exposes our approach not only achieve the better performance and energy consumption, but can be extended to large-scaled ubiquitous or IoT systems

    A Framework for Industry 4.0

    Get PDF
    The potential of the Industry 4.0 will allow the national industry to develop all kinds of procedures, especially in terms of competitive differentiation. The prospects and motivations behind Industry 4.0 are related to the management that is essentially geared towards industrial internet, to the integrated analysis and use of data, to the digitalization of products and services, to new disruptive business models and to the cooperation within the value chain. It is through the integration of Cyber-Physical Systems (CPS), into the maintenance process that it is possible to carry out a continuous monitoring of industrial machines, as well as to apply advanced techniques for predictive and proactive maintenance. The present work is based on the MANTIS project, aiming to construct a specific platform for the proactive maintenance of industrial machines, targeting particularly the case of GreenBender ADIRA Steel Sheet. In other words, the aim is to reduce maintenance costs, increase the efficiency of the process and consequently the profit. Essentially, the MANTIS project is a multinational research project, where the CISTER Research Unit plays a key role, particularly in providing the communications infrastructure for one MANTIS Pilot. The methodology is based on a follow-up study, which is jointly carried with the client, as well as within the scope of the implementation of the ADIRA Pilot. The macro phases that are followed in the present work are: 1) detailed analysis of the business needs; 2) preparation of the architecture specification; 3) implementation/development; 4) tests and validation; 5) support; 6) stabilization; 7) corrective and evolutionary maintenance; and 8) final project analysis and corrective measures to be applied in future projects. The expected results of the development of such project are related to the integration of the industrial maintenance process, to the continuous monitoring of the machines and to the application of advanced techniques of preventive and proactive maintenance of industrial machines, particularly based on techniques and good practices of the Software Engineering area and on the integration of Cyber-Physical Systems.O potencial desenvolvido pela Indústria 4.0 dotará a indústria nacional de capacidades para desenvolver todo o tipo de procedimentos, especialmente a nível da diferenciação competitiva. As perspetivas e as motivações por detrás da Indústria 4.0 estão relacionadas com uma gestão essencialmente direcionada para a internet industrial, com uma análise integrada e utilização de dados, com a digitalização de produtos e de serviços, com novos modelos disruptivos de negócio e com uma cooperação horizontal no âmbito da cadeia de valor. É através da integração dos sistemas ciber-físicos no processo de manutenção que é possível proceder a um monitoramento contínuo das máquinas, tal como à aplicação de técnicas avançadas para a manutenção preditiva e pró-ativa das mesmas. O presente trabalho é baseado no projeto MANTIS, objetivando, portanto, a construção de uma plataforma específica para a manutenção pró-ativa das máquinas industriais, neste caso em concreto das prensas, que serão as máquinas industriais analisadas ao longo do presente trabalho. Dito de um outro modo, objetiva-se, através de uma plataforma em específico, reduzir todos os custos da sua manutenção, aumentando, portanto, os lucros industriais advindos da produção. Resumidamente, o projeto MANTIS consiste num projeto de investigação multinacional, onde a Unidade de Investigação CISTER desenvolve um papel fundamental, particularmente no fornecimento da infraestrutura de comunicação no Piloto MANTIS. A metodologia adotada é baseada num estudo de acompanhamento, realizado em conjunto com o cliente, e no âmbito da implementação do Piloto da ADIRA. As macro fases que são compreendidas por esta metodologia, e as quais serão seguidas, são: 1) análise detalhada das necessidades de negócio; 2) preparação da especificação da arquitetura; 3) implementação/desenvolvimento; 4) testes e validação; 5) suporte; 6) estabilização; 7) manutenção corretiva e evolutiva; e 8) análise final do projeto e medidas corretivas a aplicar em projetos futuros. Os resultados esperados com o desenvolvimento do projeto estão relacionados com a integração do processo de manutenção industrial, a monitorização contínua das máquinas e a aplicação de técnicas avançadas de manutenção preventiva e pós-ativa das máquinas, especialmente com base em técnicas e boas práticas da área de Engenharia de Software

    Fog Computing

    Get PDF
    Everything that is not a computer, in the traditional sense, is being connected to the Internet. These devices are also referred to as the Internet of Things and they are pressuring the current network infrastructure. Not all devices are intensive data producers and part of them can be used beyond their original intent by sharing their computational resources. The combination of those two factors can be used either to perform insight over the data closer where is originated or extend into new services by making available computational resources, but not exclusively, at the edge of the network. Fog computing is a new computational paradigm that provides those devices a new form of cloud at a closer distance where IoT and other devices with connectivity capabilities can offload computation. In this dissertation, we have explored the fog computing paradigm, and also comparing with other paradigms, namely cloud, and edge computing. Then, we propose a novel architecture that can be used to form or be part of this new paradigm. The implementation was tested on two types of applications. The first application had the main objective of demonstrating the correctness of the implementation while the other application, had the goal of validating the characteristics of fog computing.Tudo o que não é um computador, no sentido tradicional, está sendo conectado à Internet. Esses dispositivos também são chamados de Internet das Coisas e estão pressionando a infraestrutura de rede atual. Nem todos os dispositivos são produtores intensivos de dados e parte deles pode ser usada além de sua intenção original, compartilhando seus recursos computacionais. A combinação desses dois fatores pode ser usada para realizar processamento dos dados mais próximos de onde são originados ou estender para a criação de novos serviços, disponibilizando recursos computacionais periféricos à rede. Fog computing é um novo paradigma computacional que fornece a esses dispositivos uma nova forma de nuvem a uma distância mais próxima, onde “Things” e outros dispositivos com recursos de conectividade possam delegar processamento. Nesta dissertação, exploramos fog computing e também comparamos com outros paradigmas, nomeadamente cloud e edge computing. Em seguida, propomos uma nova arquitetura que pode ser usada para formar ou fazer parte desse novo paradigma. A implementação foi testada em dois tipos de aplicativos. A primeira aplicação teve o objetivo principal de demonstrar a correção da implementação, enquanto a outra aplicação, teve como objetivo validar as características de fog computing

    Notification Methods in Wireless Systems

    Get PDF
    Recently, there has been an increasing need for secure, efficient, and simplenotification methods for wireless systems. Such systems are meant to provideusers with precise tools best suited for work or leisure environments, and a lotof effort has been put into creating a multitude of applications. At the sametime, however, not much research has been made into determining which of theavailable protocols are best suited for each individual task. A number of basicnotification methods are presented here, and tests have been performed for themost-promising ones. An attempt has been made to determine which of themethods have the best throughput, latency, security, and other characteristics.A comprehensive comparison is provided, which can be used to select the rightmethod for each individual project. Finally, conclusions are provided, and theresults from all of the tests conducted are discussed

    Conceptualização e desenvolvimento de uma framework de clustering

    Get PDF
    Com a proliferação de todo o tipo de serviços baseados em plataformas digitais, como por exemplo, o e-commerce o home banking ou mesmo as redes sociais, o conceito de sistemas distribuídos ganhou um novo folgo, e com ele, surgiram novas necessidades de se atingir altos níveis de disponibilidade para determinados sistemas de software. Este cenário obriga a que as infraestruturas tecnológicas atuais incluam várias réplicas desses mesmos sistemas, de forma a manter o serviço sempre disponível ainda que ocorra uma falha num ou noutro sistema. A maior parte dos sistemas atuais incluem duas camadas distintas, a camada aplicacional, onde corre a lógica de negócio, e a camada de persistência onde os dados são guardados de forma não volátil. Embora, normalmente, de forma simples se consigam replicar os aplicacionais desses sistemas, replicar as camadas de persistência revela-se a maior parte das vezes um desafio bem mais complexo. Esta dissertação apresenta um problema concreto de uma necessidade de aplicar replicação de dados num sistema distribuído que se encontra atualmente em ambiente de produção, de forma a poder garantir-se a disponibilidade do mesmo. Do estudo realizado sobre os principais conceitos de replicação de dados, assim como algumas frameworks de replicação a nível de middleware, e o problema em questão, foi possível conceptualizar e desenvolver uma nova framework de clustering ao nível do middleware que pode ser aplicada em sistemas aos quais se queira adicionar capacidade de clustering, independentemente do tipo de persistência com os quais os mesmos interagem.With the proliferation of all kinds of services based on digital platforms, as for example, the ecommerce, the home banking or even the social networks, the concept of distributed systems gained a new breadth, and with it, appeared new necessities to achieve higher levels of high availability in some specific software systems. This scenario forces the need of the actual technological infrastructures to include several replicas of those systems, in order to ensure the service availability, even in an advent of a failure in one or more systems. The majority of the actual systems include two distinct layers, the application layer, where the business logic runs, and the persistence layer, where the data is stored in a non-volatile way. Although, usually, is simple to apply replication to the application layer of those systems, applying replication on the persistence layers reveals itself most of the times a much more complex challenge. This master thesis presents a concrete problem of the necessity to apply data replication to a distributed system that is currently in a production environment, in order to ensure its availability. Through study performed both on the main concepts of data replication, as on some middleware based replication frameworks, and taking into the account the problem in hand, it was possible to conceptualize and develop a new middleware clustering framework that can be applied to systems to which is wanted to add clustering capabilities, regardless of the persistence type they interact with
    corecore