1 Universidade Federal de Santa Catarina Centro Tecnológico - CTC Departamento de Informática e Estatística - INE Bancos de Dados Distribuídos Transaction Policies for Mobile Network Lucas Guardalben Prof. Dr. Frank Siqueira
2 Dados do artigo Nuno Santos, Luís Veiga, Paulo Ferreira INESC –Instituto de Eng. de Sis. Comp. Distributed Systems Group Porto Portugal 5º IEEE – Policies for Dist. Syst. and Net(POLICY’04) inesc.pt
3 Estrutura Introdução Definição do problema MobileTrans e sua Arquitetura; Políticas de Transação Avaliação Conclusão e Considerações Finais
4 Introdução Dispositivos Móveis PDA´s, e Laptops; Estes dispositivos são equipados com interfaces wireless; Permitem a comunicação tanto com redes móveis e também com estações fixas; Redes móveis são caracterizadas pela mobilidade ou pela desconexão de um ou mais hosts; Redes Ad-Hoc x Redes móveis com bases fixas
5 Definição do problema Redes Móveis Ambientes dinâmicos e alta interação dos nodos em topologias arbitrárias; Os nodos podem estar inacessíveis a qualquer momento; Escassez de memória, tempo da bateria, poder processamento, dos nodos pertencentes a rede; Necessidade de compartilhamento de informações entre estações fixas; Maior presença de falhas devido ao alto índice de desconexões dos nodos da rede; Devido a instabilidade da topologia da rede, o paradigma de transação é necessário para assegurar que os dados tenham consistência mesmo na presença de falhas de desconexão
6 Definição do problema Sistemas de Transações atuais Já promovem mecanismos de distribuição de transações para nodos móveis; Mas são ineficientes para tratar o problema de desconexão dos nodos; As propriedades clássicas ACID são muito restrita para tais cenários móveis; Sistema de Transações Atuais Falham em prover a necessidade de adaptabilidade para um grande conjunto de cenários e aplicações.
7 MobileTrans É um Sistema de transações baseado em objetos; Trabalha com políticas de especificação; Declarativa, programação; Suporta Flexibilidade e adaptabilidade necessária para redes móveis; Cada nó é capaz de acessar os objetos de qualquer outro nó;
8 MobileTrans Enquanto o nó fornece os objetos ele trabalha como servidor; Se o nó faz uma requisição para qualquer outro nó ele trabalha como cliente; Os objetos podem conter referências em outros nós, formando “Gráfico distribuído de objetos”
9 MobileTrans Os objetos são armazenados no contexto da transação; As transações são executadas sob um protocolo de controle de concorrência garantindo a serialização; MobileTrans é um middleware que dá suporte para desenvolvimento e execução das transações.
10 MobileTrans Propriedades das transações: Consistência É possivel especificar regras de consistência para usar versões antigas dos objetos, se o nó não estiver mais acessível. Pode ser tanto para um objeto ou para o gráfico de objetos Fetching Pode se replicar um objeto antes do início da transação ou pedir os objetos por demanda depois que a transação é executada Delegação Quando uma transação está prestes a receber commit, é possível delegar para outro nó a função de commit da transação Atomicidade Essa política especifica se a transação pode dar commit se todos os nós estiverem acessíveis Caching Enquanto é executada a transação é possível armazenar os objetos em nós cache. Isso é essencial para garantir disponibilidade durante a desconexão Manipulação de Erros Responsável por determinar como reagir perante os erros,
11 MobileTrans Arquitetura Roda sobre MOBIWAN MOBIWAN É uma evolução do Obiwan, (Que é um middleware que prove transparência e adaptabilidade para gráficos de objetos ) Responsável pela comunicação entre os nodos móveis; Foi desenvolvido como um web- service, roda sobre IIS(Internet Information Service) Compiler gera automaticamente proxies codificados em C++ Implementação Foi desenvolvido em.Net /.Net CF Usando C++ como linguagem primária MOBIWAN dá suporte para replicação de Gráficos de Objetos
12 Modelo de Transação Controle de concorrência é baseado em MVPV(Multi-version Parallel validation)é um protocolo que garante a serialização dos objetos; O modelo usa um coordenador para coordenar a execução das transações de um gráfico de objetos distribuídos e um gerenciador para administrar as transações que acessam os objetos locais; MVPV garante a consistência dos dados;
13 Modelo de Transação MobileTrans usa uma versão modificada do MVPV de duas formas: É adaptado para controlar o comportamento de banco de dados relacional É baseado em políticas de especificação, isto provê facilidade de configuração ao comportamento da transação
14 Exemplo de Transação
15 Políticas de Transação Com MobileTrans é possível especificar o exato comportamento das transações de acordo com um conjunto predefinido de parâmetros chamados atributos; Uma instância só é valida no contexto da transação ou seja durante o ciclo de vida da transação; Uma transação é dita configurada quando todos os seus atributos foram instanciados;
16 Atributos das Transações Atributos Consistência Fetching Delegação Atomicidade Caching Manipulação de Erros Hierarquia consistency.degree(low) caching.read(yes)
17 Políticas de Transação Desenvolvedor tem toda flexibilidade em aplicar a especificação da política de transação desejada Esta especificação pode ser tanto: declarativa: É configurada através de um arquivo em XML; Programação: Permite um alto grau controle em tempo de execução; Exemplo de como as transações provem adaptabilidade perante desconexões
18 Avaliação Benckmark Foi executado uma lista de appointments com 1000 elementos com um payload de 64 bytes cada. O mecanismo de replicação foi configurado para responder em On- demand e pre-fetched. Equipamentos Um Pentium 4, 2,8Ghz, 512Mb PC IPAQ 3360 Pocket PC Bluetooth USB Adapter
19 Avaliação É mais eficiente quando vários(Mais que 25 objetos) são replicados por tempo; On-demand diminui a latência e minimiza uso de memória pela aplicação; Melhores resultados são obtidos com maior número de objetos, há com isso desperdício de memória.
20 Conclusão Usando políticas de transações o desenvolvedor é capaz de configurar aspectos do comportamento da transação Assim políticas de transações prove um poderoso e flexível mecanismo de configuração do comportamento das transações de acordo com a semântica da aplicação; Para o MobileTrans estão sendo estudadas novas formas para garantir mais controle de concorrência, e garantir mais consistência nas transações
21 Considerações Finais Críticas Legibilidade (Bom) Coerência (Bom) Ambiente de avaliação(Falho) Contribuição Criação de uma política de eleição do nó coordenador, utilizando heurísticas pré estabelecidas; Melhoria da segurança entre os nós participantes mais especificadamente em redes AD-HOC.
22 Universidade Federal de Santa Catarina Centro Tecnológico - CTC Departamento de Informática e Estatística - INE Bancos de Dados Distribuídos Transaction Policies for Mobile Network Referências e artigos correlatos