9 research outputs found

    A framework for autonomic web service selection

    Get PDF
    Web services are a form of distributed computing. As applications accessible over standard internet protocols, web services allow access to disparate computational resources. Recently, with an increased commoditization of web services, there has been a greater interest in the problem of selection. If a web service client can be configured to use one of a number of different web services, which should it select? In this thesis, an approach based on examining the past quality of service (QoS) parameters of similar clients is presented. Standard web service clients are augmented to report their experiences, and can reason over both these and the experiences of others using a number of formal techniques, thereby arriving at an informed decision

    Towards an ontology for system administration case study : backup operation

    Get PDF
    With the multiplicity of operating systems it is becoming common practice for organizations to deploy heterogeneous systems environments in order to benefit from their different advantages. The tradeoff of building heterogeneous environment is that it often leads to parallel support structures, noninteroperable management tools and system administrators with diverse skills to keep such complex infrastructures running. One basic requirement of interoperability or integration is the mapping between different models. This mapping can be carried out through syntactical and semantic translation using ontologies. This project focuses on the interoperability issues in heterogeneous environment, mainly mixed Unix/Linux and Windows infrastructures. The aim of this text is to investigate, with the help of a specific case study, how integration can be achieved in the management of Unix/Linux and Windows mixed environment through the knowledge sharing and interoperability capabilities provided by ontology engineering.Master i nettverks- og systemadministrasjo

    Un cadriciel pour la vérification en ligne, générique, flexible et évolutive de configurations de systèmes communicants complexes

    Get PDF
    Les systèmes communicants complexes constituent une base fondamentale de la vie d'aujourd'hui. Ils supportent de plus en plus de services et d'usages critiques, essentiels tant aux entreprises et administrations qu'à la société en général. L'exemple-type est celui d'Internet avec l'ensemble de ses services et usages variés, architectures et média allant de petits équipements mobiles comme les smartphones aux systèmes critiques à grande échelle comme les clusters de serveurs et le cloud. Il devient dès lors indispensable d'en garantir le fonctionnement effectif et continu. Pour ce faire, une vision consiste en la mise en œuvre de systèmes de gestion autonomes et adaptifs, capables de reconfigurer dynamiquement et en permanence ces systèmes afin de maintenir un état de fonctionnement désiré face à des conditions opérationnelles, instables et de moins en moins prévisibles. Un frein à l'exploitation effective des solutions de reconfiguration dynamique réside dans le manque de méthodes et de moyens garantissant l'effectivité et la sûreté de ces changements dynamiques de configurations. La contribution générale des travaux de cette thèse fournit des concepts, des méthodes et des outils qui favorisent la mise en œuvre d'une vérification en ligne de configurations. Notre démarche pour construire ce cadriciel a consisté dans un premier temps à définir un langage de haut niveau dédié à la spécification et la vérification de configurations. Nous avons architecturé dans un deuxième temps, un service de vérification générique, flexible et évolutive at runtime capable de manipuler les concepts définis dans ce langage. Enfin, nous avons défini une architecture de composants intermédiaires d'intégration de l'existant. Ce cadriciel permet de supporter un processus de vérification opérationnelle de configurations qui commence, en phase de conception par une spécification rigoureuse de modèles de configurations, puis se poursuit en phase d'exécution du système de gestion à travers une vérification automatique de configurations basée sur ces modèles. Le cadriciel a fait l'objet d'un prototype que nous avons expérimenté sur une série de cas issus de deux contextes applicatifs différents : la vérification de configurations d'un middleware orienté messages dans un environnement JMX et la vérification de configurations de machines virtuelles dans un environnement CIM/WBEM (standards du DMTF). Les résultats ont montré la faisabilité de l'approche ainsi que la capacité du cadriciel à soutenir une vérification en ligne, flexible et évolutive de configurations favorisant l'intégration de l'existant.Complex networked systems are a fundamental basis of today's life. They increasingly sup- port critical services and usages, essential both to businesses and the society at large. The evident example is the Internet with all its services and usages in a variety of forms, architectures and media ranging from small mobile devices such as smartphones to large-scale critical systems such as clusters of servers and cloud infrastructures. It is therefore crucial to ensure their effective and continuous operation. A vision to do this consists in the development of autonomous and adaptive management solutions, capable of dynamically and continuously reconfiguring these systems in order to maintain a desired state of operation in the face of unstable and unpredictable operational conditions. A main obstacle to the effective deployment of dynamic reconfiguration solutions is the lack of methods and means to ensure the effectiveness and safety of these dynamic con- figuration changes. The overall contribution of this thesis is to provide concepts, methods and tools to enable an online configuration verification. Our approach to build this framework was first to define a high-level language dedicated to the specification and verification of configurations. Second, we designed a generic flexible and adaptable runtime verification service, able to manipulate the concepts defined in this language. Finally, we defined an architecture of adapters for integrating existing systems and platforms. This allows our framework to support a runtime configuration verification process that starts at design time with a rigorous specification of configuration models and continues at runtime through automatic checking of configurations based on these models. The framework has been implemented in a prototype that has been experienced on a series of experiments from two different application domains: the verification of a messaging middle- ware's configurations in a JMX environment and the verification of virtual machines' configurations in a CIM/WBEM (DMTF standards) environment. The results showed the feasibility of our approach and the framework's ability to support a flexible and adaptable online verification of configurations that can be integrated with existing management solutions

    Discovering Correctness Constraints for Self-Management of System Configuration

    No full text
    2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. Discovering Correctness Constraints for Self-Management of System Configuration Managing the configuration of computer systems today is a difficult task. Too easily, a computer user or administrator can make a simple mistake or lapse and misconfigure a system, causing instabilities, unexpected behavior, and general unreliability. Bugs in software that changes these configurations, such as installers, only worsen the situation. A self-managing configuration system should be continuously monitoring itself for invalid settings, preventing the bugs from harming the system. Unfortunately, while there are many constraints which can differentiate between valid and invalid settings, few of these constraints are explicitly written down, much less written down in a form usable by an automatic monitor. We propose an approach to automatically infer these correctness constraints based on samples of known good configurations. In this paper we present Glean, a system for analyzing the structure of configurations and automatically inferring four types of correctness constraints on that structure. 1

    On Run-Time Configuration Engineering

    Get PDF
    De nos jours, les utilisateurs changent le comportement de leur logiciel et l’adaptent à différentes situations et contexts, sans avoir besoin d’aucune modifications du code source ou recompilation du logiciel. En effet, les utilisateurs utilisent le mécanisme de configuration qui offre un ensemble d’options modifiables par les utilisateurs. D’après plusieurs études, des mauvaises valeurs des options de configuration causent des erreurs difficiles à déboguer. Plusieurs compagnies importantes, comme Facebook, Google et Amazon ont rencontré des pannes et erreurs sérieuses à cause de la configuration et qui sont considérées parmi les plus pires pannes dans ces compagnies. En plus, plusieurs études ont trouvé que le mécanisme de configuration augmente la complexité des logiciels et les rend plus difficile à utiliser. Ces problèmes ont un sérieux impact sur plusieurs facteurs de qualité, comme la sécurité, l’exactitude, la disponibilité, la compréhensibilité, la maintenabilité, et la performance des logiciels. Plusieurs études ont été élaborées dans des aspects spécifiques dans l’ingénierie des configurations, dont la majorité se concentrent sur le débogage des défaillances de configuration et les tests de la configuration des logiciels, tandis que peu de recherches traitent les autres aspects de l’ingénierie des configurations de logiciel, comme la création et la maintenance des options de configuration. Par contre, nous pensons que la configuration des logiciels n’a pas seulement un impact sur l’exactitude d’un logiciel, mais peut avoir un impact sur d’autres métriques de qualité comme la compréhensibilité et la maintenabilité. Dans cette thèse, nous faisons d’abord un pas en arrière pour mieux comprendre les activités principales liées du processus de l’ingénierie des configurations, avant d’évaluer l’impact d’un catalogue de bonnes pratiques sur l’exactitude et la performance du processus de la configuration des logiciels. Pour ces raisons, nous avons conduit un ensemble d’études empiriques qualitatives et quantitatives sur des grands projets libres. On a conduit une étude qualitative en premier lieu, dans laquelle nous avons essayé de comprendre le processus de l’ingénierie de configuration, les enjeux et problèmes que les développeurs rencontrent durant ce processus, et qu’est ce que les développeurs et chercheurs proposent pour aider les développeurs à améliorer la qualité de l’ingénierie de la configuration logiciel. En réalisant 14 entrevues semi structurées, un sondage et une revue systématique de littérature, nous avons défini un processus de l’ingénierie de configuration invoquant 9 activités, un ensemble de 22 challenges rencontrés en pratique et 24 recommandations des experts.----------ABSTRACT: Modern software applications allow users to change the behavior of a software application and adapt it to different situations and contexts, without requiring any source code modifications or recompilations. To this end, applications leverage a wide range of mechanisms of software configuration that provide a set of options that can be changed by users. According to several studies, incorrect values of software configuration options cause severe errors that are hard-to-debug. Major companies such as Facebook, Google, and Amazon faced serious outages and failures due to configuration, which are considered as some of the worst outages in these companies. In addition, several studies found that the mechanism of software configuration increases the complexity of a software system and makes it hard to use. Such problems have a serious impact on different quality factors, such as security, correctness, availability, comprehensibility, maintainability, and performance of software systems. Several studies have been conducted on specific aspects of configuration engineering, with most of them focusing on debugging configuration failures and testing software configurations, while only few research efforts focused on other aspects of configuration engineering, such as the creation and maintenance of configuration options. However, we think that software configuration can not only have a negative impact on the correctness of a software system, but also on other quality metrics, such as its comprehensibility and maintainability. In this thesis, we first take a step back to better understand the main activities involved in the process of run-time configuration engineering, before evaluating the impact of a catalog of best practices on the correctness and performance of the configuration engineering process. For these purposes, we conducted several qualitative and quantitative empirical studies on large repositories and open source projects. We first conducted a qualitative study, in which we tried to understand the configuration engineering process, the challenges and problems developers face during this process, and what practitioners and researchers recommend to help developers to improve their software configuration engineering quality. By conducting 14 semi-structured interviews, a large survey, and a systematic literature review, we identified a process of configuration engineering involving 9 activities, a set of 22 challenges faced in practice, and a set of 24 recommendations by experts
    corecore