150 research outputs found

    Resilient and Efficient Delivery over Message Oriented Middleware.

    Get PDF
    PhDThe publish/subscribe paradigm is used to support a many-to-many model that allows an efficient dissemination of messages across a distributed system. Message Oriented Middleware (MOM) is a middleware that provides an asynchronous method of passing information between networked applications. MOMs can be based on a publish/subscribe model, which offers a robust paradigm for message delivery. This research is concerned with this specific type of MOM. Recently, systems using MOMs have been used to integrate enterprise systems over geographically distributed areas, like the ones used in financial services, telecommunication applications, transportation and health-care systems. However, the reliability of a MOM system must be verified and consideration given to reachability to all intended destinations typically with to guarantees of delivery. The research in this thesis provides an automated means of checking the (re)configuration of a publish/subscribe MOM system by building a model and using Linear-time Temporal Logic and Computation Tree Logic rules to verify certain constraints. The verification includes the checking of the reachability of different topics, the rules for regulating the working of the system, and checking the configuration and reconfiguration after a failure. The novelty of this work is the creation and the optimization of a symbolic model checker that abstracts the end-to-end network configuration and reconfiguration behaviour and using it to verify reachability and loop detection. In addition a GUI interface, a code generator and a sub-paths detector are implemented to make the system checking more user-friendly and efficient. The research then explores another aspect of reliability. The requirements of mission critical service delivery over a MOM infrastructure is considered and we propose a new way of supporting rapid recovery from failures using pre-calculated routing Abstract tables and coloured flows that can operate across multiple Autonomous System domains. The approach is critically appraised in relation to other published schemes

    Discovery and Push Notification Mechanisms for Mobile Cloud Services

    Get PDF
    Viimase viie aasta jooksul on mobiilsed seadmed nagu sĂŒlearvutid, pihuarvutid, nutitelefonid jmt. tunginud peaaegu kĂ”igisse inimeste igapĂ€evaelu tegevustesse. Samuti on pĂ”hjalik teadus- ja arendustegevus mobiilsete tehnoloogiate vallas viinud mĂ€rkimisvÀÀrsete tĂ€iustusteni riistvara, tarkvara ja andmeedastuse alal. TĂ€napĂ€eval on mobiilsed seadmed varustatud sisseehitatud sensorite, kaamera, puutetundliku ekraani, suurema hulga mĂ€luga, kuid ka tĂ”husamate energiatarbemehhanismidega. Lisaks on iOS ja Android operatsioonisĂŒsteemide vĂ€ljalaske tĂ”ttu suurenenud nii mobiilirakenduste arv kui keerukus, pakkudes arvukamalt kĂ”rgetasemelisi rakendusi. Sarnaselt on toimunud olulised arengud ja standardiseerimisele suunatud jĂ”upingutused veebiteenusete valdkonnas ja elementaarsetele veebiteenuste ligipÀÀsu kasutatakse laialdaselt nutitelefonidest. See on viinud loogilise jĂ€rgmise sammuna veebiteenuste pakkumiseni nutitelefonidest. Telefonidest veebiteenuste pakkumise kontseptsioon ei ole uus ning seda on pĂ”hjalikult uurinud Srirama, kes pakkus vĂ€lja Mobile Host (Mobiilne Veebiteenuse Pakkuja) kontseptsiooni. Algne realisatsioon kasutas aga aegunud tehnoloogiaid nagu JMEE, PersonalJava, SOAP arhitektuur jne. See töö uuendab Mobile Host'i kasutades uusimaid tehnoloogiad, nagu Android OS ja REST arhitektuur, ning pakub vĂ€lja teenusemootori, mis pĂ”hineb Apache Felix'il - OSGi platvormi realisatsioonil piiratud ressurssidega seadmetele. HĂ€mmastava kiirusega toimunud arengud mobiilsete arvutuste vallas vĂ”imaldavad uue pĂ”lvkonna veebirakenduste loomist valdkondades nagu keskkonnateadlikkus, sotsiaalvĂ”rgustikud, koostöövahendid, asukohapĂ”hised teenused jne. Sellised rakendused saavad Ă€ra kasutada Mobile Host'i vĂ”imalusi. Selle tulemusena on klientidel ligipÀÀs vĂ€ga suurele hulgale teenustele, mistĂ”ttu tekib vajadus efektiivse teenuste avastamise mehhanismi jĂ€rele. See töö pakub vĂ€lja kataloogipĂ”hise avastusmehhanismi vĂ”rgu ĂŒlekatte toega suurtele, kĂ”rge liikuvusega vĂ”rgustikele. See mehhanism toetub OWL-S'le, mis on ontoloogia veebiteenuseid pakkuvate ressursside avastamiseks, vĂ€ljakutseks, koostamiseks ja jĂ€lgimiseks. Töö kirjeldab ka Srirama vĂ€lja pakutud algupĂ€rast teenuste avastamise mehhanismi, mis toetub peer-to-peer vĂ”rkudele ja Apache Lucene vĂ”tmesĂ”na otsingumootorile. Uurimuse kĂ€igus uuendatakse teenuseotsing kasutama Apache Solr'i, Apache Lucene'i viimast versiooni. Teenuste avastust testiti pĂ”hjalikult ja tulemused on töös kokkuvĂ”tvalt vĂ€lja toodud. Mobiilsete tehnoloogiate vallas uuritakse ka vĂ”imalust kasutada pilvetehnolologiat laiendamaks mobiilseadmete salvestusmahtu ja töökoormust edastades pilve andme- ja arvutusmahukad ĂŒlesanded. See soodustab keerulisemate ja vĂ”imalusrohkemate mobiilirakenduste arendust. Pilve delegeeritavate toimingute aeganĂ”udva iseloomu tĂ”ttu aga on vajalik asĂŒnkroonne mehhanism teavitamaks kasutajat, millal töömahukad tegevused on lĂ”petatud. Mobiilsete pilveteenuste pakkujad ja vahevara lahendused vĂ”ivad kasu saada Mobile Host'ist ja selle asĂŒnkroonsete teavituste vĂ”imekusest. Uurimus esitleb nelja teavitusmehhanismi: AC2DM, APNS, IBM MQTT ja Mobile Host'i pĂ”hine teavitus. Töö vĂ”tab kokku kvantitatiivse analĂŒĂŒsi tulemused ja toob vĂ€lja nelja teavitamise lĂ€henemise tugevused ja nĂ”rkused. Lisaks kirjeldatakse CroudSTag rakenduse realisatsiooni - CroudSTag on mobiilirakendus, mille eesmĂ€rgiks on sotsiaalsete gruppide moodustamine kasutades nĂ€otuvastustehnoloogiat. CroudSTag-i realisatsioon kasutab mobiilseid pilveteenuseid ja Mobile Host'i, et pakkuda oma funktsionaalsust kasutajale.In the last lustrum the mobile devices such as laptops, PDAs, smart phones, tablets, etc. have pervaded almost all the environments where people perform their day-to-day activities. Further, the extensive Research and Development in mobile technologies has led to significant improvements in hardware, software and transmission. Similarly, there are significant developments and standardization efforts in web services domain and basic web services have been widely accessed from smart phones. This has lead to the logical next step of providing web services from the smart phones. The concept of the web service provisioning from smart phones is not new and has been extensively explored by Srirama who proposed the concept of Mobile Host. However, the original implementation considered aged technologies such as JMEE, PersonalJava, SOAP architecture among others. This work updates the Mobile Host to the latest technologies like Android OS and REST architecture and proposes a service engine based on Apache Felix, and OSGI implementation for resource constraint devices. Moreover, the astonishing speed in developments in mobile computing enable the new generation of applications from domains such as context-awareness, social network, collaborative tools, location based services, etc., which benefit from the Mobile Host service provisioning capabilities. As a result the clients have access to a huge number of services available; therefore, an efficient and effective service discovery mechanism is required. The thesis proposes a directory-based with network overlay support discovery mechanism for large networks with high mobility. The proposed discovery mechanism relies in OWL-S, an ontology for service discovery, invocation, composition, and monitoring of web resources. The work also considers the original service discovery mechanism proposed by Srirama relying in peer-to-peer networks and Apache Lucene, a keyword search engine. The study updates the service search to Apache Solr, the latest development for Apache Lucene. The service discovery was extensively tested and the results are summarized in this work. Mobile technologies are looking into the clouds for extending their capabilities in storage and processing by offloading data and process intensive tasks. This fosters the development of more complex and rich mobile applications. However, due to the time-consuming nature of the tasks delegated to the clouds, an asynchronous mechanism is necessary for notifying the user when the intensive tasks are completed. Mobile cloud service providers and Middleware solutions might benefit from Mobile Host and its asynchronous notification capabilities. The study presents four push notification mechanisms being AC2DM, APNS, IBM MQTT and Mobile Host based push notification. The work summarizes the results of a quantitative analysis and highlights the strengths and weakness of the four notifications approaches. In addition, it explains CroudSTag realization, a mobile application that aims the social group formation by means of facial recognition that relies in mobile cloud services and Mobile Host to provide its functionality to the user

    Service substitution : a behavioral approach based on Petri Nets

    Get PDF
    Service-Oriented Computing is an emerging computing paradigm that supports the modular design of (software) systems. Complex systems are designed by composing less complex systems, called services. Such a (complex) system is a distributed application often involving several cooperating enterprises. As a system usually changes over time, individual services will be substituted by other services. Substituting one service by another one should not affect the correctness of the overall system. Assuring correctness becomes particularly challenging, as the services rely on each other, and each of the involved enterprises only oversees a part of the overall system. In addition, services communicate asynchronously which makes the analysis even more difficult. For this reason, formal methods to support service substitution are indispensable. In this thesis, we study service substitution at the level of service models. Thereby we restrict ourselves to service behavior. As a formalism to model service behavior, we use Petri nets. The first contribution of this thesis is the definition of several substitutability criteria that are suitable in the context of Service-Oriented Computing. Substituting a service S by a service S0 should preserve some behavioral properties of the overall system. For each set of behavioral properties and a given service S, there exists a set of behaviorally compatible services for S. A substitutability criterion defines which of these behaviorally compatible services of S have to be preserved by S0. We relate our substitutability criteria to preorders and equivalences known from process theory. The second contribution of this thesis is to present, for each substitutability criterion, a procedure to decide whether a service S0 can substitute a service S. The decision requires the comparison of the in general infinite sets of behaviorally compatible services for the services S and S0. Hence, we extend existing work on an abstract representation of all behaviorally compatible services for a given service. For each notion of behavioral compatibility, we present an algorithmic solution to represent all behaviorally compatible services. Based on these representations, we can decide substitutability of a service S by a service S0. The third contribution of this thesis is a method to support the design of a service S0 that can substitute a service S according to a substitutability criterion. Our approach is to derive a service S0 from the service S by stepwise transformation. To this end, we present several transformation rules. Finally, we formalize and we extend the equivalence notion for services specified in the language WS-BPEL. That way, we demonstrate the applicability of our work

    ASiMOV: Microservices-based verifiable control logic with estimable detection delay against cyber-attacks to cyber-physical systems

    Get PDF
    The automatic control in Cyber-Physical-Systems brings advantages but also increased risks due to cyber-attacks. This Ph.D. thesis proposes a novel reference architecture for distributed control applications increasing the security against cyber-attacks to the control logic. The core idea is to replicate each instance of a control application and to detect attacks by verifying their outputs. The verification logic disposes of an exact model of the control logic, although the two logics are decoupled on two different devices. The verification is asynchronous to the feedback control loop, to avoid the introduction of a delay between the controller(s) and system(s). The time required to detect a successful attack is analytically estimable, which enables control-theoretical techniques to prevent damage by appropriate planning decisions. The proposed architecture for a controller and an Intrusion Detection System is composed of event-driven autonomous components (microservices), which can be deployed as separate Virtual Machines (e.g., containers) on cloud platforms. Under the proposed architecture, orchestration techniques enable a dynamic re-deployment acting as a mitigation or prevention mechanism defined at the level of the computer architecture. The proposal, which we call ASiMOV (Asynchronous Modular Verification), is based on a model that separates the state of a controller from the state of its execution environment. We provide details of the model and a microservices implementation. Through the analysis of the delay introduced in both the control loop and the detection of attacks, we provide guidelines to determine which control systems are suitable for adopting ASiMOV. Simulations show the behavior of ASiMOV both in the absence and in the presence of cyber-attacks

    Towards Automated Network Configuration Management

    Get PDF
    Modern networks are designed to satisfy a wide variety of competing goals related to network operation requirements such as reachability, security, performance, reliability and availability. These high level goals are realized through a complex chain of low level configuration commands performed on network devices. As networks become larger, more complex and more heterogeneous, human errors become the most significant threat to network operation and the main cause of network outage. In addition, the gap between high-level requirements and low-level configuration data is continuously increasing and difficult to close. Although many solutions have been introduced to reduce the complexity of configuration management, network changes, in most cases, are still manually performed via low--level command line interfaces (CLIs). The Internet Engineering Task Force (IETF) has introduced NETwork CONFiguration (NETCONF) protocol along with its associated data--modeling language, YANG, that significantly reduce network configuration complexity. However, NETCONF is limited to the interaction between managers and agents, and it has weak support for compliance to high-level management functionalities. We design and develop a network configuration management system called AutoConf that addresses the aforementioned problems. AutoConf is a distributed system that manages, validates, and automates the configuration of IP networks. We propose a new framework to augment NETCONF/YANG framework. This framework includes a Configuration Semantic Model (CSM), which provides a formal representation of domain knowledge needed to deploy a successful management system. Along with CSM, we develop a domain--specific language called Structured Configuration language to specify configuration tasks as well as high--level requirements. CSM/SCL together with NETCONF/YANG makes a powerful management system that supports network--wide configuration. AutoConf supports two levels of verifications: consistency verification and behavioral verification. We apply a set of logical formalizations to verifying the consistency and dependency of configuration parameters. In behavioral verification, we present a set of formal models and algorithms based on Binary Decision Diagram (BDD) to capture the behaviors of forwarding control lists that are deployed in firewalls, routers, and NAT devices. We also adopt an enhanced version of Dyna-Q algorithm to support dynamic adaptation of network configuration in response to changes occurred during network operation. This adaptation approach maintains a coherent relationship between high level requirements and low level device configuration. We evaluate AutoConf by running several configuration scenarios such as interface configuration, RIP configuration, OSPF configuration and MPLS configuration. We also evaluate AutoConf by running several simulation models to demonstrate the effectiveness and the scalability of handling large-scale networks

    Composition de composants dynamiques basée sur des descriptions de leur comportement

    Get PDF
    Abstract: This thesis proposes solutions to four new problems stemming from a general framework of horizontal behavior composition, in which transition systems are used to model behaviors. The framework allows the realization of a new behavior from a set of available behaviors, through the synthesis of a controller, which delegates each action of the new behavior to an available behavior for execution. In this thesis, the behaviors are associated with software components—such as web services—, hardware components—such as connected objects—, or even agents. Besides, a composition consists of a controller and the behaviors interacting with the controller for realizing a target behavior, for example the one of a new agent. The ïŹrst problem considers that the behaviors are subject to real-time constraints. The controller synthesis is done using the same algorithms as those of the general framework. Two additional steps are, however, required: one for modeling the interactions between the controller and behaviors in a closed-loop control system and another one for checking whether the closed-loop control system is deadlock free in all of its execution according to the set of real-time constraints. The second problem concerns the assembly of compositions. In contrast to the general framework that uses transition systems as modeling formalism in a purely monolithic control context, the proposed approach, on one hand, uses a process calculus as a formalism to represent all the elements of the closed-loop control system, and, on the other hand, performs a modular control to combine controllers using process calculus operators in order to obtain a global control. The third problem is an extension of the controller synthesis problem when the operations of the behaviors have qualitative or quantitative attributes and the operations of the target behavior are expressed in the form of preferences. The horizontal preference-based behavior composition makes it possible to realize a new behavior that could not be realized without considering preferences. Finally, the last problem is the formation of a most robust team of agents at a lower cost. It is formulated as a multi-objective linear integer programming problem. First, it focuses on ïŹnding a set of compositions such that each of them carries out the same target behavior while satisfying its preferences at best. Second, all the agents involved in the compositions form a team that remains eïŹ€ective even if one or more agents fail. This thesis provides an original solution for each of these problems while illustrating it with some examples. The use of SMV/TLV, Uppaal and PuLP tools makes it possible to check, synthesize or calculate the elements of the proposed examples.RĂ©sumĂ© : Cette thĂšse propose des solutions Ă  quatre nouveaux problĂšmes issus d’un cadre gĂ©nĂ©ral de composition horizontale de comportements modĂ©lisĂ©s Ă  l’aide de systĂšmes Ă  transition. Ce dernier permet la rĂ©alisation d’un nouveau comportement Ă  partir d’un ensemble de comportements prĂ©dĂ©finis, Ă  travers la synthĂšse d’un contrĂŽleur qui dĂ©lĂšgue chacune de ses actions Ă  un comportement prĂ©dĂ©fini pour son exĂ©cution. Dans cette thĂšse, les comportements sont associĂ©s Ă  des composants logiciels, comme des services Web, Ă  des composants matĂ©riels, comme des objets connectĂ©s, ou Ă  des agents. De plus, une composition est constituĂ©e d’un contrĂŽleur et des comportements avec lesquels il interagit pour rĂ©aliser un comportement dĂ©sirĂ©, par exemple celui d’un nouvel agent. Le premier problĂšme considĂšre que les comportements sont soumis Ă  des contraintes temps rĂ©el. La synthĂšse de contrĂŽleur s’effectue en utilisant les mĂȘmes algorithmes que ceux du cadre gĂ©nĂ©ral. Toutefois, deux Ă©tapes additionnelles sont nĂ©cessaires : l’une pour modĂ©liser les interactions entre les comportements et le contrĂŽleur dans une boucle de rĂ©troaction ; l’autre pour vĂ©rifier si la boucle de rĂ©troaction est sans interblocage dans toutes ses exĂ©cutions considĂ©rant l’ensemble des contraintes temps rĂ©el. Le deuxiĂšme problĂšme concerne l’assemblage de compositions. Contrairement au cadre gĂ©nĂ©ral qui utilise des systĂšmes Ă  transition comme formalisme de modĂ©lisation dans un contexte de contrĂŽle purement monolithique, l’approche retenue suggĂšre, d’une part, d’utiliser un calcul de processus comme formalisme pour reprĂ©senter tous les Ă©lĂ©ments de la boucle de rĂ©troaction et, d’autre part, d’effectuer un contrĂŽle modulaire c’est-Ă -dire de combiner des contrĂŽleurs Ă  l’aide d’opĂ©rateurs du calcul de processus pour obtenir un contrĂŽle global. Le troisiĂšme problĂšme est une extension du problĂšme de la synthĂšse de contrĂŽleur lorsque les actions des comportements possĂšdent des attributs qualitatifs ou quantitatifs et que les actions du comportement dĂ©sirĂ© sont exprimĂ©es sous la forme de prĂ©fĂ©rences. La composition horizontale de comportements basĂ©e sur des prĂ©fĂ©rences permet de rĂ©aliser un nouveau comportement qui ne pourrait l’ĂȘtre autrement. Enfin, le dernier problĂšme est celui de la formation d’une Ă©quipe d’agents la plus robuste possible et Ă  moindre coĂ»t. Il est formulĂ© comme une problĂšme de programmation linĂ©aire multi-objective en nombre entier. PremiĂšrement, il s’agit de trouver un ensemble de compositions, chacune rĂ©alisant le mĂȘme comportement dĂ©sirĂ© tout en satisfaisant au mieux ses prĂ©fĂ©rences. DeuxiĂšmement, l’ensemble des agents impliquĂ©s dans les compositions forment une Ă©quipe qui survit aux pannes d’un ou plusieurs agents. Cette thĂšse apporte une solution originale Ă  chacun de ces problĂšmes tout en l’illustrant Ă  l’aide d’exemples. L’utilisation des outils SMV/TLV, Uppaal et PuLP permet de vĂ©rifier, de synthĂ©tiser ou de calculer des Ă©lĂ©ments des exemples proposĂ©s

    InSight2: An Interactive Web Based Platform for Modeling and Analysis of Large Scale Argus Network Flow Data

    Get PDF
    Monitoring systems are paramount to the proactive detection and mitigation of problems in computer networks related to performance and security. Degraded performance and compromised end-nodes can cost computer networks downtime, data loss and reputation. InSight2 is a platform that models, analyzes and visualizes large scale Argus network flow data using up-to-date geographical data, organizational information, and emerging threats. It is engineered to meet the needs of network administrators with flexibility and modularity in mind. Scalability is ensured by devising multi-core processing by implementing robust software architecture. Extendibility is achieved by enabling the end user to enrich flow records using additional user provided databases. Deployment is streamlined by providing an automated installation script. State-of-the-art visualizations are devised and presented in a secure, user friendly web interface giving greater insight about the network to the end user

    Personalization platform for multimodal ubiquitous computing applications

    Get PDF
    Dissertação para obtenção do Grau de Mestre em Engenharia InformáticaWe currently live surrounded by a myriad of computing devices running multiple applications. In general, the user experience on each of those scenarios is not adapted to each user’s specific needs, without personalization and integration across scenarios. Moreover, developers usually do not have the right tools to handle that in a standard and generic way. As such, a personalization platform may provide those tools. This kind of platform should be readily available to be used by any developer. Therefore, it must be developed to be available over the Internet. With the advances in IT infrastructure, it is now possible to develop reliable and scalable services running on abstract and virtualized platforms. Those are some of the advantages of cloud computing, which offers a model of utility computing where customers are able to dynamically allocate the resources they need and are charged accordingly. This work focuses on the creation of a cloud-based personalization platform built on a previously developed generic user modeling framework. It provides user profiling and context-awareness tools to third-party developers. A public display-based application was also developed. It provides useful information to students, teachers and others in a university campus as they are detected by Bluetooth scanning. It uses the personalization platform as the basis to select the most relevant information in each situation, while a mobile application was developed to be used as an input mechanism. A user study was conducted to assess the usefulness of the application and to validate some design choices. The results were mostly positive

    A Hybrid Approach to Logic Evaluation

    Get PDF
    In this thesis, we contribute the hybrid approach – a means of combining the practical advantages of feature-rich logic evaluation in the cloud, with the performance benefits of hand-written, optimized, efficient native code. In the first part of our hybrid approach, we introduce a cloud-based distribution for logic programs, which may be deployed as a service, in standard cloud environments, across cheap commodity hardware. Modern systems are in the cloud; while distributed logic solvers exist, these systems are highly specialized, requiring expensive, resource intensive hardware infrastructures. Our original technique achieves a fully automatic synthesis of cloud infrastructure for logic programs, and includes a range of practical features not present in existing distributed logic solvers. We show that an implementation of the distribution scales effectively within real-world cloud environments, against a distribution over cores of the same machine. We show that our multi-node distribution may be effectively combined with existing multi-threaded techniques to mitigate the network communication cost incurred by distribution. In the second part of our hybrid approach, we introduce extra-logical algorithms, to achieve performance for logic programs that would not be possible within a bottom-up logic evaluation. Modern systems must deliver high performance on big data; however, even the most powerful logic engines, distributed or otherwise, can be beaten by hand-written code on particular problems. We give a novel implementation of a system for the high-impact problem of sink-reachability, designed such that its algorithms may be used in logic programs. A thorough empirical evaluation, across a range of large-scale, real-world datasets, shows our system outperforms the current state of the art for the sink-reachability problem in all cases. Our hybrid approach addresses the two major deficiencies of modern logic systems, providing a practical means of evaluating logic in distributed cloud-based environments, while offering performance gains for specific high-impact problems that would not be possible using logic programming alone
    • 

    corecore