• Nenhum resultado encontrado

5.3 Implementa¸c˜ao da Plataforma MotherFrame

6.1.2 Plataforma ATP

Al´em da no¸c˜ao de crit´erio de corretude discutida na se¸c˜ao anterior, esta se¸c˜ao apresenta mais um fundamento necess´ario para a compreens˜ao do primeiro estudo de caso: a de- scri¸c˜ao da plataforma ATP. Essa plataforma provˆe um servi¸co de transa¸c˜oes adapt´avel para ambientes de computa¸c˜ao m´ovel [85].

Motiva¸c˜oes para o Desenvolvimento da ATP

O compartilhamento de dados entre computadores que fazem parte de ambientes m´oveis ´e uma necessidade clara. Por´em, apesar dos recentes avan¸cos nas tecnologias envolvidas, uma s´erie de obst´aculos ainda continua a dificultar esse compartilhamento em maior ou menor grau. Entre esses obst´aculos, est˜ao: uma maior susceptibilidade a desconex˜oes, varia¸c˜oes na largura de banda e no custo da comunica¸c˜ao e escassez de recursos nos dispositivos de computa¸c˜ao port´ateis (como baterias, espa¸co em disco e poder de proces- samento). Caracter´ısticas como essas tornaram o ambiente m´ovel muito mais dinˆamico do que os ambientes distribu´ıdos tradicionais.

Para reduzir os impactos causados pelo dinamismo de ambientes m´oveis no que diz respeito ao acesso a dados, o projeto de servi¸cos de transa¸c˜ao passou a considerar um novo requisito: a capacidade de se adaptar `as mudan¸cas ocorridas no ambiente. Para satisfazer esse novo requisito, foi proposta a plataforma ATP.

Vis˜ao Geral da Plataforma ATP

A ATP ´e uma plataforma de gerenciamento de transa¸c˜oes que provˆe um servi¸co de transa¸c˜oes capaz de se adaptar a aspectos dinˆamicos de ambientes de computa¸c˜ao m´ovel. Essa adapta¸c˜ao ´e dada atrav´es do conjunto de mecanismos de adapta¸c˜ao provido pelo servi¸co de transa¸c˜oes.

O servi¸co de transa¸c˜oes proposto utiliza a abordagem de adapta¸c˜ao colaborativa, di- vidindo as responsabilidades do processo de adapta¸c˜ao entre a ATP – que provˆe o servi¸co

78 Cap´ıtulo 6. Servi¸cos de Transa¸c˜oes Abertos

de transa¸c˜oes – e as aplica¸c˜oes – que utilizam o servi¸co provido.

• ATP. ´E respons´avel por (i) prover opera¸c˜oes transacionais para aplica¸c˜oes, (ii) monitorar aspectos dinˆamicos dos ambientes de execu¸c˜ao como largura de banda, custo da comunica¸c˜ao, espa¸co em disco e energia, (iii) notificar as aplica¸c˜oes ac- erca de mudan¸cas significativas nesses aspectos dinˆamicos e (iv) prover mecanismos capazes de adaptar as transa¸c˜oes `as varia¸c˜oes do ambiente de execu¸c˜ao.

• Aplica¸c˜oes. S˜ao respons´aveis por (i) requisitar o monitoramento de recursos de acordo com os interesses envolvidos e (ii) indicar a pol´ıtica de adapta¸c˜ao que deve ser adotada pela ATP como rea¸c˜ao `as mudan¸cas do ambiente.

Nesse modelo, enquanto que a ATP provˆe mecanismos de adapta¸c˜ao, as aplica¸c˜oes s˜ao capazes de definir como a adapta¸c˜ao deve ser feita de forma a melhor satisfazer seus interesses. Os mecanismos de adapta¸c˜ao providos pela ATP s˜ao: a mudan¸ca de n´ıveis de isolamento e de modos de opera¸c˜ao. Esses dois mecanismos s˜ao descritos a seguir. N´ıveis de Isolamento

O isolamento ´e uma propriedade transacional que visa conter interferˆencias entre transa¸c˜oes concorrentes. Uma forma tradicional de evitar essas interferˆencias ´e atrav´es da t´ecnica de serializa¸c˜ao. Nela, transa¸c˜oes podem executar concorrentemente com a garantia de total isolamento entre elas.

Apesar da sua efic´acia na manuten¸c˜ao da propriedade de isolamento, a serializa¸c˜ao ´e uma t´ecnica considerada de baixa eficiˆencia, pois imp˜oe uma s´erie de restri¸c˜oes ao acesso a dados que causam impactos no desempenho das transa¸c˜oes em execu¸c˜ao. Foi para aliviar esses impactos que o conceito de n´ıveis de isolamento foi proposto. Os n´ıveis de isolamento s˜ao: 1-Uncommitted Read; 2-Committed Read; 3-Repeatable Read; 4-Serializable. Nessa escala, quanto menor o n´ıvel de isolamento, menor a garantia de acesso consistente a dados e maior o desempenho obtido.

Considerando a possibilidade de ganhos em desempenho obtidos ao se usar n´ıveis de isolamento mais baixos, a ATP provˆe o apoio a n´ıveis de isolamento como um dos seus mecanismos de adapta¸c˜ao. Usando n´ıveis mais baixos, as aplica¸c˜oes podem aliviar as perdas em desempenho causadas pelo dinamismo de ambientes de computa¸c˜ao m´ovel. Modos de Opera¸c˜ao

O modo de opera¸c˜ao ´e outro mecanismo de adapta¸c˜ao provido pela ATP para viabilizar a execu¸c˜ao de transa¸c˜oes em ambientes m´oveis sujeitos a problemas como varia¸c˜oes na

largura de banda, varia¸c˜oes de latˆencia e desconex˜oes inesperadas. Para isso, s˜ao utilizadas basicamente t´ecnicas de caching de dados e de opera¸c˜ao desconectada.

Os modos de opera¸c˜ao providos s˜ao trˆes: remoto (R), local (L) e local-remoto (LR). Basicamente eles definem se os objetos (dados) participantes de uma transa¸c˜ao ser˜ao acessados remotamente ou localmente (a partir de uma c´opia mantida em cache). Segue uma breve descri¸c˜ao de cada modo de opera¸c˜ao.

R. Neste modo, as transa¸c˜oes executam suas opera¸c˜oes diretamente sobre as matrizes dos objetos localizados remotamente em uma rede fixa. O acesso a esses dados fica sujeito a um controle de concorrˆencia pessimista baseado em trancas. Para realizar esse acesso ´e necess´aria a utiliza¸c˜ao do canal de comunica¸c˜ao sem fio.

L. No modo local, ´e realizada uma c´opia dos dados remotos para a unidade m´ovel. Nesse modo, transa¸c˜oes podem executar sobre as c´opias locais mesmo na ocorrˆencia de desconex˜oes. Essa execu¸c˜ao ´e feita de forma otimista, ou seja, n˜ao ´e tomada nen- huma medida pr´evia para se garantir a consistˆencia entre as c´opias locais e as suas correspondentes remotas. Essa consistˆencia s´o ´e verificada no final da execu¸c˜ao de cada transa¸c˜ao atrav´es da execu¸c˜ao de um protocolo de valida¸c˜ao.

LR. Este modo de opera¸c˜ao ´e semelhante ao modo local no que diz respeito `a manuten¸c˜ao da c´opia dos dados remotos na unidade m´ovel. Por´em, ao inv´es de trabalhar de maneira otimista como o modo local, o modo local-remoto toma medidas pr´evias para se manter a garantia da consistˆencia entre os dados remotos e suas c´opias locais. Essas medidas consistem em colocar trancas sobre os dados remotos que foram copiados para a unidade m´ovel.

Em suma, o modo de opera¸c˜ao R oferece a forma de acesso a dados tradicional – provendo acesso remoto aos dados localizados na rede fixa. Esse modo tradicional pode sofrer as conseq¨uˆencias das desconex˜oes inesperadas e das varia¸c˜oes na largura de banda. Como op¸c˜ao, s˜ao providos os modos L e LR que realizam caching de dados para que se tornem dispon´ıveis durante os per´ıodos de desconex˜ao.

Limita¸c˜oes da Plataforma ATP

Como foi apresentado, a ATP ´e uma plataforma que provˆe um servi¸co de transa¸c˜oes capaz de se adaptar ao dinamismo de ambientes de computa¸c˜ao m´ovel. Para isso, esse servi¸co fornece basicamente dois mecanismos de adapta¸c˜ao: n´ıveis de isolamento – provˆe diferentes graus de desempenho na execu¸c˜ao de transa¸c˜oes; e modos de opera¸c˜ao – per- mite execu¸c˜ao de transa¸c˜oes em diferentes estados da comunica¸c˜ao remota (fortemente conectado, fracamente conectado ou desconectado).

80 Cap´ıtulo 6. Servi¸cos de Transa¸c˜oes Abertos

Apesar dessa flexibilidade, a ATP possui a seguinte limita¸c˜ao: os mecanismos de adapta¸c˜ao propostos n˜ao s˜ao extens´ıveis. Isso implica que a ATP s´o ´e apta a satisfazer os requisitos de um conjunto restrito de aplica¸c˜oes – aquelas que possuem requisitos que foram previstos pelos mecanismos de adapta¸c˜ao propostos. Aplica¸c˜oes que possuem requisitos diferentes dos que foram previstos pela ATP n˜ao podem se beneficiar da mesma. Considerando que, no geral, as aplica¸c˜oes que fazem uso de servi¸cos de transa¸c˜ao possuem requisitos que tendem a ficar cada vez mais variados, a capacidade de ser extens´ıvel ´e uma caracter´ıstica que tem sido considerada indispens´avel para a nova gera¸c˜ao de servi¸cos de transa¸c˜ao.