• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 128
  • 35
  • 13
  • Tagged with
  • 176
  • 118
  • 47
  • 46
  • 42
  • 34
  • 30
  • 24
  • 23
  • 23
  • 21
  • 20
  • 20
  • 19
  • 17
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
71

[en] A TOOL FOR REBUILDING THE SEQUENCE OF INTERACTIONS BETWEEN COMPONENTS OF A DISTRIBUTED SYSTEM / [pt] UMA FERRAMENTA PARA RECONSTRUÇÃO DA SEQUÊNCIA DE INTERAÇÕES ENTRE COMPONENTES DE UM SISTEMA DISTRIBUÍDO

PAULO ROBERTO FRANCA DE SOUZA 11 October 2011 (has links)
[pt] Sistemas distribuídos frequentemente apresentam um comportamento em tempo de execução diferente do esperado pelo programador. A análise estática, somente, não suficiente para a compreensão do comportamento e para o diagnóstico de problemas nesses sistemas, em razão da sua natureza nao determinística, reflexo de características inerentes como concorrência, latência na comunicação e falha parcial. Sendo assim, torna-se necessário um melhor entendimento das interações entre os diferentes componentes de software que formam o sistema, para que o desenvolvedor possa ter uma melhor visão do comportamento do sistema durante sua execução. Neste trabalho, apresentamos uma ferramenta que faz a reconstrução das interações entre os componentes de uma aplicação distribuída, oferecendo uma visão das linhas de execução distribuídas e permitindo o acompanhamento das sequências de chamadas remotas e a análise das relações de causalidade. Essa ferramenta também faz a persistência do histórico dessas interações ao longo do tempo, correlacionando-as a arquitetura do sistema e aos dados de desempenho. Assim, a ferramenta proposta auxilia o desenvolvedor a melhor compreender cenários que envolvem comportamentos indevido do sistema e a restringir o escopo da análise do erro, facilitando a busca de uma solução. / [en] Distributed systems often present a runtime behavior different than what is expected by the programmer. Static analysis is not enough to understand the runtime behavior and to diagnoses errors. This difficulty is caused by the non-deterministic nature of distributed systems, because of their inherent characteristics, such as concurrency, communication latency and partial failure. Therefore, it’s necessary a better view of the interactions between the system’s software components in order to understand its runtime behavior. In this work we present a tool that rebuilds the interactions among distributed components, presents a view of distributed threads and remote call sequences, and allows the analysis of causality relationships. Our tool also stores the interactions over time and correlates them to the system architecture and to performance data. The proposed tool helps the developer to better understand scenarios involving an unexpected behavior of the system and to restrict the scope of error analysis, making easier the search for a solution.
72

Injeção distribuída de falhas para validação de dependabilidade de sistemas distribuídos de larga escala

Jacques-Silva, Gabriela January 2005 (has links)
Uma etapa fundamental no desenvolvimento de sistemas tolerantes a falhas é a fase de validação, onde é verificado se o sistema está reagindo de maneira correta à ocorrência de falhas. Uma das técnicas usadas para validar experimentalmente um sistema é injeção de falhas. O recente uso de sistemas largamente distribuídos para execução dos mais diversos tipos de aplicações, faz com que novas técnicas para validação de mecanismos de tolerância a falhas sejam desenvolvidas considerando este novo cenário. Injeção de falhas no sistema de comunicação do nodo é uma técnica tradicional para a validação de aplicações distribuídas, para forçar a ativação dos mecanismos de detecção e recuperação de erros relacionados à troca de mensagens. A condução de experimentos com injetores de comunicação tradicionais é feita pelo uso do injetor em uma máquina do sistema distribuído. Se o cenário desejado é de múltiplas falhas, o injetor deve ser instanciado independentemente nas n máquinas que as falhas serão injetadas. O controle de cada injetor é individual, o que dificulta a realização do experimento. Esta dificuldade aumenta significativamente se o cenário for um sistema distribuído de larga escala. Outro problema a considerar é a ausência de ferramentas apropriadas para a emulação de determinados cenários de falhas. Em aplicações distribuídas de larga escala, um tipo comum de falha é o particionamento de rede. Não há ferramentas que permitam diretamente a validação ou a verificação do processo de defeito de aplicações distribuídas quando ocorre um particionamento de rede Este trabalho apresenta o estudo de uma abordagem para injeção de falhas que permita o teste de atributos de dependabilidade de aplicações distribuídas de pequena e larga escala implementadas em Java. A abordagem considera a não obrigatoriedade da alteração do código da aplicação sob teste; a emulação de um cenário de falhas múltiplas que ocorrem em diferentes nodos, permitindo o controle centralizado do experimento; a validação de aplicações que executem em sistemas distribuídos de larga escala e consideram um modelo de falhas realista deste tipo de ambiente, incluindo particionamentos de rede. A viabilidade da abordagem proposta é mostrada através do desenvolvimento do protótipo chamado FIONA (Fault Injector Oriented to Network Applications), o qual atualmente injeta falhas em aplicações desenvolvidas sob o protocolo UDP.
73

DIMI : um disseminador multicast de informações para a arquitetura ISAM / DIMI: A mlticast information disseminator for the ISAM architecture

Moraes, Maurício Coutinho January 2005 (has links)
O projeto ISAM apresenta uma plataforma para o desenvolvimento e a execução de aplicações pervasivas. O ambiente de execução proposto na arquitetura ISAM, denominado ISAMpe (ISAM pervasive environment), foi concebido para ser implantado em escala global, com elevado número de componentes. Esses componentes podem ser móveis ou fixos e podem apresentar limitações em seus recursos computacionais. Muitas das aplicações pervasivas que podem ser executadas no ISAMpe têm necessidade de um serviço de disseminação capaz de distribuir informações de um produtor para um grande número de consumidores. Esta dissertação apresenta um serviço de disseminação de informações para a arquitetura ISAM, denominado DIMI (Disseminador Multicast de Informações). O DIMI apresenta uma arquitetura de multicast no nível de aplicação. O DIMI propõe um algoritmo de formação da topologia de disseminação que tem o objetivo de alcançar maior escalabilidade pelo alívio de sobrecarga em participantes específicos do canal, durante os momentos em que houver um grande número de novos consumidores querendo iniciar o consumo simultaneamente. No seu ambiente-alvo, o ISAMpe, o DIMI também oferece suporte à desconexão planejada, permitindo que dispositivos computacionais com limitações de conectividade participem da disseminação, e ainda oferece suporte à mobilidade de usuários. A topologia de comunicação do DIMI adapta-se às condições da rede física subjacente a ela, de acordo com critérios específicos da aplicação que utilizar o serviço. Os resultados obtidos com a simulação de alguns aspectos do funcionamento do DIMI e com a execução do protótipo do mesmo validam os argumentos usados para justificar a necessidade e a forma de construção do serviço. / The ISAM project presents a platform to the development and to the execution of pervasive applications. The execution environment proposed by the ISAM architecture, named ISAMpe (ISAM pervasive environment) was conceived to be deployed on global scale, having a large number of components. These components may be mobile or static and may present computational resource limitations. Many of the pervasive applications that may be executed on the ISAMpe need a dissemination service capable of distribute information from one producer to many consumers. This dissertation presents a information dissemination service for the ISAM architecture, named DIMI (Multicast Information Disseminator - Disseminador Multicast de Informações). DIMI presents an application-level multicast architecture. DIMI proposes an algorithm to create the dissemination topology which objective is to achieve scalability through the relief of overload on specific participants of the channel, during the moments where many new consumers want to start consumption simultaneously. Inside its target-environment, DIMI also offer support to user mobility and to planned disconnection, allowing resource limited computational devices to be participants of the dissemination. DIMI's dissemination topology adapt itself to the conditions of fabric network, accordingly to applications' criteria. The results obtained with the simulation of some DIMI's characteristics and with prototipation validate the arguments used to justify the necessity and the way of construction of the service.
74

ROBIN HOOD : um ambiente para a avaliação de políticas de balanceamento de carga / Robin Hood: an environment to load balancing policies evaluation

Nogueira, Mauro Lucio Baioneta January 1998 (has links)
É ponto passivo a importância dos sistemas distribuídos no desenvolvimento da computação de alto desempenho nas próximas décadas. No entanto, ainda muito se debate sobre políticas de gerenciamento adequadas para os recursos computacionais espacialmente dispersos disponíveis em tais sistemas. Políticas de balanceamento de carga procuram resolver o problema da ociosidade das maquinas(ou, por outro lado, da super-utilização) em um sistema distribuído. Não são raras situações nas quais somente algumas maquinas da rede estão sendo efetivamente utilizadas, enquanto que varias outras se encontram subutilizadas, ou mesmo completamente ociosas. Aberta a possibilidade de executarmos remotamente uma tarefa, com o intuito de reduzirmos o tempo de resposta da mesma, ainda falta decidirmos "como" fazê-lo. Das decisões envolvidas quanto a execução remota de tarefas tratam as políticas de balanceamento de carga. Tais políticas, muito embora a aparente simplicidade quanto as decisões de controle tomadas ou ao reduzido numero de parâmetros envolvidos, não possuem um comportamento fácil de se prever. Sob determinadas condições, tais políticas podem ser tomar excessivamente instáveis, tomando sucessivas decisões equivocadas e, como consequência, degradando de forma considerável o desempenho do sistema. Em tais casos, muitas das vezes, melhor seria não tê-las. Este trabalho apresenta um ambiente desenvolvido com o objetivo de auxiliar projetistas de sistema ou analistas de desempenho a construir, simular e compreender mais claramente o impacto causado pelas decisões de balanceamento no desempenho do sistema. / There is no doubts about the importance of distributed systems in the development of high performance computing in the next decades. However, there are so much debates about appropriated management policies to spatially scattered computing resources available in this systems. Load balancing policies intend to resolve the problem of underloaded machines (or, in other hand, overloaded machines) in a distributed system. Moments in which few machines are really being used, meanwhile several others are underused, or even idle, aren't rare. Allowed the remote execution of tasks in order to decrease the response time of theirs, it remains to decide 'how' to do it. Load balancing policies deal with making decisions about remote execution. Such policies, in spite of the supposed simplicity about their control decisions and related parameters, doesn't have a predictable behavior. In some cases, such policies can become excessively unstable, making successive wrong decisions and, as consequence, degrading the system performance. In such cases, it's better no policy at all. This work presents an environment developed whose purpose is to help system designers or performance analysts to build, to simulate and to understand the impact made by balancing decisions over the system performance.
75

Implementação de um mecanismo de recuperação por retorno para a ferramenta ourgrid / Implementation of a rollback recovery mechanism for ourGrid toolkit

Silva, Hélio Antônio Miranda da January 2007 (has links)
A computação em grid (ou computação em grade) emergiu como uma área de pesquisa importante por permitir o compartilhamento de recursos computacionais geograficamente distribuídos entre vários usuários. Contudo, a heterogeneidade e a dinâmica do comportamento dos recursos em ambientes de grid tornam complexos o desenvolvimento e a execução de aplicações. OurGrid é uma plataforma de software que procura contornar estas dificuldades: além de permitir a execução de aplicações distribuídas em ambientes de computação em grid, oferece e gerencia um esquema de troca de favores entre usuários. Neste esquema, instituições (ou usuários) que possuam recursos ociosos podem oferecê-los a outros que deles necessitem. Quanto mais um domínio oferecer recursos ao grid, mais será favorecido quando precisar, ou seja, terá prioridade mais alta quando requisitar máquinas ao grid. O software MyGrid é o principal componente do OurGrid. É através dele que o usuário interage com o grid, submetendo e gerenciando suas aplicações. No modelo de execução do MyGrid, as tarefas são lançadas por um nó central que coordena todo o escalonamento de tarefas que serão executadas no grid. Este nó apresenta uma fragilidade caracterizada na literatura como "ponto único de falhas", pois seu colapso faz com que os resultados do processamento corrente sejam perdidos. Isto pode significar horas ou, até mesmo, dias de processamento perdido, dependendo das aplicações. Visando suprir esta deficiência, este trabalho descreve o funcionamento e a implementação de um mecanismo de checkpointing (ou salvamento de estado), usado como base para a recuperação por retorno, que permite ao sistema voltar a um estado consistente, minimizando a perda de dados, após uma falha no nó central do MyGrid. Assim, ele salva, de forma estável, o estado da aplicação (estruturas de dados e informações de controle imprescindíveis) capaz de restaurar o sistema após o colapso, oferecendo uma alternativa à sua característica de ponto único de falhas. Os checkpoints são obtidos e salvos a cada mudança de estado do escalonador de tarefas do nó central. A eficiência do mecanismo de recuperação é comprovada através de experimentos que exercitam este mecanismo em cenários com diferentes características, visando validar e avaliar o impacto real no desempenho do MyGrid. / The grid computing has emerged as an important research area because it allows sharing geographically distributed computing resources among several users. However, resources in a grid are highly heterogeneous and dynamic, turning complex the development and the execution of applications. OurGrid is a software platform that intends to reduce these difficulties. Besides allowing the execution of distributed applications in grid environments, it offers and gives support to an exchange of favors between users. In this way, institutions (or users) that have idle resources can offer them to other users. The more resources a domain offers to the grid, the more it will be favored when in need. It will have higher priority when requesting machines to grid. MyGrid software is the main component of OurGrid: it constitutes the interface for user interaction as well as application submission and management. In the execution model of MyGrid, tasks are launched by a central node (home-machine), which manages the scheduling of tasks to be executed in the grid. This node constitutes a "single point of failure", because its crash causes the loss of results of the previous processing. Depending on the particular applications, this loss can be the result of hours or days of processing time. This dissertation aims to reduce the consequences of this problem offering an alternative to the single point of failure: here is proposed and implemented a checkpointing mechanism, used as basis for the rollback recovery. Checkpoints are taken synchronously with the state changes of the scheduler on the central node. After a failure affecting the home-machine of MyGrid, the system recovers information on the state of the application (data structures and essential control information) and results of previous computation, saved in stable storage, minimizing the loss of data. The efficiency of the recovery mechanism and its impact over MyGrid are evaluated through experiments that exercise this mechanism in scenarios with different characteristics.
76

Integrando injeção de falhas ao perfil UML 2.0 de testes / Integrating fault injection to the UML 2.0 testing profile

Gerchman, Júlio January 2008 (has links)
Mecanismos de tolerância a falhas são implementados em sistemas computacionais para atingir níveis de dependabilidade mais elevados. O teste desses mecanismos é essencial para validar seu funcionamento e demonstrar sua eficácia. Uma técnica de teste usada nesse caso é a injeção de falhas: uma simulação ou protótipo funcional é executado em um ambiente onde falhas são artificialmente emuladas e o sistema monitorado de forma a entender seu comportamento, bem como avaliar a eficiência da implementação dos mecanismos de tolerância. Descrever as atividades de teste usando modelos é útil para a documentação do sistema. O Perfil UML 2.0 de Testes (U2TP) é uma linguagem padronizada para a descrição de modelos de testes, possibilitando a representação de ambientes e atividades de verificação e validação. No entanto, U2TP não oferece elementos para suportar técnicas de injeção de falhas. Este trabalho apresenta U2TP-FI, uma extensão do Perfil UML 2.0 de Testes para a descrição de atividades de teste que usem técnicas de injeção de falhas. U2TP-FI é uma linguagem de modelagem que oferece elementos para representar as falhas a serem emuladas em um ambiente de teste, descrevendo os parâmetros que regem seu comportamento, suas condições de ativação e suas relações com os componentes do sistema. O estabelecimento dessa linguagem permite uma melhor visualização da atividade, um melhor projeto do teste e uma fácil documentação do projeto. Além disso, possibilita a criação de ferramentas para automação do processo de injeção de falhas. Como prova de conceito para demonstrar a viabilidade da proposta, foram desenvolvidos usando U2TP-FI modelos de teste para a injeção de falhas em aplicações usando injetores existentes. Ferramentas de transformação de modelos foram aplicadas para gerar de forma automatizada artefatos a serem usados na atividade, como cargas de falhas e relatórios. / Computer systems use fault tolerance mechanisms to reach higher dependability levels. Testing those mechanisms is essential for the validation of their proper operation and for the verification of their effectiveness. Fault injection is a technique for testing fault tolerance mechanisms: a simulation or a functional prototype of the system is executed in a testbed environment where faults are artificially emulated. Monitoring its behavior enables the validation of the implementation and the evaluation of the efficiency of the fault tolerance mechanisms. It is useful for documenting the system to describe the test activities using models. The UML 2.0 Testing Profile is a standard language to create test models, enabling the test engineer to describe the environment, data, components, validations and other elements of the activity. However, U2TP does not offer elements that support fault injection techniques. This work presents U2TP-FI, an extension of the UML 2.0 Testing Profile to model test activities that use fault injection techniques. U2TP-FI is a modeling language offering elements to represent the faults to be emulated on a test environment, describing the parameters which govern their behavior, the activation conditions and the relations between them and the system components. Using this language allows a better visualization of the test activity, a better test project and an easier project documentation. Besides, it enables the development of automation tools for the fault injection process. As a proof of concept to demonstrate the viability of the proposal, U2TP-FI was used to create test models for applications using existing fault injectors. Model transformation tools were applied to automatically generate test artifacts such as faultloads and reports.
77

JavaRMS : um sistema de gerência de dados para grades baseado num modelo par-a-par / JavaRMS: a grid data management system based on a peer-to-peer model

Gomes, Diego da Silva January 2008 (has links)
A grande demanda por computação de alto desempenho culminou na construção de ambientes de execução de larga escala como as Grades Computacionais. Não diferente de outras plataformas de execução, seus usuários precisam obter os dados de entrada para suas aplicações e muitas vezes precisam armazenar os resultados por elas gerados. Apesar de o termo Grade ter surgido de uma metáfora onde os recursos computacionais estão tão facilmente acessíveis como os da rede elétrica, as ferramentas para gerenciamento de dados e de recursos de armazenamento disponíveis estão muito aquém do necessário para concretizar essa idéia. A imaturidade desses serviços se torna crítica para aplicações científicas que necessitam processar grandes volumes de dados. Nesses casos, utiliza-se apenas os recursos de alto desempenho e assegura-se confiabilidade, disponibilidade e segurança para os dados através de presença humana. Este trabalho apresenta o JavaRMS, um sistema de gerência de dados para Grades. Ao empregar um modelo par-a-par, consegue-se agregar os recursos menos capacitados disponíveis no ambiente de Grade, diminuindo-se assim o custo da solução. O sistema utiliza a técnica de nodos virtuais para lidar com a grande heterogeneidade de recursos, distribuindo os dados de acordo com o espaço de armazenamento fornecido. Empregase fragmentação para viabilizar o uso dos recursos menos capacitados e para melhorar o desempenho das operações que envolvem a transferência de arquivos. Utiliza-se replicação para prover persistência aos dados e para melhorar sua disponibilidade. JavaRMS lida ainda com a dinamicidade e a instabilidade dos recursos através de um modelo de estados, de forma a diminuir o impacto das operações de manutenção. A arquitetura contempla também serviços para gerenciamento de usuários e protege os recursos contra fraudes através de um sistema de cotas. Todas as operações foram projetadas para serem seguras. Por fim, disponibiliza-se toda a infra-estrutura necessária para que serviços de busca e ferramentas de interação com o usuário sejam futuramente fornecidos. Os experimentos realizados com o protótipo do JavaRMS comprovam que usar um modelo par-a-par para organizar os recursos e localizar os dados resulta em boa escalabilidade. Já a técnica de nodos virtuais se mostrou eficiente para distribuir de forma balanceada os dados entre as máquinas, de acordo com a capacidade de armazenamento oferecida. Através de testes com a principal operação que envolve a transferência de arquivos, comprovou-se que o modelo é capaz de melhorar significativamente o desempenho de aplicações que necessitam processar grandes volumes de dados. / Large scale execution environments such as Grids emerged to meet high-performance computing demands. Like in other execution platforms, its users need to get input data to their applications and to store their results. Although the Grid term is a metaphor where computing resources are so easily accessible as those from the eletric grid, its data and resource management tools are not sufficiently mature to make this idea a reality. They usually target high-performance resources, where data reliability, availability and security is assured through human presence. It turns to be critical when scientific applications need to process huge amounts of data. This work presents JavaRMS, a Grid data management system. By using a peer-topeer model, it aggregates low capacity resources to reduce storage costs. Resource heterogeneity is dealt with the virtual node technique, where peers receive data proportionally to their provided storage space. It applies fragmentation to make feasible the usage of low capacity resources and to improve file transfer operations performance. Also, the system achieves data persistence and availability through replication. In order to decrease the impact of maintenance operations, JavaRMS deals with resource dinamicity and instability with a state model. The architecture also contains user management services and protects resources through a quota system. All operations are designed to be secure. Finally, it provides the necessary infrastructure for further deployment of search services and user interactive tools. Experiments with the JavaRMS prototype showed that using a peer-to-peer model for resource organization and data location results in good scalability. Also, the virtual node technique showed to be efficient to provide heterogeneity-aware data distribution. Tests with the main file transfer operation proved the model can significantly improve data-intensive applications performance.
78

Consistência de ligações na world-wide web / World wide web link consistency

Garcia, Luis Fernando Fortes January 1997 (has links)
Tem-se observado que um dos maiores problemas decorrentes da expansão das ferramentas de difusão de informações em ambientes distribuídos, especialmente no modelo WWW-Internet, é a inconsistência das ligações entre os objetos envolvidos (Erro 404 - Arquivo não encontrado). Segundo [WHY 95], uma das mais importantes condições para a qualidade de uma estrutura de hiperdocumento é a manutenção da integridade e atualidade das ligações, sejam estas internas ou externas. Sempre que há alterações na hiperbase, nas estruturas dos documentos que a compõem ou no conteúdo semântico destes, podem surgir inconsistências nas ligações. Estas podem indicar tanto um problema temporário da rede ou servidor quanto um recurso que tenha sido permanentemente movido ou excluído. Acredita-se que o percentual de requisições inválidas cresça de acordo com o tempo, com a inclusão de novos recursos e com a dinamicidade intrínseca das estruturas dos Sistemas de Hiperdocumentos Distribuídos. Faz-se necessária, então, a adoção de modelos de Sistemas de Hiperdocumentos Distribuídos que contemplem o tratamento do problema de inconsistência de ligações desde sua concepção, através de técnicas preventivas ou então o desenvolvimento de ferramentas e técnicas para que a integridade das ligações seja garantida, preferencialmente de modo automático, para os modelos que não a apresentam nativamente Isto posto, este trabalho trata do problema da inconsistência de ligações nos Sistemas de Hiperdocumentos Distribuídos, com ênfase especial no modelo WWW (World-Wide Web) [BER 92]. Para tanto, são apresentados noções e conceitos, histórico, objetivos, estado da arte, arquitetura e requisitos necessários, assim como características específicas dos principais Sistemas de Hiperdocumentos Distribuídos. São tratados, também, os aspectos teóricos referentes aos problemas gerados pela inconsistência de ligações de ordem técnica, psicológica e/ou mercadológica. São apresentadas soluções encontradas na bibliografia para os sistemas implementados, bem como é feita uma classificação destas soluções em nível de preventivas (que não permitem que o problema ocorra) e corretivas (que são utilizadas para solucionar ou minimizar o problema), podendo estas serem, ainda, de funcionamento manual, semiautomático ou automático. A solução proposta, classificada como preventiva semi-automática, baseia-se em entrada de dados via formulário HTML e armazenamento em arquivo do tipo texto, é apresentada através de sua definição, objetivos, funcionamento e do detalhamento do protótipo, através das características de implementação e do ambiente utilizado. / We have noticed that one of the biggest problems resulting from the spreading of the information diffusion tools in distributed environments (specially with the WWWInternet model) is the inconsistency of the links between the objects involved (Error 404 - File was not found). According to [WHY 95], one of the most important conditions for the quality of an hyperdocument structure is the maintenance of the integrity of the links, whatever they may be internal or external to the hyperdocument. Whenever there are hyperbase changes, changes on the structures of the papers that compose the hyperbase, or if there are changes on the semantic content of these papers, there may arise inconsistencies with the links. These inconsistencies may indicate a temporary net or server problem, as well as a resource that has been constantly moved or excluded. It’s believed that the percentage of invalid requisites raises in accordance with time, with the introduction of new resources and with the dynamics of the structure of Distributed Hyperdocument Systems. So, it's necessary to adopt models of Distributed Hyperdocument Systems that contemplate a treatment of the problem of the links' inconsistencies since their conception, using preventive techniques or developing tools and techniques to guarantee the integrity of the links, preferably by automatic mode to the models that originally don't have this integrity. Thus, this work is about the problem of links' inconsistency in Distributed Hyperdocument Systems, with special emphasis on the model: WWW (World Wide Web) [BER 92]. For that, basic concepts, history, objectives, the state of the art, architecture and necessary requirements are shown., as well as specific characteristics of the main Distributed Hyperdocument Systems. Also shown are the theoretical aspects concerning the problems produced by the links inconsistency of the technical, psychological and/or market order. Solutions found on the bibliography are shown as well as a classification of these solutions as preventives (that don't permit the problem to occur) and correctives (that are used to solve or minimize the problem) is done. These solutions may still be manual, semi-automatic or automatic. The proposed solution, classified as preventive semiautomatic, is based on data entries using the HTML form and their storage in files in textual form. The definition, objectives, functioning and detail of a prototype are presented.
79

Continuum : a context-aware service-based software infrastucture for ubiquitous computing / Continuum : uma infra-estrutura de software sensível ao contexto e baseada em serviços para a computação ubíqua

Costa, Cristiano Andre da January 2008 (has links)
Este trabalho apresenta uma proposta de infra-estrutura de software sensível ao contexto para a computação ubíqua (ubicomp) denominada Continuum. A área de ubicomp, também chamada de computação pervasiva, pressupõe uma forte integração com o mundo real, com foco no usuário e na manutenção de alta transparência. Para o desenvolvimento de aplicativos nesse cenário, é necessária uma infra-estrutura de software adequada. A infra-estrutura projetada é baseada no padrão da arquitetura orientada a serviços (service-oriented architecture ou SOA), fazendo uso de framework e middleware, e empregando uma redefinição da semântica siga-me. Nessa visão redefinida, os usuários podem ir para qualquer lugar carregando os dados e os aplicativos que desejam, os quais podem ser usados de forma imperceptível e integrada com o mundo real (seamless integration). O foco particular desse trabalho é sensibilidade ao contexto: a percepção de características relacionadas aos usuários e ao entorno. No trabalho são considerados os recursos disponíveis no ambiente e é mantida a história dos dados de contexto. Além disso, é proposta a representação do contexto para promover raciocínio e compartilhamento de conhecimento, empregando uma ontologia. Dessa forma, contexto é representado de uma maneira formal e bastante expressiva, diferente de muitas soluções existentes hoje em dia que ainda usam modelos de representação ad hoc. Esta tese está então na interseção destas três áreas principais: infra-estrutura de software para ubicomp, sensibilidade ao contexto e ontologias. No desenvolvimento desta tese, também examina-se o campo da computação ubíqua, e sugere-se um modelo de arquitetura geral que enfrente esses desafios fundamentais. Baseado nos requisitos estabelecidos para esse modelo, propõe-se um conjunto de serviços para o Continuum. Os serviços são projetados considerando o trabalho previamente desenvolvido pelo nosso grupo de pesquisa, mais especificamente o projeto ISAM, e particularmente o middleware EXEHDA. A proposta estende esses projetos, adicionando aspectos que não haviam sido considerados no momento do seu desenvolvimento. Particularmente, o suporte a sensibilidade de contexto é melhorado com a proposta de uma ontologia para a formalização da informação de contexto. Algumas análises, usando a metodologia de estudo de caso, foram conduzidas para apreciar as principais proposições da tese. Baseado nessas avaliações, foram apresentadas algumas lições aprendidas e traçada a conclusão do trabalho. Como resultado, Continuum é uma infra-estrutura de software que endereça muitos aspectos da computação ubíqua, integrando imperceptivelmente diferentes desafios. / The present work is a proposal of a context-aware software infrastructure for ubiquitous computing (ubicomp) named Continuum. The ubicomp area, also called pervasive computing, presupposes a strong integration with the real world, with focus on the user and on keeping high transparency. For the development of applications in this scenario, we need an adequate software infrastructure. The infrastructure designed in this work is based on service-oriented architecture (SOA), making use of framework and middleware, and employing a redefinition of follow-me semantics. In this redefined vision, users can go anywhere carrying the data and application they want, which they can use in a seamlessly integrated fashion with the real world. The specific focus of our work is context awareness: the perception of characteristics related to users and surroundings. We consider the resources available in the environment and keep a history of context data. Furthermore, we propose the representation of context to promote reasoning and knowledge sharing, using ontology. In this way, context is represented in a considerably expressive, formal approach, different from many solutions that exist today, which still use ad hoc representations models. Our work is then at the intersection of these three main areas: software infrastructures for ubicomp, context awareness, and ontologies. In the development of this thesis, we also survey the field of ubiquitous computing, suggesting a general architectural model to deal with its fundamental challenges. Based on the established requirements for this model, we propose a set of services for Continuum. The services are designed considering the previous works developed by our research group, namely ISAM (Infra-estrutura de Suporte às Aplicações Móveis – Mobile Applications Support Infrastructure), and particularly the middleware EXEHDA (Execution Environment for Highly Distributed Applications). We further extend these projects, by adding aspects to them that had not been considered at the time of their development. Particularly, we improve context awareness support, proposing an ontology for the formalization of context information. We have conducted some analysis, using case study methodology, to evaluate the main propositions of our work. Based on these assessments, we present lessons learned and draw the conclusion of our work. As a result, Continuum is a software infrastructure that addresses many aspects of ubiquitous computing, seamlessly integrating many different challenges.
80

Transversal I/O scheduling for parallel file systems : from applications to devices / Escalonamento de E/S transversal para sistemas de arquivos paralelos : das aplicações aos dispositivos

Boito, Francieli Zanon January 2015 (has links)
Esta tese se concentra no escalonamento de operações de entrada e saída (E/S) como uma solução para melhorar o desempenho de sistemas de arquivos paralelos, aleviando os efeitos da interferência. É usual que sistemas de computação de alto desempenho (HPC) ofereçam uma infraestrutura compartilhada de armazenamento para as aplicações. Nessa situação, em que múltiplas aplicações acessam o sistema de arquivos compartilhado de forma concorrente, os acessos das aplicações causarão interferência uns nos outros, comprometendo a eficácia de técnicas para otimização de E/S. Uma avaliação extensiva de desempenho foi conduzida, abordando cinco algoritmos de escalonamento trabalhando nos servidores de dados de um sistema de arquivos paralelo. Foram executados experimentos em diferentes plataformas e sob diferentes padrões de acesso. Os resultados indicam que os resultados obtidos pelos escalonadores são afetados pelo padrão de acesso das aplicações, já que é importante que o ganho de desempenho provido por um algoritmo de escalonamento ultrapasse o seu sobrecusto. Ao mesmo tempo, os resultados do escalonamento são afetados pelas características do subsistema local de E/S - especialmente pelos dispositivos de armazenamento. Dispositivos diferentes apresentam variados níveis de sensibilidade à sequencialidade dos acessos e ao seu tamanho, afetando o quanto técnicas de escalonamento de E/S são capazes de aumentar o desempenho. Por esses motivos, o principal objetivo desta tese é prover escalonamento de E/S com dupla adaptabilidade: às aplicações e aos dispositivos. Informações sobre o padrão de acesso das aplicações são obtidas através de arquivos de rastro, vindos de execuções anteriores. Aprendizado de máquina foi aplicado para construir um classificador capaz de identificar os aspectos espacialidade e tamanho de requisição dos padrões de acesso através de fluxos de requisições anteriores. Além disso, foi proposta uma técnica para obter eficientemente a razão entre acessos sequenciais e aleatórios para dispositivos de armazenamento, executando testes para apenas um subconjunto dos parâmetros e estimando os demais através de regressões lineares. Essas informações sobre características de aplicações e dispositivos de armazenamento são usadas para decidir a melhor escolha em algoritmo de escalonamento através de uma árvore de decisão. A abordagem proposta aumenta o desempenho em até 75% sobre uma abordagem que usa o mesmo algoritmo para todas as situações, sem adaptabilidade. Além disso, essa técnica melhora o desempenho para até 64% mais situações, e causa perdas de desempenho em até 89% menos situações. Os resultados obtidos evidenciam que ambos aspectos - aplicações e dispositivos de armazenamento - são essenciais para boas decisões de escalonamento. Adicionalmente, apesar do fato de não haver algoritmo de escalonamento capaz de prover ganhos de desempenho para todas as situações, esse trabalho mostra que através da dupla adaptabilidade é possível aplicar técnicas de escalonamento de E/S para melhorar o desempenho, evitando situações em que essas técnicas prejudicariam o desempenho. / This thesis focuses on I/O scheduling as a tool to improve I/O performance on parallel file systems by alleviating interference effects. It is usual for High Performance Computing (HPC) systems to provide a shared storage infrastructure for applications. In this situation, when multiple applications are concurrently accessing the shared parallel file system, their accesses will affect each other, compromising I/O optimization techniques’ efficacy. We have conducted an extensive performance evaluation of five scheduling algorithms at a parallel file system’s data servers. Experiments were executed on different platforms and under different access patterns. Results indicate that schedulers’ results are affected by applications’ access patterns, since it is important for the performance improvement obtained through a scheduling algorithm to surpass its overhead. At the same time, schedulers’ results are affected by the underlying I/O system characteristics - especially by storage devices. Different devices present different levels of sensitivity to accesses’ sequentiality and size, impacting on how much performance is improved through I/O scheduling. For these reasons, this thesis main objective is to provide I/O scheduling with double adaptivity: to applications and devices. We obtain information about applications’ access patterns through trace files, obtained from previous executions. We have applied machine learning to build a classifier capable of identifying access patterns’ spatiality and requests size aspects from streams of previous requests. Furthermore, we proposed an approach to efficiently obtain the sequential to random throughput ratio metric for storage devices by running benchmarks for a subset of the parameters and estimating the remaining through linear regressions. We use this information on applications’ and storage devices’ characteristics to decide the best fit in scheduling algorithm though a decision tree. Our approach improves performance by up to 75% over an approach that uses the same scheduling algorithm to all situations, without adaptability. Moreover, our approach improves performance for up to 64% more situations, and decreases performance for up to 89% less situations. Our results evidence that both aspects - applications and storage devices - are essential for making good scheduling choices. Moreover, despite the fact that there is no scheduling algorithm able to provide performance gains for all situations, we show that through double adaptivity it is possible to apply I/O scheduling techniques to improve performance, avoiding situations where it would lead to performance impairment.

Page generated in 0.0603 seconds