Um Mecanismo para a Consistncia de Dados Replicados em Computao Mvel
Jos Maria Monteiro Markus Endler Srgio Lifschitz ngelo Brayner
Departamento de Informtica
PONTIFCIA UNIVERSIDADE CATLICA DO RIO DE JANEIRO RUA MARQUS DE SO VICENTE, 225 - CEP 22453-900 RIO DE JANEIRO - BRASIL
Monografias em Cincia da Computao, No. 21/06 ISSN: 0103-9741 Editor: Prof. Carlos Jos Pereira de Lucena Julho, 2006 Um Mecanismo para a Consistncia de Dados Replicados em Computao Mvel * Jos Maria Monteiro, Markus Endler, Srgio Lifschitz, ngelo Brayner 1
1 Mestrado em Informtica Aplicada Universidade de Fortaleza (UNIFOR) monteiro@inf.puc-rio.br, endler@inf.puc-rio.br, sergio@inf.puc-rio.br, brayner@unifor.br Abstract. The iecenl advances in poilalIe conpulei logelhei vilh lhe deveIopnenls in viieIess connunicalion lechnoIogy aie aIIoving useis of poilalIe equipnenl lo nain- lain lhe nelvoik conneclion vhiIe lhey nove aloul fieeIy, having access lo shaied ie- souices, seivices and infoinalion. This paiadign is caIIed noliIe conpuling. MoliIe conpuling aIIovs foi lhe deveIopnenl of nev and sophislicaled dalalase appIica- lions. Such appIicalions iequiie lhe ieading of cuiienl and consislenl dala. In oidei lo inpiove lhe dala avaiIaliIily, incieases peifoinance and naxinize lhioughpul, dala iepIicalion is used. Hovevei, due lo inheienl Iinilalions in noliIe enviionnenls, vheie lheie is lypicaIIy gieal Iinilalions foi connunicalions lelveen noliIe equip- nenl and pioIonged Iack of conneclion lelveen lhese pieces of equipnenl, naking necessaiy changes in lhe concuiiency conlioI and iepIica conlioI nechanisns le in- pIenenled. This papei pioposes a nev piolocoI lhal guaianlees lhe consislency of iep- Iicaled dala in a noliIe conpuling enviionnenl. Kcywnrds: Concuiiency ConlioI, MoliIe Conpuling, Dala RepIicaled, MoliIe Tians- aclion, Conlexl ased Seivices. Rcsumn. As iecenles evoIues ocoiiidas nos conpuladoies poilleis en conjunlo con os avanos nas lecnoIogias de conunicao sen fio eslo possiliIilando que os usuiios de disposilivos nveis nanlenhan a conexo con a iede enquanlo se novi- nenlan Iivienenle, lendo acesso a iecuisos, seivios e infoinaes conpailiIhadas. Lsle paiadigna conpulacionaI e denoninado de conpulao nveI. A conpulao nveI possiliIila o desenvoIvinenlo de novas e sofislicadas apIicaes en lanco de dados. Tais apIicaes necessilan iecupeiai dados aluais e consislenles. Iaia neIhoiai a disponiliIidade dos dados, ollei ganhos de peifoinance e naxinizai o lhioughpul, a iepIicao de dados e uliIizada. Lnlielanlo, devido as Iinilaes ineienles aos anli- enles nveis, onde lipicanenle h una giande Iinilao paia a conunicao enlie os disposilivos nveis e a iede fixa, aIen da fieqenle e nuilas vezes pioIongada desco- nexo desles disposilivos, loina-se necessiio que nudanas nos necanisnos de con- lioIe de concoiincia e conlioIe de iepIicas sejan inpIenenladas. Lsle lialaIho piope un novo piolocoIo que gaianle a consislncia de lancos de dados iepIicados en an- lienles de conpulao nveI. Pa!avras-chavc: ConlioIe de Concoiincia, Conpulao MveI, Dados RepIicados, Tiansaes Mveis, Seivios aseados en Conlexlo.
ii
Responsvel por publicaes: Rosane Teles Lins Castilho Assessoria de Biblioteca, Documentao e Informao PUC-Rio Departamento de Informtica Rua Marqus de So Vicente, 225 - Gvea 22453-900 Rio de Janeiro RJ Brasil Tel. +55 21 3114-1516 Fax: +55 21 3114-1530 E-mail: bib-di@inf.puc-rio.br Web site: http://bib-di.inf.puc-rio.br/techreports/
1 1 Introduo A inlegiao dos conpuladoies poilleis con as iecenles lecnoIogias de conunicao ceIu- Iai, iedes de conunicao sen fio e seivios via saleIile esl possiliIilando que os usuiios de disposilivos nveis nanlenhan a conexo con a iede enquanlo se novinenlan Iivie- nenle, lendo acesso a iecuisos, seivios e infoinaes conpailiIhadas. Lsle paiadigna conpulacionaI e denoninado de conpulao nveI. Nesle anlienle, os usuiios ln acesso a infoinaes e iecuisos conpailiIhados independenle de onde eslejan IocaIizados e de sua nudana de IocaIizao (noliIidade) |4j. A conpulao nveI possiliIila o desenvoIvinenlo de novas e sofislicadas apIicaes en lanco de dados. ApIicaes de coneicio eIelinico, lais cono IeiIes, ieseiva de ingiessos, pedido e conpia de piodulos, sislenas de geiencianenlo de lifego, ediloiao conpaili- Ihada de docunenlos |4j, so exenpIos de apIicaes de lancos de dados que iequeien su- poile da lecnoIogia de conpulao nveI. Logicanenle, eslas apIicaes necessilan acessai dados aluais e consislenles, apesai do acesso concoiienle aos dados conpailiIhados. Iaia neIhoiai a disponiliIidade dos dados, ollei ganhos de peifoinance e naxinizai o |nrcugnpu|, a iepIicao de dados e uliIizada. A ideia lsica consisle en ainazenai nIlipIas cpias dos ilens de dados en difeienles seividoies, disliiludos aliaves de una iede de conunicao. Assin, as apIicaes poden acessai os dados de quaIquei una das iepIicas, podendo incIusive conlinuai sua execuo, nesno que aIguns dos seividoies faIhen. Lnlie- lanlo, esles lenefcios liazen a necessidade de aluaIizai lodas as cpias de un ilen quando esle foi aIleiado, ou seja, loina-se necessiio nanlei a coeincia enlie os ilens iepIicados nos diveisos seividoies. A iepIicao de dados no e una ideia nova, nas sua uliIizao len, iecenlenenle, ciescido laslanle, devido a nassificao dos anlienles e das lecnoIogias de conpulao nveI. Lsla lecnica len se nosliado de exliena inpoilncia lanlo en iedes nveis quanlo en iedes fiacanenle conecladas, pois possiliIila o conpailiIhanenlo eficien- le dos dados apesai das iesliies inposlas peIos anlienles de conunicao sen fio, lais cono: Linilao na Iaiguia de landa dos canais de conunicao sen fio, noliIidade e fie- qenles desconexes dos disposilivos nveis, noliIidade dos dados e giande nneio de usuiios |7j. Un lanco de dados iepIicado nveI e un lanco de dados disliiludo aliaves de una ie- de sen fio, no quaI nIlipIas cpias dos ilens de dados so ainazenadas en difeienles sei- vidoies. ApIicaes que execulan en un anlienle de lanco de dados iepIicado nveI ne- cessilan acessai dados aluais e consislenles. Desla foina, o SCD deve gaianlii a consis- lncia dos dados, ou seja, que a execuo concoiienle de un conjunlo de liansaes solie un lanco de dados iepIicado sei equivaIenle a una execuo seiiaI solie o nesno lanco de dados no iepIicado (cnc-ccpq da|aoasc), o que e denoninado de cnc-ccpq scria|izaoi|i|q (1SR) peIa Iileialuia. AIen disso, o SCD necessila asseguiai que o eslado das diveisas ie- pIicas iio evenluaInenle conveigii paia un nico eslado finaI consislenle, apesai das ope- iaes leien sido execuladas nas difeienles cpias de foina independenle, se os usuiios paiaien de sulnelei novas opeiaes, o que e denoninado de consislncia evenluaI. Nos liadicionais SCDs iepIicados esle conlioIe e ieaIizado aliaves de un piolocoIo de conlioIe de iepIica (rcp|ica ccn|rc| prc|ccc|), os quais poden sei cIassificados en lis giupos: Prinarq- Ccpq Mc|ncds (lanlen denoninado de pcssinis|ic rcp|ica|icn), Qucrun-Ccnscnsus Mc|ncds e Atai|ao|c-Ccpics Mc|ncds (lanlen conhecido cono cp|nis|ic rcp|ica|icn) |6j. Lnlielanlo, esles piolocoIos ln se nosliado inpipiios paia anlienles de conpulao nveI |7j.
2 Con o oljelivo de soIucionai eficienlenenle o piolIena da consislncia de dados iepIi- cados, en anlienles de conpulao nveI, aIgunas pioposlas ln lenlado ieIaxai o concei- lo de seiialiIidade, luscando foinas nais fiacas de gaianlii a quaIidade dos dados acessa- dos peIos cIienles. Tais nelodos ln sido chanados de uca|cr rcp|ica ccnsis|cncq. Ioien, a naioiia dessas pioposlas iequei inlensa lioca de nensagens |8,9,12j, ou ainda, que as opeia- es que conpes as liansaes, e que so ainazenadas en |cg, sejan ie-execuladas diveisas vezes. Ioi exenpIo, en |1j os seividoies poden necessilai desfazei os efeilos de una lenla- liva de esciila (|cn|a|itc uri|c) pievianenle execulada e execul-Ia novanenle en una oulia oiden. Assin, una dada esciila pode sei execulada diveisas vezes en un nesno seividoi. AIen disso, paia peinilii un neio de adaplaliIidade, aIgunas pioposlas possiliIilan que o giau de consislncia seja adaplado aos viios nveis de coneclividade. Ln |1j islo e ieaIizado seIecionando-se individuaInenle que gaianlias de sesso deseja-se uliIizai. Lnlielanlo, lais gaianlias no possuen una sennlica cIaia, do ponlo de visla da consislncia de dados, ou seja, no e eslaleIecida nenhuna ieIao enlie eslas gaianlias e os nveis de isoIanenlo pa- dionizados peIa ANSI/ISO SQL 92 |3j, e nen so especificados que fennenos so evilados en cada una das gaianlias de sesso. Lsle lialaIho piope un novo necanisno que gaianle a consislncia de dados iepIica- dos (cnc-ccpq scria|izaoi|i|q) e a conveigncia das diveisas iepIicas paia un nico eslado finaI consislenle (consislncia evenluaI), en anlienles de conpulao nveI. Lsse piolocoIo ex- pIoia infoinaes lenpoiais iefeienles ao nonenlo en que un oljelo do lanco de dados iepIicado foi Iido ou aluaIizado. No piolocoIo pioposlo, as opeiaes que conpen as di- veisas liansaes so execuladas una nica vez. Os seividoies no necessilan ainazenai un |cg con lodas as opeiaes ieaIizadas. O necanisno uliIiza un ciileiio de coiieo j consoIidado, a seiialiIidade, e ieIaxa a piopiiedade de isoIanenlo, peinilindo una naioi disponiliIidade dos dados. AIen disso, nossa aloidagen ieduz o nuneio de nensagens liocadas enlie os seividoies. Dessa foina, nosso piolocoIo piocuia gaianlii una econonia no cuslo da uliIizao dos canais de conunicao, na Iinilada capacidade de eneigia dos conpuladoies poilleis e nos seus escassos iecuisos de neniia. Lsle ailigo esl oiganizado da seguinle foina: a seo 2 discule as caiacleislicas dos anlienles de conpulao nveI. A seo 3 caiacleiiza un anlienle de conpulao nveI con seividoies de lancos de dados iepIicados. A seo 4 descieve o nodeIo liansacionaI que uliIizaienos nesle lialaIho. Na seo 5 sei desciilo e anaIisado o piolocoIo pioposlo paia conlioIe da consislncia. Na seo 6 seio disculidos os lialaIhos ieIacionados. A seo 7 concIui esle lialaIho e aponla diiees paia lialaIhos fuluios. 2 Ambientes de Computao Mvel Devido aos iecenles avanos da conpulao e das lecnoIogias de conunicao sen fio po- denos afiinai que a infoinlica esl enliando en una nova ievoIuo, lo piofunda quan- lo as que ocoiieian con o suiginenlo dos conpuladoies pessoais e das iedes de conpula- doies |13j. A nassificao dos disposilivos conpulacionais poilleis e sua inlegiao con as iedes de conunicao sen fio eslo possiliIilando o acesso a infoinao en quaIquei Iugai e a quaIquei nonenlo. Lsle ceniio, denoninado de conpulao nveI, esl aIleiando pio- fundanenle a naneiia cono as pessoas lialaIhan, esludan e usan seu lenpo, aIen de nudai a foina cono as enpiesas ofeiecen seus piodulos e seivios e inleiagen con seus cIienles.
3 Nesla seo, descievenos e anaIisanos as piincipais piopiiedades e caiacleislicas de un anlienle de conpulao nveI. Iiineiianenle apiesenlaienos una aiquileluia iefe- incia paia un anlienle de conpulao nveI, en seguida disculiienos as caiacleislicas, Iinilaes e piolIenas iefeienles a esles anlienles, e, finaInenle, disculiienos os lenefcios e os desafios da uliIizao de lancos de dados iepIicados. 2.1 Arquitetura Clssica para um Ambiente de Computao Mvel Os avanos nas lecnoIogias de conpuladoies poilleis, conunicao ceIuIai, iedes de co- nunicao sen fio e seivios via saleIile eslo piopoicionando o suiginenlo de un novo paiadigna en conpulao, chanado de conpulao nveI. Nesle ceniio, os usuiios, de posse de disposilivos nveis, ln acesso a infoinaes e iecuisos conpailiIhados indepen- denlenenle de onde esles usuiios eslejan IocaIizados e de sua nudana de IocaIizao (noliIidade) |13j. O leino nveI inpIica na capacidade que un conpuladoi possui de novei-se en- quanlo nanlen una conexo con una infia-esliuluia fixa de conunicao. Assin, de na- neiia seneIhanle aos anlienles de conpulao disliiluda, un disposilivo conpulacionaI len acesso a seivios, iecuisos e dados disliiludos, e, adicionaInenle, pode novei-se Ii- vienenle. Desla foina, a conpulao nveI anpIia o conceilo liadicionaI de conpulao disliiluda. Un nodeIo alslialo de una aiquileluia paia un anlienle de conpulao n- veI e nosliada na figuia 2.1. Lsla aiquileluia consisle de un conjunlo de conpuladoies n- veis (MH - Mcoi|c Hcs|) e una iede de aIla veIocidade que inleiconecla fisicanenle conpu- ladoies fixos (IH - |ixcd Hcs|) e eslaes de supoile a noliIidade (MSS - Mcoi|c Suppcr| S|a- |icn). Un conpuladoi nveI e un disposilivo de conpulao inleIigenle que pode novi- nenlai-se Iivienenle ao nesno lenpo en que nanlen sua conexo con a iede fixa aliaves de un |in| (conexo) sen fio. As eslaes de supoile a noliIidade foinecen una inleiface sen fio que peinile aos conpuladoies nveis inleiagii con a iede fixa, lendo acesso a in- foinaes e iecuisos conpailiIhados. Cada MSS e iesponsveI poi una deleininada iegio geogifica, chanada de ceIuIa, lendo cono una de suas laiefas o endeieanenlo dos con- puladoies nveis IocaIizados nesla ceIuIa. Una MSS sonenle pode se conunicai con as unidades nveis que esliveien fisicanenle IocaIizada en sua ceIuIa. Un conpuladoi fixo e un conpuladoi de piopsilo geiaI, que pode disponiliIizai seivios paia os conpuladoies nveis, nas que no e capaz de conunicai-se diielanenle con esles |13j. Ln una pIalafoina de conpulao nveI, podenos nos iefeiii aos conpuladoies n- veis cono cIienles ou usuiios, os quais iequisilan seivios disponiliIizados poi seividoies (conpuladoies fixos) IocaIizados na iede fixa. CIienles nveis e eslaes de supoile a noli- Iidade se conunican aliaves de canais de conunicao sen fio. Lsle canaI, en geiaI, consis- le de dois |in|s, o up|in|, uliIizado paia novei dados dos cIienles paia os as MSSs, e o dcun- |in|, usado paia lianspoilai dados das MSSs paia os cIienles.
4
2.2 Caractersticas de um Ambiente de Computao Mvel Cono afiinado anleiioinenle, un anlienle de conpulao nveI apiesenla caiacle- islicas laslanle pailicuIaies. Denlie eIas, deslacan-se |13, 14j:
(I) LImItan dc EncrgIa nns Cnmputadnrcs MvcIs Os conpuladoies nveis dependen de laleiias paia funcionai. AluaInenle, as laleiias disponveis no neicado so ieIalivanenle pesadas e s conseguen ainazenai eneigia paia aIgunas hoias de uso. Lsle piolIena e vislo cono o naioi enpeciIho no uso de conpulado- ies nveis. InfeIiznenle, a lecnoIogia de consliuo de laleiias no len aconpanhado o ciescinenlo de oulios segnenlos da infoinlica e a evoIuo pievisla no nuda esse cen- iio |7j. Logo, o geiencianenlo de eneigia e un piolIena inpoilanle e deve sei lialado lanlo peIo haidvaie quanlo peIo soflvaie. Ioilanlo, eneigia e un iecuiso Iinilado en conpula- doies nveis, e o seu consuno deve sei nininizado. A fin de conseivai eneigia e eslendei o lenpo de vida da laleiia, o cIienle enlia no nodo dczc (s|and oq ncdc), no quaI o cIienle no esl alivanenle esculando o canaI de conunicao con o seividoi. Os cIienles gaslan una quanlidade de eneigia significalivanenle nenoi no nodo dczc que no nodo alivo, Iogo una das piincipais nelas en conpulao nveI e nininizai o lenpo que o cIienle deve gaslai no nodo alivo paia iecupeiai os ilens de dados do seu inleiesse. (II) Lnnga Dcscnncxn dns C!Icntcs Un conpuladoi nveI pode passai Iongos peiodos de lenpo desconeclado, devido as Iinilaes de eneigia da laleiia e da pipiia noliIidade da nquina, pois pode novei-se paia una iea no coleila peIo sislena de conunicao. Iiguia 2.1. Aiquileluia CIssica paia un Anlienle de Conpulao MveI
5 (III) Transacs dc Lnnga Duran A evenluaI e fieqenle desconexo dos cIienles pode fazei con que as liansaes n- veis que acessan dados dos seividoies sejan de Ionga duiao. (Iv) Dcvc scr Esca!nnvc! O nneio de cIienles nas apIicaes en anlienles nveis lende a ciescei iapidanenle. Desla foina, una pIalafoina de conpulao nveI deve eslai apla a supoilai un giande nneio de cIienles. (v) CnmunIcan Assncrnna cntrc C!Icntcs c 5crvIdnrcs Ln una iede de conunicao sen fio o cuslo paia nanlei un seividoi s|a|cfu|| chega a sei pioililivo. Ioi isso, nesles anlienles, os seividoies ln una Iaiguia de landa ieIaliva- nenle aIla paia disseninai infoinaes (dcu|in|), enquanlo os cIienles no poden liansni- lii dados ou, se o fazen, e solie un |in| con laixa Iaiguia de landa (up|in|).
2.3 Replicao de Dados em Computao Mvel
Un lanco de dados iepIicado e un lanco de dados disliiludo no quaI nIlipIas c- pias de paile dos ilens de dados so ainazenadas en diveisos seividoies (figuia 2.2). A ie- pIicao de dados liaz as seguinles vanlagens |6j: 1. Mc!hnr DIspnnIbI!Idadc dc Dadns: Os dados conlinuan disponveis, ou seja, as apIicaes poden conlinuai sua execuo, nesno que aIguns dos seividoies faIhen. 2. Ganhns dc Pcrfnrmancc: Una vez que exislen viias cpias de cada ilen de dado, as apIicaes poden usai as cpias que esliveien fisicanenle nais pi- xinas, peinilindo un acesso nais ipido aos dados e ieduzindo o lifego no neio de conunicao. 3. MaInr Throughut: Cono exislen viias cpias de cada ilen de dado en dife- ienles Iocais, a conleno no acesso aos ilens de dados lende a sei nenoi, o giau de concoiincia lende a sei naioi e assin o nneio de liansaes concIu- das poi unidade de lenpo sei naioi. Lnlielanlo, esles lenefcios liazen a necessidade de aluaIizai lodas as cpias de un ilen quando esle foi aIleiado. Assin, as Ieiluias lenden a sei nais ipidas e as esciilas nais Ien- las. AIen disso, SCD deve gaianlii que a execuo concoiienle de un conjunlo de liansa- es solie un lanco de dados iepIicado sei equivaIenle a una execuo seiiaI solie o nesno lanco de dados no iepIicado (cnc-ccpq dalalase), o que e denoninado de cnc-ccpq scria|izaoi|i|q (1SR) peIa Iileialuia. Nos liadicionais SCDs iepIicados islo e ieaIizado alia- ves de un piolocoIo de conlioIe de iepIica (rcp|ica ccn|rc| prc|ccc|), os quais poden sei cIassi- ficados en lis giupos:
6 1. Prlmar-Co Method: Lsle nelodo assune que lodo ilen de dado iepIicado len una oiden pie-definida, ou seja, cada cpia de un deleininado ilen len un nneio de seqncia. A cpia diielanenle nanlida peIo seu piopiieliio e chanada de prinarq ccpq, e ocupa o piineiio Iugai na seqncia. As denais ie- pIicas so chanadas de cpias secundiias. As opeiaes de esciila so senpie execuladas iniciaInenle solie a cpia piiniia (prinarq ccpq) e depois piopa- gada paia as denais iepIicas de foina snciona ou assnciona. } una opeiao de Ieiluia pode sei execulada solie quaIquei cpia. Ioi isso, esle nelodo e chanado de Rcad-A||-lri|c-Onc. Se una liansao I vaiias cpias e depois descolie que eIas foian aluaIizadas e que o piocesso de piopagao eslava en andanenlo, ou seja, que o vaIoi Iido eslava desaluaIizado, enlo eIa deve sei aloilada. Ln caso de faIha no n que nanlen una cpia piiniia de un de- leininado ilen, o pixino n na seqncia (do ilen) deve assunii o conpoi- lanenlo de cpia piincipaI. Lsle necanisno e vuIneiveI a faIhas de conunica- o e piopoiciona un oveihead na piopagao das aluaIizaes. 2. Quorum-Consensus Method: Nesle nelodo una opeiao s sei execulada se ollei un deleininado nneio de volos de peinisso (quoiun) de un giupo de seividoies. Ln geiaI, so definidos un quoiun paia Ieiluia e oulio paia es- ciila. Quando una inconsislncia e deleclada duianle una volao, o piocesso de ieconciIiao e iniciado con a finaIidade de sincionizai os vaIoies das c- pias (dos seividoies envoIvidos na volao). A liansao que faIhou duianle a volao e geiaInenle aloilada. Lsle nelodo apiesenla piolIenas de peifoi- nance una vez que len giande oveihead de conunicao enlie os ns. 3. Atal|ab|e-Coles Method: Lsle nelodo lanlen e conhecido cono iepIicao olinisla (cp|inis|ic rcp|ica|icn). Duianle una opeiao de esciila lodas as cpias acessveis so aluaIizadas. As Ieiluias poden sei execuladas solie quaIquei ie- pIica disponveI. As liansaes poden sei execuladas nesno que aIgunas co- pas (seividoies) eslejan inacessveis. Ioien, quando esles seividoies se iecu- peiaien, ou seja, se loinaien novanenle acessveis, as inconsislncias deven sei delecladas e aIgunas opeiaes de conveigncia deven sei execuladas a fin de sincionizai os vaIoies dos dados (cpias). Tiansaes que acessaian da- dos inconsislenles deven sei aloiladas. Nesle nelodo, as opeiaes de Ieiluia e esciila poden sei execuladas con giande peifoinance. Lnlielanlo, os lesles paia vaIidao e ieconciIiao iequeien eIevado lifego de nensagens. Quan- do o peiodo de lenpo en que un seividoi fica inacessveI ciesce, a eficincia do nelodo e conpionelida devido ao giande nneio de opeiaes de convei- gncia e ao inlenso lifego de nensagens geiado no piocesso de ieconciIiao. InfeIiznenle, esles aIgoiilnos no so adequados paia anlienles de conpulao n- veI, onde lipicanenle h una giande Iinilao paia a conunicao enlie os disposilivos nveis e a iede fixa, aIen da fieqenle e nuilas vezes pioIongada desconexo desles dispo- silivos.
7 Os liadicionais aIgoiilnos paia iepIicao pessinisla, cono poi exenpIo, o popuIai aI- goiilno prinarq-ccpq, foinecen una sennlica conhecida cono sing|c-ccpq ccnsis|cncq, na quaI os usuiios ln a iIuso de eslaien uliIizando una nica, e aIlanenle disponveI, cpia do lanco de dados. Ln geiaI, esles aIgoiilnos lIoqueian o acesso aos dados iepIicados de- saluaIizados ale que esles eslejan aluaIizados. Lslas lecnicas funcionan ieIalivanenle len en iedes Iocais, onde as Ialncias so pequenas e as faIhas no nuilo conuns. Mas, no a- piesenlan loa peifoinance en iedes sen fio devido as aIlas Ialncias da iede, a inleiniln- cia da conexo dos disposilivos nveis e a laixa escaIaliIidade. } os necanisnos laseados en quoiun (Qucrun-Ccnscnsus Mc|ncds) iequeien eIevado lifego de nensagens, devido aos piocessos de volao. Os aIgoiilnos de iepIicao olinisla, poi sua vez, peinilen que o usuiio acesse dados desaluaIizados, de una foina conlioIada, aunenlando a disponiliIi- dade dos dados, o que e pailicuIainenle inpoilanle paia anlienles sen fio. Ioien, os les- les paia vaIidao e ieconciIiao iequeien eIevado lifego de nensagens, o que conpio- nele a eficincia desles nelodos.
Iiguia 2.2.a. Una possveI aiquileluia de CM con seividoies iepIicados.
8
Iiguia 2.2.l. Una possveI aiquileluia de CM con seividoies iepIicados en anlienles paiciaInenle coneclados (fiaca coneclividade).
9 3 Ambiente de Computao Mvel com Replicao de Dados Un lanco de dados iepIicado nveI e un lanco de dados disliiludo aliaves de una iede sen fio, no quaI nIlipIas cpias dos ilens de dados so ainazenadas en difeienles seivido- ies. Os seividoies peinilen acesso (Ieiluia e esciila) aos dados iepIicados nesno quando eslo desconeclados do ieslanle do sislena de conunicao. As apIicaes poden acessai os dados de quaIquei una das iepIicas, podendo incIusive conlinuai sua execuo, nesno que aIguns dos seividoies faIhen. Desla foina, pode-se ollei ganhos de peifoinance, aunenlai a disponiliIidade dos dados e naxinizai a vazo (|nrcugnpu|). Tais piopiiedades so paili- cuIainenle inpoilanles paia anlienles de conunicao sen fio, onde os cIienles nveis poden se desconeclai poi Iongos peiodos de lenpo, fazendo con que as liansaes que execulan nesles disposilivos sejan de Ionga duiao. Lnlielanlo, esles lenefcios liazen a necessidade de aluaIizai lodas as cpias de un i- len quando esle foi aIleiado, ou seja, loina-se necessiio nanlei a coeincia enlie os ilens iepIicados nos diveisos seividoies. ConfIilos enlie aluaIizaes execuladas en difeienles iepIicas podeio ocoiiei, o que podei conduzii un nesno a oljelo a eslados dislinlos, en un nesno inslanle de lenpo. Logicanenle, a diveigncia enlie os eslados das difeienles iepIicas, deve sei evilada ou nininizada. Iaia gaianlii a consislncia dos dados, nedianle o acesso concoiienle nas diveisas iepIicas, e a evenluaI conveigncia das iepIicas paia un nesno eslado finaI consislenle (consislncia evenluaI), un piolocoIo de conlioIe de iepIica deve sei uliIizado. 4 Modelo Transacional Un lanco de dados consisle de una coIeo de oljelos que iepiesenlan enlidades do nun- do ieaI. O conjunlo de vaIoies de lodos os oljelos ainazenados en un lanco de dados nun dado inslanle de lenpo e chanado eslado do lanco de dados. O nundo ieaI inpe ceilas iesliies solie as suas enlidades. Logo, os lancos de dados deven capluiai lais iesliies, chanadas iesliies de consislncia. Se os oljelos do lanco de dados, en un dado inslanle, salisfazen lodas as iesliies de consislncia dizenos que o eslado do lanco de dados e consislenle. Os vaIoies desles oljelos poden sei Iidos e nodificados peIas liansaes. Una liansao e una alsliao que iepiesenla una seqncia finila de opeiaes de Ieiluia e es- ciila solie os oljelos do lanco de dados. A nolao ii(x) e vi(x) sei uliIizada paia iepiesen- lai opeiaes de Ieiluia e esciila execuladas poi una liansao Ti solie un oljelo x. Aliaves de OI(Ti) sei iepiesenlado o conjunlo de lodas as opeiaes execuladas peIa liansao Ti. Vanos assunii que a execuo de una liansao pieseiva a consislncia do lanco de dados, caso essa liansao seja execulada poi conpIelo e de foina isoIada das denais liansaes. A execuo concoiienle de un conjunlo de liansaes e ieaIizada aliaves do enlieIaa- nenlo das opeiaes que conpen as viias liansaes. Lsse enlieIaanenlo pode Ievai o lanco de dados a un eslado inconsislenle. Logo, loina-se necessiio definii quando una execuo concoiienle de liansaes esl coiielanenle enlieIaada, pioduzindo, assin, un eslado consislenle do lanco de dados. Daqui en dianle chanaienos una execuo coiiela- nenle enlieIaada de execuo coiiela. Una hisliia ou scncdu|c gIolaI indica a oiden na quaI as opeiaes de un conjunlo de liansaes so execuladas con ieIao unas con as oulias. Duas opeiaes de difeienles liansaes confIilan (ou eslo en confIilo) se e sonen- le se eIas acessan o nesno oljelo do lanco de dados e peIo nenos una deIas e una opeia- o de esciila. A nolao p <S q indica que a opeiao p foi execulada anles da opeiao q no scncdu|c gIolaI S.
10 Seja S un scncdu|c gIolaI solie un conjunlo de liansaes T=|T1, T2, ... , Tn. O giafo de seiiaIizao paia S, iepiesenlado poi CS(S), e definido cono o giafo diiecionado CS(S) = (N,A) no quaI cada n en N coiiesponde a una liansao en T. O conjunlo A conlen as aieslas na foina Ti Tj, se e sonenle se Ti, Tj N e exislen duas opeiaes p OI(Ti), q OI(Tj), onde p confIila con q e p <S q. Un scncdu|c gIolaI S e seiiaIizveI poi confIilo se e sonenle se o giafo de seiiaIizao paia S e accIico. Un scncdu|c S e coiielo se eIe foi seiiaI ou seiiaIizveI poi confIilo |5j. Un lanco de dados iepIicado nveI e un lanco de dados disliiludo aliaves de una iede sen fio, no quaI nIlipIas cpias dos ilens de dados so ainazenadas en difeienles seividoies. A nenoi unidade de iepIicao e denoninada de oljelo. Una iepIica e una c- pia de un oljelo, ainazenada en un deleininado ncs| (seividoi). Un seividoi pode aina- zenai iepIicas de nIlipIos oljelos, poien, as vezes uliIizanos o leino iepIica cono sin- nino de seividoi (ncs|). Os seividoies (ncs|s) que poden aluaIizai suas iepIicas so denoni- nados de seividoies nas|cr (nas|cr si|cs), paia difeienciai daqueIes cujas iepIicas (dados ie- pIicados) so sonenle de Ieiluia. O snloIo N e uliIizado paia denolai o nneio lolaI de iepIicas e M paia denolai o nneio de iepIicas nas|cr, paia un dado oljelo. Conunenle lenos: M=1 (sing|c-nas|cr sqs|cns) e M=N (nu||i-nas|cr sqs|cns). O necanisno pioposlo nes- le lialaIho uliIiza o esquena nu||i-nas|cr, ou seja, rcadq-anq/ uri|c-anq. Os seividoies peini- len o acesso (Ieiluia e esciila) aos dados iepIicados nesno quando eslo desconeclados. Iaia aluaIizai un deleininado oljelo, una apIicao cIienle sulnele una opeiao (esciila) a un dos seividoies iepIicados. Cada seividoi iepIicado uliIiza o nveI de isoIanen- lo rcad unccnni||cd. Ao iecelei una opeiao de esciila, o seividoi execula a opeiao en sua cpia IocaI, e o cIienle conlinua sua execuo noinaInenle, consideiando a aluaIizao cono ieaIizada. As aluaIizaes ieaIizadas en un deleininado seividoi iepIicado no so inedialanenle enviadas paia os denais seividoies. Tais aluaIizaes so consideiadas una lenlaliva (|cn|a|itc uri|c). ConfIilos enlie aluaIizaes execuladas nas difeienles iepIicas po- deio ocoiiei, o que podei conduzii un nesno oljelo a eslados dislinlos, en un nesno inslanle de lenpo. Iaia gaianlii a consislncia dos dados, nedianle o acesso concoiienle nas diveisas iepIicas, e a evenluaI conveigncia das iepIicas paia un nesno eslado finaI consis- lenle (consislncia evenluaI), un seividoi piiniio (prinarq ccpq) e uliIizado. Una foina de lialai esle piolIena e deleclai as opeiaes que eslo en confIilo e iesoIv-Ios, aloilando una das liansaes envoIvidas, poi exenpIo. Desla foina, os seividoies iepIicados necessi- lan conunicai, en lackgiound, as opeiaes ieaIizadas en suas cpias Iocais, paia o seivi- doi piiniio. O leino ccnni|ncn| iefeie-se ao aIgoiilno uliIizado paia asseguiai a convei- gncia das iepIicas paia un nesno eslado conun. Nesle lialaIho, assuninos que o anlienle de conpulao nveI a sei consideiado consisle en un sislena assnciono, no quaI os cIienles nveis apiesenlan una conexo in- leinilenle e os seividoies poden, evenluaInenle, faIhai. Iailies na iede poden ocoiiei, iesliingindo a coneclividade enlie os seividoies IocaIizados en difeienles pailies. Nesle caso, sonenle os seividoies na nesna pailio do seividoi piiniio podeiian efelivai suas liansaes. As liansaes dos denais seividoies seiian consideiadas liansaes de lenlali- va, sendo sincionizadas quando a conexo con o seividoi piiniio foi ie-eslaleIecida. Con- sideia-se que o seividoi piiniio pode, evenluaInenle, faIhai. Assin, un aIgoiilno de eIei- o deve sei uliIizado paia a escoIha de un novo seividoi piiniio. Lnlielanlo, assuninos que o conjunlo dos seividoies funciona cono un seivio de un nidd|cuarc disliiludo, on- de, nesno que faIhas evenluais ocoiian, a iecupeiao se dai con una peifoinance ia- zoveI.
11 5 Um Novo Mecanismo para a Consistncia de Dados Replicados Nesla seo, ns iienos definii un piolocoIo de conlioIe de concoiincia que gaianle o a- cesso a dados consislenles e aluais poi paile de apIicaes en anlienles de conpulao nveI con lancos de dados iepIicados. Ln seguida, iIusliaienos, a pailii de un exenpIo, o funcionanenlo do necanisno pioposlo. 5.1. Princpios Gerais O piolocoIo pioposlo foi piojelado paia anlienles de conpulao nveI foinados poi un conjunlo de seividoies de lancos de dados iepIicados e poi disposilivos poilleis fiaca- nenle coneclados. Na aiquileluia en queslo, un cIienle e un seividoi poden co-exislii en un deleininado ncs| (fixo ou nveI), ou poden execulai de foina isoIada. Nesles anlien- les os canais de conunicao so inslveis e nen senpie un seividoi esl disponveI ou aI- canveI. Assin, lanlo os seividoies quanlo os disposilivos nveis poden sei visuaIizados cono un ponlo en un nodeIo ponlo a ponlo (pccr-|c-pccr), onde seividoies e cIienles eslo coneclados de foina inleinilenle uns con os oulios. Iaia neIhoiai a disponiliIidade dos dados, ollei ganhos de peifoinance e naxinizai a vazo, a iepIicao de dados e uliIizada. Assin, cada lanco de dados e inleiianenle iepIi- cado en un conjunlo de seividoies. Desla foina, as apIicaes no necessilan se iesliingii a uliIizai un nico seividoi, nas poden inleiagii con quaIquei seividoi con o quaI consi- gan se conunicai, ou seja, os cIienles poden execulai lanlo Ieiluias quanlo esciilas en quaIquei un dos seividoies, con os quais possa eslaleIecei una conunicao. Iaia isso, e uliIizado un esquena de iepIicao rcad-anq/uri|c-anq. Lsle esquena piopoiciona un neio de adaplaliIidade, una vez que o cIienle pode, dependendo de sua coneclividade, uliIizai, poi exenpIo, o seividoi que eslivei nais pixino (econonizando eneigia). Lnlielanlo, e possveI que os cIienles ollenhan vaIoies inconsislenles quando Ien dados de difeienles iepIicas. Ioi exenpIo, un usuiio pode Iei o vaIoi de un deleininado ilen de dado, en un seividoi A, e posleiioinenle ao execulai esla opeiao novanenle, en un seividoi , pode ollei un vaIoi anleiioi ao vaIoi Iido iniciaInenle. Oulio piolIena seiio ocoiie nesno quando un nico usuiio ou apIicao esl aluaIizando os dados. Suponha que un usuiio nveI execulou una opeiao de esciila en un seividoi A, e nais laide lenlou Iei o nesno ilen de un oulio seividoi , caso o uIlino seividoi ainda no lenha sido infoinado da a- luaIizao ocoiiida en A, o cIienle ii ollei un vaIoi inconsislenle. Iaia evilai ou ieduzii as inconsislncias olseivadas peIos cIienles quando acessan difeienles seividoies, un pioloco- Io de conlioIe de concoiincia e de conlioIe de iepIicas deve sei uliIizado. RepIicas de difeienles seividoies poden apiesenlai conledos dislinlos. Islo e, D(S1,l), ou seja o eslado do lanco de dados no seividoi iepIicado S1 no inslanle de lenpo l, no e necessaiianenle equivaIenle a D(S2,l) paia quaisquei dois seividoies S1 e S2. Lnlielanlo, na pilica, os sislenas usuaInenle desejan alingii una consislncia evenluaI na quaI os seivi- doies conveigen paia una cpia idnlica. A fin de aunenlai a laxa con que as liansaes so efelivadas (|nrcugnpu|) e dininuii o lenpo necessiio paia a conveigncia das diveisas iepIicas, una adaplao do esquena denoninado prinarq-ccnni|, pioposlo en |1j, e uliIizada. Assin, un seividoi designado cono piiniio len a iesponsaliIidade de sincionizai e execulai o ccnni| das aluaIizaes, ou seja, loin-Ias peinanenle. As esciilas j consoIidadas (ccnni||cd uri|cs) geian novas veises dos ilens de dados, que deven sei piopagadas paia os denais seividoies.
12 O piolocoIo no incIui a noo de opeiao desconeclada (onde o cIienle acessa os da- dos Iocais e, quando a conexo e ie-eslaleIecida, execula un piocedinenlo de ieinlegiao ou sincionizao) una vez que viios nveis de coneclividade so possveis. Sendo necess- iio apenas que ocasionaInenle a conunicao enlie cada seividoi e o seividoi piiniio (prinarq-ccnni|), ou piovedoi de seivio, aconlea. Assin, o sislena liala a coneclividade inleinilenle da iede. Ioi exenpIo, un deleininado seividoi pode se desconeclai do ieslan- le do sislena e ainda assin conlinuai sendo uliIizado peIos cIienles. O piolocoIo pioposlo, e laseado en una eslialegia siniIai a uliIizada peIo necanisno de lesle do giafo de seiiaIizao lenpoiaI pioposlo en |5j: o noniloianenlo e geiencianen- lo dinnico de un giafo que deve sei senpie accIico. AdicionaInenle, esle piolocoIo expIo- ia infoinaes lenpoiais iefeienles ao nonenlo en que un ilen de dado foi Iido ou aluaIi- zado. No piolocoIo pioposlo, as funes paia o conlioIe de concoiincia eslo disliiludas enlie os cIienles, seividoies e o seividoi piiniio (piovedoi do seivio de consislncia). Ioi- lanlo, assuninos que o seividoi piiniio, os denais seividoies (iepIicas) e os cIienles apie- senlan funcionaIidades especficas paia o geiencianenlo das liansaes. A seguii descieve- ienos eslas funcionaIidades. Aps o ccnni| de una deleininada liansao Ti, o seividoi piiniio piopaga os novos vaIoies dos ilens de dados aluaIizados poi Ti, junlanenle con os naicadoies de lenpo coi- iespondenles (nuneio de veiso), paia lodas as iepIicas con as quais livei conunicao. Lsles naicadoies so definidos da seguinle foina: - Cada ilen de dado (x) en D(Si), onde O<iN, e associado a un naicadoi de lenpo (|incs|anp) C(x), - Cada opeiao (esciila ou Ieiluia) de una liansao Ti, Ii(x), lanlen esl associada a un naicadoi de lenpo (|incs|anp) iepiesenlado poi C(Ii(x)), - Un naicadoi de lenpo consisle en un pai oidenado (z,y). A piineiia paile (z) se- i denoninada veiso, j a segunda paile (y) sei chanada de sul-veiso, - IniciaInenle C(x) = (O,O) x D, en loda iepIica Rj, onde O<jN, - A veiso de C(x), ou seja, z, e incienenlada a cada ccnni| de una liansao quaI- quei Ti que execula una opeiao de esciila solie x (nova veiso de x), - A cada ccnni| de una liansao que pioduz una nova veiso de x, con C(x) = (v,O), onde v>O, esla nova veiso, junlanenle con o seu novo naicadoi de lenpo, e enviada peIo seividoi piiniio paia lodas as iepIicas Rj (con as quais livei conuni- cao), - Difeienles eslialegias poden sei uliIizadas paia o envio dos novos vaIoies dos ilens de dados e das novas veises, do seividoi piiniio (copia piincipaI) paia as denais iepIicas, possiliIilando un neio de adaplaliIidade, onde as infoinaes de conlex- lo, cono poi exenpIo: quaIidade do sinaI, nveI de eneigia e neniia disponveI, poden sei consideiadas. Lslas eslialegias seio disculidas posleiioinenle, - A sul-veiso de C(x), ou seja, y, e incienenlada a cada esciila de una liansao a- liva (no efelivada, ou seja, unccnni||cd) quaIquei Ti, que escieveu en x, en quaI- quei iepIica Rj, A cada opeiao de Ieiluia ii(x) Ti (que pode sei execulada en quaIquei una das ie- pIicas Rj), o seividoi iepIicado uliIizado (Rj) guaida o vaIoi e o idenlificadoi do ilen Iido, junlanenle con o naicadoi de lenpo coiiespondenle, C(ii(x)), o quaI coiiesponde ao vaIoi coiienle do naicadoi de lenpo do ilen Iido, x, na sua cpia IocaI, ou seja, C(x)Rj, e associa esles vaIoies a opeiao execulada ii(x). A cada opeiao de esciila vi(x) Ti (que pode sei execulada en quaIquei una das ie- pIicas Rj), o seividoi iepIicado uliIizado (Rj) incienenla o vaIoi da sul-veiso (y) do naica-
13 doi de lenpo do ilen Iido (x), en sua cpia IocaI (Rj). Ln seguida, o seividoi Rj, guaida o vaIoi e o idenlificadoi do ilen aluaIizado, junlanenle con o naicadoi de lenpo coiiespon- denle, C(vi(x)), o quaI coiiesponde ao vaIoi coiienle do naicadoi de lenpo do ilen Iido, x, na sua cpia IocaI, ou seja, C(x)Rj, e associa esles vaIoies a opeiao efeluada (vi(x)). Ieiiodicanenle, cada seividoi iepIicado (Rj) deve enviai un pacole (nensagen) ao seividoi piiniio conlendo as opeiaes de Ieiluia e esciila execuladas ale o nonenlo en sua cpia IocaI, junlanenle con os seus iespeclivos naicadoies de lenpo, aIen do seu pi- piio idenlificadoi (Rj). As opeiaes j infoinadas no piecisan sei enviadas novanenle. Lslas infoinaes so iecelidas poi un escaIonadoi (scncdu|cr), no seividoi piiniio, e so uliIizadas paia sincionizai as opeiaes das diveisas liansaes, geiando un enlieIaanen- lo coiielo, ou seja, que pieseiva (segundo aIgun ciileiio de coiieo) a consislncia dos da- dos iepIicados. Quando un cIienle iecele un pedido de ccnni| ou aocr| paia una liansao nveI Ti, eIe deve sulnelei esle pedido a quaIquei un dos seividoies iepIicados (Rj), o quaI ii iepas- sai esla iequisio ao seividoi piiniio. No caso da opeiao de ccnni| deve sei enviando lanlen o nneio de opeiaes da liansao Ti. AdicionaInenle o cIienle Ci pode enviai a nensagen conlendo a soIicilao de ccnni| de una liansao Ti diielanenle paia o seividoi piiniio. O cIienle deve espeiai a iesposla paia efeluai a opeiao de ccnni| ou de aocr|. Caso esgole-se un |inccu| e o cIienle no iecela a iesposla paia o seu pedido de ccnni|, aI- gunas aIleinalivas poden sei escoIhidas: ieaIizai o aocr| da liansao Ti ou definii Ti cono una liansao de lenlaliva, ou seja, una liansao concIuda cujas esciilas poden no sei efelivadas. AdicionaInenle, se a liansao Ti e una liansao sonenle de Ieiluia (rcad cn|q), o cIienle pode-se decidii peIa concIuso da nesna, ficando cienle de que esla pode lei Iido vaIoies inconsislenles. Con esla finaIidade, infoinaes de conlexlo poden sei uliIizadas cono un neio de adaplaliIidade. Ioi exenpIo, se o nveI de eneigia esl laixo e a quaIida- de do sinaI no e loa, a desconexo e eninenle. Nesle caso, o cIienle pode oplai poi concIuii sua liansao cono una lenlaliva, ou seja, lendo o conhecinenlo de que suas esciilas po- den no sei efelivadas, ou seja, poden sei desfeilas, e que suas Ieiluias poden lei acessado vaIoies inconsislenles (lenpoiiios). Caso conliiio, o cIienle pode espeiai un pouco nais, pois, piovaveInenle, a conexo con o seividoi Rj, ou nesno con o seividoi piiniio, sei ie-eslaleIecida. A aloidagen pioposla paia asseguiai a consislncia dos dados iepIicados laseia-se na conpaiao dos naicadoies de lenpo associados a cada opeiao de Ieiluia e esciila, pei- lencenles as diveisas liansaes, e que so execuladas solie difeienles iepIicas. A conpaia- o enlie dois naicadoies de lenpo C(qj(x)) e C(pi(x)) e ieaIizada da seguinle foina: Supo- nha, sen peida de geneiaIidade, que C(qj(x)) = a.l e C(pi(x)) = c.d. Se a > c enlo C(qj(x)) > C(pi(x)). Agoia, se a = c, deve-se veiificai o vaIoi da sul-veiso (segunda paile do vaIoi iefe- ienle ao naicadoi de lenpo). Desla foina, se a = c e l > d, enlo, C(qj(x)) > C(pi(x)). No caso en que a = c e l = d, C(qj(x)) = C(pi(x)). 5.2 Protocolo de Controle de Rplica Un escaIonadoi (scncdu|cr) inpIenenlando o piolocoIo pioposlo funciona cono descii- lo a seguii. Quando un escaIonadoi inicia sua execuo o CST e ciiado cono un giafo vazi- o. Con lase no naicadoi de lenpo desciilo no paigiafo anleiioi, o giafo de seiiaIizao lenpoiaI e consliudo cono desciilo alaixo: Passn 1. Iaia cada opeiao pi(x) OI(Ti) que o escaIonadoi iecele, eIe checa se exis- le una opeiao qj(x) OI(Tj) que confIila con pi(x) e que j foi escaIonada. Caso qj(x) exis- la, una aiesla sei inseiida enlie Ti e Tj, da seguinle foina:
14 Se C(qj(x)) < C(pi(x)) Lnlo o escaIonadoi inseie una aiesla da foina Tj Ti . Seno Se C(qj(x)) > C(pi(x)) una aiesla da foina Ti Tj sei inseiida no giafo. Seno // C(qj(x)) = C(pi(x)) Se pi(x) e qj(x) foian execuladas na nesna iepIica (cpia) Se pi(x) e una opeiao de esciila e qj(x) e una Ieiluia una aiesla da foina Ti Tj sei inseiida no giafo. Se pi(x) e una opeiao de Ieiluia e qj(x) e una esciila una aiesla da foina Tj Ti sei inseiida no giafo. Se pi(x) e qj(x) foian execuladas en iepIicas dislinlas Se pi(x) e una opeiao de esciila e qj(x) e una Ieiluia una aiesla da foina Tj Ti sei inseiida no giafo. Se pi(x) e una opeiao de Ieiluia e qj(x) e una esciila una aiesla da foina Ti Tj sei inseiida no giafo. Se pi(x) e qj(x) so opeiaes de esciila o escaIonadoi inseie una aiesla da foina Tj Ti no giafo. Passn 2. O escaIonadoi veiifica se a nova aiesla inlioduz un cicIo no giafo de seiiaIi- zao lenpoiaI. Ln caso afiinalivo, o escaIonadoi iejeila a opeiao pi(x), desfaz o efeilo das opeiaes de Ti , ienove a aiesla inseiida e avisa ao cIienle Ci solie o aocr| da liansao Ti. Caso conliiio, pi(x) e aceila e escaIonada. Passn 3. Ao iecelei un pedido de ccnni|, de una liansao Ti, junlanenle con o nneio de opeiaes de Ti, o escaIonadoi veiifica se j ieceleu e escaIonou lodas as opeia- es da liansao Ti e se esla ainda e una liansao aliva. Nesle caso o ccnni| sei concedi- do e a liansao efelivada. Caso o escaIonadoi no lenha iecelido ainda lodas as opeiaes de Ti , eIe deve ielaidai a iesposla. Iode aconlecei ainda que a liansao Ti j lenha sido an- leiioinenle aloilada e que a infoinao do aocr| no lenha chegado na apIicao cIienle. Nesle caso c aocr| e ie-enviado ao cIienle. Aps efelivai a liansao Ti, o escaIonadoi incie- nenla a veiso (naicadoi de lenpo) de lodos os ilens de dados aluaIizados poi Ti, da se- guinle naneiia: x aluaIizado poi Ti faa C(x) = (z,y) iecelei (z+1, O). Ln seguida, os novos vaIoies dos ilens de dados aluaIizados poi Ti, junlanenle con os novos naicadoies de len- po, deven sei piopagados paia lodas as iepIicas con as quais o seividoi piiniio livei co- nunicao. Caso aIgun seividoi iepIicado Rj esleja foia da iea de conunicao, o seu iden- lificadoi deve sei ainazenado en |cg, paia que posleiioinenle o escaIonadoi lenle o ie- envio deslas infoinaes. Passn 4. Ao iecelei un pedido de aocr|, de una liansao Ti, o escaIonadoi, desfaz o efeilo das opeiaes de Ti, ienove a aiesla iefeienle a esla liansao e envia a confiinao do aocr| ao cIienle Ci. 5.3. Exemplo de Aplicao Iaia iIusliai a apIicaliIidade e uso de nossa pioposla, vanos lonai cono exenpIo una a- pIicao de coneicio eIelinico onde os diveisos piodulos so disponiliIizados paia venda nedianle a ieaIizao de un IeiIo eIelinico. Consideie que paia neIhoiai a disponiliIida- de dos dados, ollei ganhos de peifoinance e naxinizai a vazo, o lanco de dados piincipaI (consoIidado), DIC, foi iepIicado en dois oulios ncs|s (R1 e R2), ou seja, exislen dois seivi-
15 doies iepIicados con una cpia (lolaI ou paiciaI) do lanco de dados (DR1 e DR2). Lsla con- figuiao e nosliada na figuia 5.1. Consideie ainda o seguinle conjunlo de liansaes, as quais Ien e aluaIizan (efeluan Iances) os vaIoies dos piodulos a venda:
Consideie agoia o scncdu|c S1 apiesenlado na figuia 5.2.
Iiguia 5.2. ScheduIe S1.
Vanos assunii que no ceniio de execuo apiesenlado na figuia 5.2 as opeiaes fo- ian lenpoiaInenle execuladas na oiden apiesenlada. O giafo de seiiaIizao paia o scncdu- |c S1 e iIusliado na figuia 5.4 (a). Olseive que esse giafo no apiesenla un cicIo. Ioilanlo, o scncdu|c S1 podeiia sei consideiado seiiaIizveI poi confIilo (coiielo). Lnlielanlo, se olsei- vainos o vaIoi finaI do ilen 'CLL, veienos que na iepIica DR1 esle ilen len vaIoi iguaI a 6, j na iepIica DR2 e na cpia piiniia, esle len vaIoi 16. Lnlielanlo, anlos os vaIoies so inconsislenles, una vez que no seiian geiados poi nenhuna execuo seiiaI das liansaes T1, T2 e T3. Desla foina, loina-se necessiio ie-visilai lanlo os piolocoIos de conlioIe de con- coiincia quanlo os necanisnos paia conlioIe de iepIicas. Olseive que esla inconsislncia decoiie do falo de que o vaIoi Iido peIa opeiao i3(CLL)R1 no coiiesponde ao vaIoi esciilo poi v2(CLL, CLL+7)R2. Ioilanlo, o vaIoi Iido peIa opeiao i3(CLL)R1 e anleiioi ao vaIoi geiado peIa opeiao v2(CLL, CLL+7)R2. O scncdu|c lenpoiaInenle coiielo (S1) e nosliado na figuia 5.3, enquanlo o giafo de seiiaIizao len- poiaI coiielo paia o scncdu|c S1 e apiesenlado na figuia 5.4 (l). Assin, un scncdu|c no seiia- IizveI poi confIilo (incoiielo) foi consideiado coiielo. NaluiaInenle, esle fenneno deve sei evilado, pois piovocaiia inconsislncias no lanco de dados. IeIo piolocoIo pioposlo, o giafo de seiiaIizao lenpoiaI coiielo seiia geiado, un cicIo idenlificado e a liansao T3 desfeila. Nesle caso o vaIoi finaI do ilen 'CLL na iepIica DR1 seiia iguaI a 6, j na iepIica DR2 e na cpia piiniia, esle ilen leiia vaIoi 16. O vaIoi 16 seiia enlo piopagado peIa c- pia piiniia paia as denais iepIicas. Ioien, esle e un vaIoi consislenle, pois seiia geiado poi anlas as execues seiiais das liansaes T1 e T2.
Iiguia 5.3. ScheduIe S1.
Figura 5.1. Ambiente Replicado. T 1 : r 1 (CEL)r 1 (PALM)w 1 (CEL, CEL+5)C 1 ; T 2 : r 2 (CEL)w 2 (CEL, CEL+7)C 2 ; T3: i3(IALM)i3(CLL)v3(CLL,CLL+1O)C3,
16
VaIe a pena iessaIlai que nesno se os pacoles con as infoinaes das Ieiluias e escii- las execuladas peIas liansaes nas diveisas iepIicas chegaien ao seividoi piiniio en una oiden difeienle da oiden en que as opeiaes foian execuladas, o piolocoIo pioposlo con- linua geiando o giafo de seiiaIizao coiielo e idenlificando o cicIo. Vanos olseivai agoia un segundo exenpIo. Consideie a nesna configuiao anleiioi. Consideie agoia o seguinle conjunlo de liansaes, as quais Ien e aluaIizan (efeluan Ian- ces) os vaIoies dos piodulos a venda: T1: i1(CLL)i1(IALM)v1(CLL, CLL+5)C1, T2: i2(IALM)i2(CLL)v2(CLL, CLL+7)C2, Consideie agoia o scncdu|c S2 apiesenlado na figuia 5.5.
Iiguia 5.5. ScheduIe S2. Vanos assunii que no ceniio de execuo apiesenlado na figuia 5.5 as opeiaes fo- ian lenpoiaInenle execuladas na oiden apiesenlada. O giafo de seiiaIizao paia o scncdu- |c S2 e iIusliado na figuia 5.7 (a). Olseive que esse giafo no apiesenla un cicIo. Ioilanlo, o scncdu|c S2 podeiia sei consideiado seiiaIizveI poi confIilo (coiielo). Lnlielanlo, se olsei- vainos o vaIoi finaI do ilen 'CLL, veienos que na iepIica DR1 esle ilen len vaIoi iguaI a 6, j na iepIica DR2 e na cpia piiniia, esle len vaIoi 8. Lnlielanlo, anlos os vaIoies so inconsislenles, una vez que no seiian geiados poi nenhuna execuo seiiaI das liansaes T1 e T2. Olseive que esla inconsislncia decoiie do falo de que o vaIoi Iido peIa opeiao i2(CLL)R2 no coiiesponde ao vaIoi esciilo poi v1(CLL, CLL+5)R1. Ioilanlo, o vaIoi Iido peIa opeiao i2(CLL)R2 e anleiioi ao vaIoi geiado peIa opeiao v1(CLL, CLL+5)R1. O scncdu|c lenpoiaInenle coiielo (S2) e nosliado na figuia 5.6, enquanlo o giafo de seiiaIizao len- poiaI coiielo paia o scncdu|c S2 e apiesenlado na figuia 5.7 (l). Assin, un scncdu|c no seiia- IizveI poi confIilo (incoiielo) foi consideiado coiielo. NaluiaInenle, esle fenneno deve sei evilado, pois piovocaiia inconsislncias no lanco de dados. IeIo piolocoIo pioposlo, o giafo de seiiaIizao lenpoiaI coiielo seiia geiado, un cicIo idenlificado e a liansao T2 desfeila. Nesle caso o vaIoi finaI do ilen 'CLL na iepIica DR1 e na cpia piiniia seiia i- guaI a 6, j na iepIica DR2 esle ilen leiia vaIoi 1. O vaIoi 6 seiia enlo piopagado peIa cpia piiniia paia as denais iepIicas. Ioien, esle e un vaIoi consislenle, pois foi geiado peIa execuo de una nica liansao (T1). Iiguia 5.4. Ciafos de SeiiaIizao paia os ScheduIes S1 e S1. (a) Ciafo de SeiiaIizao paia S1. (l) Ciafo de SeiiaIizao TenpoiaI paia S1.
17
Iiguia 5.6. ScheduIe S2.
5.4. Correo do Protocolo A seguii denonsliaienos que o aIgoiilno pioposlo asseguia duas piopiiedades fundanen- lais: a) a execuo concoiienle de un conjunlo de liansaes solie un lanco de dados iepIi- cado sei equivaIenle a una execuo seiiaI solie o nesno lanco de dados no iepIicado, e l) lodas as iepIicas, evenluaInenle, iio conveigii paia un nesno eslado consislenle. Iiineiianenle, denonsliaienos que lodo scncdu|c pioduzido peIo piolocoIo pioposlo e seiiaIizveI poi confIilo, ou seja gaianle a consislncia do lanco de dados en lodos os seivi- doies. Tcnrcma 1. Seja TCSTR o conjunlo de scncdu|cs solie un conjunlo =|T1, T2, ... , TN de lian- saes pioduzido peIo piolocoIo pioposlo e CSR o conjunlo de lodos os scncdu|cs seiiaIiz- veis poi confIilo solie . Lnlo TCSTR =CSR. Prnva (csbnn). L fciI nosliai que TCSTR CSR. Ns piecisanos apenas olseivai que lodo scncdu|c S pioduzido peIo piolocoIo pioposlo apiesenla una giafo de seiiaIizao lenpoiaI (CST) accIico. Ioi definio, giafo de seiiaIizao lenpoiaI de S iepiesenla o giafo de seii- aIizao convencionaI paia S, adicionado de infoinaes lenpoiais paia capluiai a oiden coiiela de execuo das opeiaes en S. Ln oulias paIavias, se o CST paia S e accIico, o giafo de seiiaIizao convencionaI lanlen e. Ioilanlo, S CSR, conseqenlenenle TCSTR CSR. Iaia piovai que TCSTR CSR, piecisanos nosliai que lodo scncdu|c S CSR pode sei pioduzido peIo piolocoIo pioposlo. Ns podenos nosliai isso poi induo no lananho de S que loda opeiao p en S no pode oiiginai un cicIo no CST. Ioi esse nolivo a opeia- o p pode sei execulada. Cono j nencionado anleiioinenle, o CST iepiesenla o giafo de seiiaIizao convencionaI paia S, adicionado de infoinaes lenpoiais. Agoia iienos denonsliai que lodas as iepIicas, evenluaInenle, iio conveigii paia un nesno eslado consislenle. Tcnrcma 2. Seja R=|R1, R2, ..., RN o conjunlo dos seividoies iepIicados, e D(R1,l) o eslado do lanco de dados no seividoi iepIicado R1, no inslanle de lenpo l. Lnlo, exislii un de- leininado lenpo l onde, i,j (con ij, O<i,jn) D(Ri,l) = D(Rj,l) e D(Ri,l) e consislenle. Iiguia 5.7. Ciafos de SeiiaIizao paia os ScheduIes S2 e S2. (a) Ciafo de SeiiaIizao paia S2. (l) Ciafo de SeiiaIizao TenpoiaI paia S2.
18 Prnva (csbnn). IeIo passo 3 do piolocoIo, olseivanos que aps a efelivao de una lian- sao Ti, o escaIonadoi piopaga os novos vaIoies dos ilens de dados aluaIizados poi Ti, paia lodas as iepIicas con as quais o seividoi piiniio livei conunicao. Caso aIgun seividoi iepIicado Rk esleja foia da iea de conunicao, o seu idenlificadoi deve sei ainazenado en Icg, paia que posleiioinenle o escaIonadoi lenle o ie-envio deslas infoinaes. Ceilanenle, havei un inslanle de lenpo l, no quaI o sislena eslai na ausncia de aluaIizaes. Nesle inslanle, D(Rj,l), onde Rj e o seividoi piiniio, e consislenle e eslveI, e, adicionaInenle, lodos os seividoies iepIicados Rk leio nanlido una conexo, nesno lenpoiiia, con o seividoi piiniio Rj, iecelendo as aluaIizaes pendenles e aluaIizando o eslado de sua ie- pIica IocaI, fazendo D(Rk,l) = D(Rj,l). Logo, peIo Teoiena 1, D(Rk,l) e consislenle ( k con O<kn). O necanisno paia conlioIe de concoiincia que eslanos piopondo uliIiza seiiaIizaliIi- dade paia gaianlii a consislncia dos dados. VaIe deslacai que seiiaIizaliIidade j se loinou un padio paia conlioIe de concoiincia en lancos de dados, sendo inpIenenlada en pia- licanenle lodo SCD exislenle no neicado. AIen de uliIizai un ciileiio de coiieo j con- soIidado, o piolocoIo pioposlo ieIaxa a piopiiedade de isoIanenlo. Lsla piopiiedade piev que as liansaes so isoIadas, ou seja, que seus iesuIlados s poden sei vislos ao finaI de sua execuo, lenha eIa leininado ou no con sucesso. O piolocoIo apiesenlado ieIaxa o isoIanenlo e adola a aloidagen rcadq-anq/uri|c-anq, peinilindo una naioi disponiliIidade dos dados. AIen disso, as opeiaes que conpes as diveisas liansaes so execuladas una nica vez e os seividoies no necessilan ainazenai un |cg con lodas as opeiaes iea- Iizadas. Lssas duas Ilinas piopiiedades no so gaianlidas peIa pioposla apiesenlada en |1j. AIen disso, nossa aloidagen ieduz o nuneio de nensagens liocadas enlie os seivido- ies. Dessa foina, nosso piolocoIo piocuiai gaianlii una econonia no cuslo da uliIizao dos canais de conunicao, na Iinilada capacidade de eneigia dos conpuladoies poilleis e nos seus escassos iecuisos de neniia. Ioi oulio Iado, o seividoi piecisa nanlei un giafo de seiiaIizao de lodas as liansa- es alivas, o que pode conpionelei a escaIaliIidade. Todavia, a eslialegia de coIela de Iixo apiesenlada en |4j pode sei uliIizada paia ieduzii o lananho do giafo. Oulia desvanlagen consisle no falo dos seividoies iepIicados leien que conunicai ao seividoi piiniio os ilens Iidos e/ou esciilos poi suas liansaes. Lnlielanlo, a infoinao a sei enviado consisle ape- nas do idenlificadoi do ilen, da liansao, do seividoi e un |incs|anp. SeneIhanlenenle a aloidagen nosliada en |1j, un seividoi piiniio e uliIizado e a coeincia enlie as iepIicas e gaianlida apenas evenluaInenle. Ioien, no nosso piolocoIo, a deleco de confIilos e iea- Iizada aliaves da conpaiao enlie |incs|anps, os quais consislen en paies de vaIoies nu- neiicos, o que piopoiciona un cuslo pequeno. } en |1j, e uliIizado un nelodo onde cada esciila esl associada a un conjunlo de iegias de vaIidao e a un piocedinenlo, esciilo en una Iinguagen inleipielada de aIlo nveI, paia a iesoIuo de confIilos, ou seja, a laiefa de deleco e iesoIuo de confIilos e liansfeiida aos piogianadoies. AIen disso, a suposio assunida no Teoiena 2 de que havei un inslanle de lenpo l no quaI o sislena eslai na ausncia de aluaIizaes, apesai de paiecei foile, e conun en oulios necanisnos de iepIi- cao, cono poi exenpIo, a aloidagen apiesenlada en |1, 2j.
19 6 Trabalhos Relacionados O piolIena da consislncia de dados iepIicados en anlienles de conpulao nveI len sido lialado poi diveisos lialaIhos, os quais luscan cono piincipaI oljelivo pos- siliIilai una aIla disponiliIidade dos dados. Muilas das soIues pioposlas luscan asseguiai a consislncia evenluaI en diieo a un eslado consislenle. CoIding|11j piops que cada seividoi, individuaInenle, consoIide una aluaIizao quando esle eslivei ceilo de esla aluaIizao j foi iecelida poi lodas as denais iepIicas. A piinci- paI Iinilao desla aloidagen e que a indisponiliIidade de una nica iepIica inviali- Iiza o piocesso de ccnni| cono un lodo (ccnni|ncn| prcccss). No piojelo ayou|1j, cada seividoi ainazena un |cg conlendo lodas as esciilas de que len conhecinenlo. AIen disso, no ayou, una nesna opeiao pode sei ie-execulada diveisas vezes, o que pode geiai ctcrncad. As aloidagens laseadas en volao peinilen uliIizai una giande vaiiedade de quoiuns paia se decidii peIo ccnni| de una aluaIizao Ln pai- licuIai, Deno |9,1Oj uliIiza un piolocoIo de volao epidnico a fin de supoilai a ie- pIicao de oljelos en un francucr| liansacionaI paia anlienles fiacanenle conecla- dos. Deno iequei que un iound (elapa) de volao seja execulado poi conpIelo paia cada aluaIizao. Islo pode sei aceilveI quando as apIicaes eslo inleiessadas en conhecei o andanenlo do piocesso de ccnni| paia cada lenlaliva de aluaIizao solie un deleininado ilen, anles de execulai una oulia opeiao solie esle nesno ilen e dado. Lnlielanlo, nos ceniios consideiados poi esle lialaIho, usuiios e apIicaes eslaio nuilas vezes inleiessados en acessai ilens de dados aluaIizados poi opeiaes de esciila ainda no efelivadas. Ln lais siluaes, a espeia peIo ccnni| inposla eIo piolocoIo de volao do Deno se loina inaceilaveInenle lo aIla quanlo no piolocoIo prinarq ccnni|.
7 Concluses e Trabalhos Futuros
Nesle lialaIho apiesenlanos un novo necanisno que gaianle a consislncia de dados iepIicados (cnc-ccpq scria|izaoi|i|q) e a conveigncia das diveisas iepIicas paia un nico eslado finaI consislenle (consislncia evenluaI), en anlienles de conpulao nveI. Lsse piolocoIo expIoia infoinaes lenpoiais iefeienles ao nonenlo en que un olje- lo do lanco de dados iepIicado foi Iido ou aluaIizado e uliIiza seiiaIizaliIidade cono ciileiio de coiieo. VaIe saIienlai que seiiaIizaliIidade j se loinou un padio, e, poi isso, pialicanenle lodo SCD exislenle no neicado inpIenenla esle nodeIo. AIen de uliIizai un ciileiio de coiieo j consoIidado, o piolocoIo pioposlo ieIaxa a piopiie- dade de isoIanenlo e adola a aloidagen rcadq-anq/uri|c-anq, peinilindo una naioi disponiliIidade dos dados. Nesle necanisno, as opeiaes que conpes as diveisas liansaes so execuladas una nica vez e os seividoies no necessilan ainazenai un |cg con lodas as opeiaes ieaIizadas. AIen disso, nossa aloidagen ieduz o nu- neio de nensagens liocadas enlie os seividoies. Tudo isso ii gaianlii una econonia no cuslo da uliIizao dos canais de conunicao, na Iinilada capacidade de eneigia dos conpuladoies poilleis e nos seus escassos iecuisos de neniia.
20
Cono lialaIhos fuluios pielendenos eslendei o piolocoIo pioposlo a fin de peinilii que o nveI de isoIanenlo uliIizado seja adaplado as condies do anlienle, aliaves da escoIha de un denlie os qualio nveis de isoIanenlo padionizados peIa ANSI/ISO SQL 92 |3j, e possiliIilai a piopagao dos ilens aluaIizados de naneiia ponlo-a-ponlo (I2I).
21 Referncias Bibliogrficas 1. Teiiy, D., Deneis, A., Ieleisen, K., Spieilzei, M., Theinei, M., WeIch, . e Hausei, C. (1995) Managing Updale ConfIicls in ayou, a WeakIy Connecled RepIicaled Sloiage Syslen. 2. Teiiy, D., Deneis, A., Ieleisen, K., Spieilzei, M. e Theinei, M. (1997) IIexilIe Up- dale Iiopagalion foi WeakIy Consislenl RepIicalion. 3. Adya, A., Liskov, . e ONeiI, I. (2OOO) CeneiaIized IsoIalion LeveI Definilions. In pioceedings of lhe ILLL InleinalionaI Confeience on Dala Lngineeiing, San Diego, CA, Maich 2OOO. 4. Monleiio, }. e iaynei, A. (2OO5) ConlioIIing Concuiiency in MoliIe Conpuling Lnviionnenls vilh ioadcasl-lased Dala Disseninalion. Iioceedings of lhe LUROIAR, Lisloa, IoilugaI, 2OO5. 5. Casanova, M. A. (1981) The Concuiiency IiolIen of Dalalase Syslens. In Lec- luies Noles in Conpulei Science, 116, 1981. 6. einslein, I. A., HadziIacos, V. And Coodnan, N. Concuiiency ConlioI and Recov- eiy in Dalalase Syslens, Addison-WesIey, 1987. 7. Sailo, Y. e Shapiio, M. (2OO5) Oplinislic RepIicalion. ACM Conpuling Suiveys, VoI. V, No. N, 3 2OO5. 8. aiielo, }. e Ieiieiia, I. (2OO5) An Lfficienl and IauIl-ToIeianl Updale Connilnenl IiolocoI foi WeakIy Connecled RepIicas. Iioceedings of lhe LUROIAR, Lisloa, IoilugaI, 2OO5. 9. CelinleneI, U., KeIehei, I. e IiankIin, M. (2OO1) Suppoil foi SpecuIalive Updale Iiopagalion and MoliIily in Deno. Iioceedings of lhe The 21sl ILLL InleinalionaI Confeience on Disliiluled Conpuling Syslens (ICDCSO1). 1O. KeIehei, I. (1999) DecenliaIized iepIicaled-oljecl piolocoIs. In: Iioc. of lhe 18lh AnnuaI ACM Synp. on IiincipIes of Disliiluled Conpuling (IODC99). 11. CoIding, R., Long, D. ModeIing iepIica diveigence in a veak-consislency piolocoI foi gIolaI scaIe diisliluled dala lases. TechnicaI Repoil UCSC-CRL-93-O9 (1993). 12. Maya, R. e Anlhony, L. (2OO3) DecenliaIized Weighled Voling foi I2I Dala Man- agenenl. Iioceedings of lhe 3id ACM InleinalionaI Woikshop on Dala Lngineei- ing foi WiieIess and MoliIe Access, San Diego, CA, USA, 2OO3 (MoliDe 'O3). 13. Maleus C. e Louieiio A. Inlioduo a Conpulao MveI. 1998. 14. Monleiio, }. e iaynei, A. (2OOO). TenpoiaI SeiiaIizalion Ciaph Tesling: An Ap- pioach lo ConlioI Concuiiency in ioadcasl Lnviionnenls. Iioceedings of lhe15lh iaziIian Synposiun on Dalalases - SD'2OOO, }oo Iessoa, iaziI, 2OOO. 15. iaynei, A. R. A., Aguiai, }. M. I. (2OO6) On MoliIe Tiansaclion Iiocessing in Dy- nanicaIIy ConfiguialIe MoliIe Dalalase Connunilies. InleinalionaI }ouinaI Of IaiaIIeI Lneigenl And Disliiluled Syslens, IngIaleiia, v. 21, n. 3, p. 199-213, 2OO6. 16. Haia T. RepIica AIIocalion Melhods in Ad Hoc Nelvoiks vilh Dala Updale. MONLT 8(4): 343-354 (2OO3) . 17. AngeIo iaynei, Iiank Slefan AIencai: A Senanlic-SeiiaIizaliIily ased IuIIy- Disliiluled Concuiiency ConlioI Mechanisn foi MoliIe MuIli-Dalalase Syslens. DLXA Woikshops 2OO5: 1O85-1O89. 18. Luo }., Hulaux }., e Lugslei I. IAN: Iioviding ReIialIe Sloiage in MoliIe Ad Hoc Nelvoiks vilh IiolaliIislic Quoiun Syslens. ACM MoliHoc 2OO3. 19. Rodiig M. e Lanaica A. DecenliaIized Weighled Voling foi I2I Dala Managenenl. MoliDL'O3. San Diego, CA, Seplenlei 19, 2OO3.
22 2O. iaynei A. Tiansaclion Managenenl in MuIlidalalase Syslen. 1999. 21. AngeIo iaynei, Theo Hidei: CIolaI Senanlic SeiiaIizaliIily: An Appioach lo In- ciease Concuiiency in MuIlidalalase Syslens. CoopIS 2OO1: 3O1-315 22. 22. AngeIo iaynei, }ose de Aguiai M. IiIho: Incieasing MoliIe Tiansaclion Concui- iency in DynanicaIIy ConfiguialIe Lnviionnenls. ICDCS Woikshops 2OO5: 637-641 23. AngeIo iaynei, }ose de Aguiai M. IiIho: Shaiing MoliIe Dalalases in Dynani- caIIy ConfiguialIe Lnviionnenls. CAiSL 2OO3: 724-737. 24. Takahiio Haia: Localion Managenenl of RepIicas Consideiing Dala Updale in Ad Hoc Nelvoiks. AINA (1) 2OO6: 753-758. 25. Hideki Hayashi, Takahiio Haia, Shojiio Nishio: On Updaled Dala Disseninalion LxpIoiling an Lpidenic ModeI in Ad Hoc Nelvoiks. ioADIT 2OO6: 3O6-321. 26. Yohei Savai, Masako Shinohaia, Akinilsu Kanzaki, Takahiio Haia, Shojiio Nishio: Consislency Managenenl anong RepIicas Using a Quoiun Syslen in Ad Hoc Nel- voiks. MDM 2OO6: 128. 27. Hideki Hayashi, Takahiio Haia, Shojiio Nishio: Updale Log Disseninalion in Mo- liIe Ad Hoc Nelvoiks. MDM 2OO6: 71 28. Masako Shinohaia, Hideki Hayashi, Takahiio Haia, Shojiio Nishio: RepIica AIIoca- lion Consideiing Iovei Consunplion in MoliIe Ad Hoc Nelvoiks. IeiCon Woik- shops 2OO6: 463-467. 29. Takahiio Haia: Dala RepIicalion Issues in MoliIe Ad Hoc Nelvoiks. DLXA Woik- shops 2OO5: 753-757. 3O. Takahiio Haia, Sanjay Kunai Madiia: Consislency Managenenl anong RepIicas in Ieei-lo-Ieei MoliIe Ad Hoc Nelvoiks. SRDS 2OO5: 3-12 31. Takahiio Haia: Localion nanagenenl of dala ilens in noliIe ad hoc nelvoiks. SAC 2OO5: 1174-1175. 32. Takahiio Haia, Sanjay Kunai Madiia: Dynanic Dala RepIicalion Using Apeiiodic Updales in MoliIe Adhoc Nelvoiks. DASIAA 2OO4: 869-881 33. Hideki Hayashi, Takahiio Haia, Shojiio Nishio: Updaled Dala Disseninalion in Ad Hoc Nelvoiks. UMICS 2OO4: 28-42.