418 research outputs found
Decentralized Orchestration of Open Services- Achieving High Scalability and Reliability with Continuation-Passing Messaging
The papers of this thesis are not available in Munin.
Paper I: Yu, W.,Haque, A. A. M. “Decentralised web- services orchestration with continuation-passing messaging”. Available in International Journal of Web and Grid Services 2011, 7(3):304–330.
Paper II: Haque, A. A. M., Yu, W.: “Peer-to-peer orchestration of web mashups”. Available in
International Journal of Adaptive, Resilient and
Autonomic Systems 2014, 5(3):40-60.
Paper V: Haque, A. A. M., Yu, W.: “Decentralized and reliable orchestration of open services”. In:Service Computation 2014. International Academy, Research and Industry Association (IARIA) 2014 ISBN 978-1-61208-337-7.An ever-increasing number of web applications are providing open services to a wide range of applications. Whilst traditional centralized approaches to services orchestration are successful for enterprise service-oriented systems, they are subject to serious limitations for orchestrating the wider range of open services. Dealing with these limitations calls for decentralized approaches. However, decentralized approaches are themselves faced with a number of challenges, including the possibility of loss of dynamic run-time states that are spread over the distributed environment. This thesis presents a fully decentralized approach to orchestration of open services. Our flow-aware dynamic replication scheme supports both exceptional handling, failure of orchestration agents and recovers from fail situations. During execution, open services are conducted by a network of orchestration agents which collectively orchestrate open services using continuation-passing messaging. Our performance study showed that decentralized orchestration improves the scalability and enhances the reliability of open services. Our orchestration approach has a clear performance advantage over traditional centralized orchestration as well as over the current practice of web mashups where application servers themselves conduct the execution of the composition of open web services. Finally, in our empirical study we presented the overhead of the replication approach for services orchestration
RESTful Service Composition
The Service-Oriented Architecture (SOA) has become one of the most popular approaches to building large-scale network applications. The web service technologies are de facto the default implementation for SOA. Simple Object Access Protocol (SOAP) is the key and fundamental technology of web services. Service composition is a way to deliver complex services based on existing partner services. Service orchestration with the support of Web Services Business Process Execution Language (WSBPEL) is the dominant approach of web service composition. WSBPEL-based service orchestration inherited the issue of interoperability from SOAP, and it was furthermore challenged for performance, scalability, reliability and modifiability.
I present an architectural approach for service composition in this thesis to address these challenges. An architectural solution is so generic that it can be applied to a large spectrum of problems. I name the architectural style RESTful Service Composition (RSC), because many of its elements and constraints are derived from Representational State Transfer (REST). REST is an architectural style developed to describe the architectural style of the Web. The Web has demonstrated outstanding interoperability, performance, scalability, reliability and modifiability.
RSC is designed for service composition on the Internet. The RSC style is composed on specific element types, including RESTful service composition client, RESTful partner proxy, composite resource, resource client, functional computation and relaying service. A service composition is partitioned into stages; each stage is represented as a computation that has a uniform identifier and a set of uniform access methods; and the transitions between stages are driven by computational batons. RSC is supplemented by a programming model that emphasizes on-demand function, map-reduce and continuation passing. An RSC-style composition does not depend on either a central conductor service or a common choreography specification, which makes it different from service orchestration or service choreography.
Four scenarios are used to evaluate the performance, scalability, reliability and modifiability improvement of the RSC approach compared to orchestration. An RSC-style solution and an orchestration solution are compared side by side in every scenario. The first scenario evaluates the performance improvement of the X-Ray Diffraction (XRD) application in ScienceStudio; the second scenario evaluates the scalability improvement of the Process Variable (PV) snapshot application; the third scenario evaluates the reliability improvement of a notification application by simulation; and the fourth scenario evaluates the modifiability improvement of the XRD application in order to fulfil emerging requirements. The results show that the RSC approach outperforms the orchestration approach in every aspect
Distributed Handler Architecture
Thesis (PhD) - Indiana University, Computer Sciences, 2007Over the last couple of decades, distributed systems have been demonstrated an architectural evolvement based on models including client/server, multi-tier, distributed objects, messaging and peer-to-peer. One recent evolutionary step is Service Oriented Architecture (SOA), whose goal is to achieve loose-coupling among the interacting software applications for scalability and interoperability. The SOA model is engendered in Web Services, which provide software platforms to build applications as services and to create seamless and loosely-coupled interactions. Web Services utilize supportive functionalities such as security, reliability, monitoring, logging and so forth. These functionalities are typically provisioned as handlers, which incrementally add new capabilities to the services by building an execution chain. Even though handlers are very important to the service, the way of utilization is very crucial to attain the potential benefits. Every attempt to support a service with an additive functionality increases the chance of having an overwhelmingly crowded chain: this makes Web Service fat. Moreover, a handler may become a bottleneck because of having a comparably higher processing time.
In this dissertation, we present Distributed Handler Architecture (DHArch) to provide an efficient, scalable and modular architecture to manage the execution of the handlers. The system distributes the handlers by utilizing a Message Oriented Middleware and orchestrates their execution in an efficient fashion. We also present an empirical evaluation of the system to demonstrate the suitability of this architecture to cope with the issues that exist in the conventional Web Service handler structures
Open Source Solutions for Building IaaS Clouds
Cloud Computing is not only a pool of resources and services offered through the internet, but also a technology solution that allows optimization of resources use, costs minimization and energy consumption reduction. Enterprises moving towards cloud technologies have to choose between public cloud services, such as: Amazon Web Services, Microsoft Cloud and Google Cloud services, or private self built clouds. While the firsts are offered with affordable fees, the others provide more privacy and control. In this context, many open source softwares approach the buiding of private, public or hybrid clouds depending on the users need and on the available capabilities. To choose among the different open source solutions, an analysis is necessary in order to select the most suitable according with the enterprise’s goals and requirements. In this paper, we present a depth study and comparison of five open source frameworks that are gaining more attention recently and growing fast: CloudStack, OpenStack, Eucalyptus, OpenNebula and Nimbus. We present their architectures and discuss different properties, features, useful information and our own insights on these frameworks
Middleware for Large-scale Distributed Systems
Nos últimos anos o aumento exponencial da utilização de dispositivos móveis e serviços
disponibilizados na “Cloud” levou a que a forma como os sistemas são desenhados e
implementados mudasse, numa perspectiva de tentar alcançar requisitos que até então não
eram essenciais.
Analisando esta evolução, com o enorme aumento dos dispositivos móveis, como os
“smartphones” e “tablets” fez com que o desenho e implementação de sistemas distribuidos
fossem ainda mais importantes nesta área, na tentativa de promover sistemas e aplicações que
fossem mais flexíveis, robutos, escaláveis e acima de tudo interoperáveis. A menor capacidade
de processamento ou armazenamento destes dispositivos tornou essencial o aparecimento e
crescimento de tecnologias que prometem solucionar muitos dos problemas identificados.
O aparecimento do conceito de Middleware visa solucionar estas lacunas nos sistemas
distribuidos mais evoluídos, promovendo uma solução a nível de organização e desenho da
arquitetura dos sistemas, ao memo tempo que fornece comunicações extremamente rápidas,
seguras e de confiança. Uma arquitetura baseada em Middleware visa dotar os sistemas de um
canal de comunicação que fornece uma forte interoperabilidade, escalabilidade, e segurança
na troca de mensagens, entre outras vantagens.
Nesta tese vários tipos e exemplos de sistemas distribuídos e são descritos e analisados, assim
como uma descrição em detalhe de três protocolos (XMPP, AMQP e DDS) de comunicação,
sendo dois deles (XMPP e AMQP) utilzados em projecto reais que serão descritos ao longo desta
tese.
O principal objetivo da escrita desta tese é demonstrar o estudo e o levantamento do estado
da arte relativamente ao conceito de Middleware aplicado a sistemas distribuídos de larga
escala, provando que a utilização de um Middleware pode facilitar e agilizar o desenho e
desenvolvimento de um sistema distribuído e traz enormes vantagens num futuro próximo.Over the last few years the designing and implementation of applications have evolved to a new
breed of applications that are used by a huge number of users at the same time and are capable
of being executed in up to thousands of machines physically distributed, even geographically,
such as the cloud computing systems, the new concept of “big data” and smart cities.
The existence of several components of these systems, distributed in independent machines,
brings inevitable issues in terms of designing and implementation of those systems in order to
achieve flexible, scalable, robust, reliable and interoperable systems. It is extremely important
to design and implement systems that can be capable of providing a communication and
coordination among all the components of the system.
The concept of implementing a Middleware seems to be a great option to solve most of these
issues, allowing a system to communicate with other systems in a really fast, robust and secure
way.
This thesis pretends to demonstrate that the usage of Middleware technologies to ensure the
communication in distributed systems brings a huge number of advantages, such as
interoperability between systems, robustness regarding the communication layer, scalability
and high speed communications
Towards reliable and scalable robot communication
The Robot Operating System (ROS) is the de facto standard platform
for modern robots. However, communication between ROS nodes
has scalability and reliability issues in practice. In this paper, we
investigate whether Erlang’s lightweight concurrency and reliability
mechanisms have the potential to address these issues. The basis
of the investigation is a pair of simple but typical robotic control
applications, namely two face-trackers: one using ROS publish/subscribe
messaging, and the other a bespoke Erlang communication
framework.
We report experiments that compare five key aspects of the
ROS and Erlang face trackers. We find that Erlang communication
scales better, supporting at least 3.5 times more active processes
(700 processes) than its ROS-based counterpart (200 nodes) while
consuming half of the memory. However, while both face tracking
prototypes exhibit similar detection accuracy and transmission
latencies with 10 or fewer workers, Erlang exhibits a continuous
increase in the total time taken to process a frame as more agents
are added, and we identify the cause. A reliability study shows
that while both ROS and Erlang restart failed computations, the
Erlang processes restart 1000–1500 times faster than ROS nodes,
reducing robot component downtime and mitigating the impact of
the failures
Coordination Of Hierarchical Command And Control Services
The purpose of this program is to show emerging information technologies can significantly improve key areas of tactical operations, resulting in the conversion of software developed under the ATO to existing battlefield systems. One such key area is Information Dissemination and Management (ID&M). The key software that will be developed under the ID&M portion requires a collection of agent-based software services that will collaborate during tactical mission planning and execution
Orquestração de um pipeline de ferramentas para apoio ao ensino
The variety and nature of tools that are nowadays used on both academic and professional contexts have been increasing over the past few years. With the non stopping evolving cycle that technology suffers on a daily basis, this is a consequence that will be even more noticeable in a not so distant future. As a result, several problems have emerged. How to handle all of the crucial tools in a simple and reliable way? How to structure that process so it can scale, in order to apply it whenever the tools are being used by several people? Services specialization, such as microservices, taking advantage of the core tools features, allows the automation of almost all the needed configurations required. This thesis focus on the design and implementation of a solution that enhances the ease and efficiency of creating and configuring working environments either of students or workers, being, however, more focused on the academic environment. To achieve this, a prototype tool has been developed, which consists in several services that when combined together are capable of creating and configuring a software development integration pipeline. The prototype is responsive to a certain configuration input and handles all the tasks needed in between the configuration steps, keeping the resulting pipeline always up to date.A variedade e natureza das ferramentas que são hoje em dia utilizadas tanto em contextos académicos como profissionais têm vindo a aumentar nos últimos anos. Com o constante ciclo evolutivo que a tecnologia sofre diariamente, este aumento é um fator que será ainda mais percetível num futuro próximo. Por conseguinte, vários problemas têm surgido. Como lidar com todas as ferramentas cruciais de uma forma simples e fiável? Como estruturar esse processo para que possa ser escalado, a fim de o aplicar a situações em que as ferramentas estejam a ser utilizadas por várias pessoas? A especialização em serviços, surgindo aqui o conceito de microserviços, aproveitando algumas das funcionalidades oferecidas por parte das ferramentas, permite a automação de quase todas as configurações necessárias. Esta tese tem como foco a conceção e implementação de uma solução que torne mais simples e eficiente o processo de criação e configuração de ambientes de trabalho, quer de estudantes quer de trabalhadores dando, no entanto, mais foco à vertente académica. Para o conseguir, foi desenvolvido um protótipo, que consiste em vários serviços que, quando combinados, são capazes de criar e configurar uma pipeline de integração de software. O protótipo tem como input uma determinada estrutura de dados e trata de todas as tarefas necessárias entre as etapas de configuração, mantendo assim a pipeline sempre atualizada. Esta tese relata todo o processo envolvido na elaboração da solução final em cima descrita, estando inerentes as fases de estudo acerca dos conceitos fulcrais ao problema, análise de valor e de negócio, proposta de design, implementação e avaliação da solução desejada
- …