Neste item é apresentado um resumo da análise das propostas, a Tabela 2 auxilia na visualização das características de cada protocolo estudado.
Tabela 2 - Resumo da análise comparativa entre os protocolos. Localização da área de armazenamento estável Local de armazenamento dos registros de checkpoint e log Previsão da ocorrência de falhas Estruturas de Dependência Troca de mensagens NEVES & FUCHS (1997) Unidades de suporte Hard checkpoints nas unidades de suporte. Soft checkpoints nas unidades móveis Falhas previsíveis e imprevisíveis. Não Não PRAKASH & SINGHAL
(1995) Unidades de suporte e unidades móveis
Registros de log: unidades de suporte. Registros de checkpoints: unidades de suporte e unidades móveis. Falhas previsíveis e imprevisíveis. Sim Sim BADRINATH & ACHARYA (1994)
Unidades de suporte Unidades de suporte Falhas
previsíveis Não Sim
ALAGAR et al. (1993) Unidades de suporte Replicação nas unidades de suporte Falhas previsíveis e imprevisíveis. Sim Sim PRADHAN et al.
(1996) Unidades de suporte Unidades de suporte
Falhas previsíveis. Não Com e sem troca de mensagens CONTICELLO & SARMA (1997) Unidades de suporte Checkpoints locais: unidades móveis. Checkpoints globais: unidades de suporte. Falhas
previsíveis. Sim Sim
Protocolo Unilateral (UCM)
Unidades de suporte Unidades de suporte
Falhas previsíveis e imprevisíveis. Não Sim PITOURA & BHARGAVA (1995) * * Falhas
previsíveis. Não Agentes
WALBORN & CHRYSANTHIS (1998)
Unidades de suporte Unidades de suporte
Falhas previsíveis e imprevisíveis.
Não Agentes
De acordo com os resultados obtidos na análise comparativa fica evidente o fato de que, apesar do desenvolvimento das capacidades de armazenamento e processamento, as unidades móveis não são consideradas locais estáveis para o armazenamento de informações. Apenas a proposta de PRAKASH & SINGHAL (1995) considera a unidade móvel como local estável, no entanto os autores procuram limitar a quantidade de informações armazenadas na unidade móvel.
A análise dos resultados da pesquisa em relação ao local de armazenamento dos registros de checkpoint e log revela que todos os protocolos, à exceção da proposta de PITOURA & BHARGAVA (1995) que não especifica o local de armazenamento, sugerem as estações de suporte para o armazenamento destes registros. As propostas de NEVES & FUCHS (1997), PRAKASH & SINGHAL (1995) e CONTICELLO & SARMA (1997) sugerem, além do armazenamento nas estações de suporte, a utilização das unidades móveis para o registro de alguns checkpoints (soft e locais).
Observando os resultados tabulados anteriormente, verifica-se que para todas as propostas onde existe a figura de uma estrutura de dependência, o processo de criação de um registro de checkpoint envolve a troca de mensagens. O que confirma a função da estrutura de dependência: limitar a pesquisa no momento de criação do registro do checkpoint. Estes protocolos trabalham na otimização do custo com o processamento para a construção dos registros de checkpoints.
Da mesma forma pode ser observado que para os protocolos que não envolvem a troca de mensagens, inexiste a figura da estrutura de dependência. Confirmando mais uma vez a função desta estrutura.
Verificou-se, no item de previsão de ocorrência de falhas, que 50% das propostas trabalham com a possibilidade de antecipação da ocorrência da falhas, enquanto que outros 50% trabalham com a impossibilidade de antecipação da falha.
Dos resultados apresentados fica aparente a classificação das unidades móveis como locais de armazenamento não confiáveis. Desta forma as propostas carregam sobre as unidades de suporte a responsabilidade de gerenciar todo o processo de mobilidade do ambiente, além da integridade dos bancos de dados existentes nesta arquitetura. O papel das unidades de suporte, em todas as propostas de protocolos analisadas, é vital para a construção de mecanismos de tolerância à falhas destes
ambientes. Este papel pode ser verificado a partir da análise dos resultados relativos ao local de armazenamento dos registros de checkpoint e log, todas as propostas armazenam estas informações (vitais para a implementação dos mecanismos) nas unidades de suporte. Porém, somente uma das propostas apresenta algum mecanismo que também contemple a ocorrência de falhas nas unidades de suporte, a ocorrência de falhas nestas unidades compromete todo o funcionamento do ambiente.
Sob os aspectos analisados, a proposta de ALAGAR et al. (1993) apresenta-se como a mais abrangente, nesta proposta os autores trabalham tanto com a possibilidade de antecipação da ocorrência de falhas, quanto com a imprevisibilidade destas ocorrências. O algoritmo aborda a ocorrência de falhas por solicitação do usuário (pedidos de desconexão) e as falhas imprevisíveis (ex: queda do link de comunicação). Neste algoritmo não existe a necessidade de qualquer mecanismo de sincronização das unidades móveis, permitindo que a coleta de registros para a construção de um estado consistente do banco de dados ocorra de forma independente entre as unidades móveis. A replicação dos registros relativos ao suporte da mobilidade das unidades, entre as unidades de suporte, sugere um aumento na disponibilidade do sistema. Uma vez que, mesmo que ocorram falhas em alguma unidade de suporte, o ambiente não será afetado, pois as informações poderão ser recuperadas nas unidades de suporte vizinhas, possibilidade garantida pela replicação destas informações.
CAPÍTULO V
ANÁLISE DOS MECANISMOS DE RECUPERAÇÃO
DE FALHAS IMPLEMENTADOS POR SGBDs
COMERCIAIS EM AMBIENTES DE COMPUTAÇÃO
MÓVEL
No capítulo anterior foram apresentadas algumas das propostas encontradas na literatura científica, com relação à recuperação de falhas em ambientes de bancos de dados móveis. A proposta deste capítulo é apresentar os mecanismos aplicados nos sistemas gerenciadores de bancos de dados mais utilizados no mercado atual. Não será feita em nenhum momento, e nem é esta a intenção deste trabalho, qualquer análise comparativa com relação a desempenho ou capacidade de processamento entre os aplicativos abordados. Foram escolhidos os aplicativos dos fornecedores que detêm no conjunto, o mercado mundial de sistemas gerenciadores de banco de dados: IBM (DB2 Everyplace), Microsoft (SQL Server CE), Oracle (Oracle Lite) e Sybase (SQL Anywhere Studio).