sexta-feira, 29 de fevereiro de 2008

Escalabilidade em sistemas distribuídos utilizando CORBA

Introdução

CORBA é um midleware utilizado para garantir a interoperabilidade entre sistemas abertos que sigam o seu padrão.
Atualmente muitas aplicações tolerantes a faltas estão seguindo o paradigma de orientação a objetos e considerando CORBA como a melhor alternativa de se adequar aos requisitos de sistemas abertos. Esta foi à motivação para a formação de uma força tarefa com o intuito de introduzir conceitos e abstrações para tolerância à faltas em CORBA. No entanto as especificações do Fault_Tolerant CORBA ainda não são capazes de garantir a escalabilidade para sistemas distribuídos de larga escala tolerantes a falta.
A proposta do artigo é um conjunto de propostas e extensões ao FT-CORBA, que visam tratar o problema de escalabilidade em sistemas distribuídos de larga escala.
Uma falta identificada no FT_CORBA é que o seu sistema de controle de falhas se limita a definir interfaces de uso genérico, omitindo-se por exemplo da padronização de serviços de comunicação de grupos confiáveis, base fundamental para implementação de técnicas de replicação ativa. Para a atenuação deste problema foi proposto o projeto GroupPack que corresponde a um conjunto de serviços específicos próprios para o desenvolvimento de aplicações tolerantes a falhas.

Serviço de detecção de falhas do GroupPack

O sistema de detecção de falhas do FT-CORBA é ineficaz para sistemas com características assíncronas. Para isso o GroupPack estende a noção de falhas, sem que isto represente na modificação das interfaces da especificação do FT-CORBA. É assumido que um host é considerado em crash se não responder a um certo número de detectores de falhas dentro de timeouts específicos. É necessário então um procedimento de consenso para ser executado por um conjunto de detectores na determinação de falhas, pois o monitoramento de um host a partir de um grupo de detectores minimiza a probabilidade de erros na detecção.

Localizando grupos de objetos no GroupPack

Uma forma de permitir que objetos, dos diferentes domínios de TF, pudessem ser localizados e se juntar ou sair de um grupo dinamicamente durante o ciclo de vida da replicação é através da associação de domínios de TF com o serviço de nomes, uma vez que o FT-CORBA não possui uma interface para deixar disponível as referências para grupos de objetos a objetos clientes.

Propriedades de TF para dar Suporte a Escalabilidade

Propriedades de tolerância à faltas são associadas a cada grupo de objeto em um domínio de tolerância à faltas. Dentre estas propriedade estão o tipo de replicação, estilo de monitoramento de falhas, intervalo de monitoramento de falhas, número inicial de réplicas e intervalo de atualização de estado. Estas propriedades e seus valores podem ser entendidos de acordo com as necessidades de cada aplicação. Para dar suporte aos grupos interdomínios, foram introduzidas duas novas propriedades:
1- InterdomainGroup: determina se um grupo contém membros em diferentes domínios ou não.
2- OrderingType: determina o tipo de ordenação a ser utilizada pelos Gateway Seqüenciadores, que tem como função servir de ponte para difusão de uma mensagem entre diferentes subgrupos de um grupo interdomínio.

Opinião

Sendo CORBA um dos midlewares mais utilizados para o desenvolvimento de sistemas distribuídos, com o melhoramento das técnicas de tolerância a falhas propostas para o FT_CORBA através da integração com o GroupPack, torna-se possível garantir a escalabilidade de uma outra categoria de sistemas distribuídos, que são os sistemas assíncronos e de larga escala tolerantes a falhas. Isso possibilita mais segurança na utilização desses sistemas e um maior suporte para o seu desenvolvimento.

Thiago Ribeiro Nunes \ 105040501
Sistemas Distribuídos
Fonte: http://www.ppgia.pucpr.br/~lau/papers/PaperRita.pdf

Nenhum comentário: