Architectural Issues of JMS Compliant Group Communication

  • 格式:pdf
  • 大小:410.10 KB
  • 文档页数:10

ArchitecturalIssuesofJMSCompliantGroupCommunication

ArnasKupˇsysRichardEkwall

´EcolePolytechniqueF´ed´eraledeLausanne(EPFL)

CH-1015Lausanne,Switzerland

{arnas.kupsys,nilsrichard.ekwall}@epfl.ch

Abstract

Groupcommunicationprovidesone-to-manycommuni-

cationprimitivesthatsimplifythedevelopmentofhighly

availableservices.Despiteadvancesinresearchandnu-

merousprototypes,groupcommunicationstaysconfinedto

smallniches.Tofacilitatetheacceptanceofgroupcom-

municationbyalargercommunity,anewspecificationand

API,calledJMSGroups,basedonthepopularJavaMes-

sageService(JMS)haspreviouslybeenpresented.

Asafollow-up,thispaperfocusesonthearchitectural

issuesoftheJMSGroupsimplementation.Weconsideran

implementationbasedonaJMSserver,i.e.,aJMSserver

thatismodifiedinternallytoprovideagroupcommunica-

tionservice.UsuallyJMSserverisimplementedasasingle

entityprovidingitsservicetonumerousclients.However,

singleserverarchitectureisexposedtofailuresandisnot

suitableforgroupcommunication.Toaddressthisprob-

lem,wediscusstheissuesrelatedtotheJMSserverreplica-

tion(firstwithoutprovidinggroupcommunication).Differ-

entreplicatedarchitectureoptionsarepresentedandcom-

pared.Finally,weshowhowtoconstructafault-tolerant

JMSGroupssystem,byextendingthereplicatedJMSserver

withagroupcommunicationservice.

1.Introduction

Groupcommunication(denotedsimplybyGChereafter)

providesone-to-manycommunicationprimitiveswithvar-

ioussemantics(e.g.,reliabledeliveryofmessagesand/or

deliveryofmessagesintotalorder).Thesehigh-level

communicationabstractionsamonggroupsofprocesses

greatlysimplifythedevelopmentofhighlyavailableser-

vices(throughreplication).Yet,despitetremendousad-

vancesinresearchandnumerousprototypes,e.g.,[3,7,8,

5,4],GCstaysconfinedtosmallnichesandtoacademic

prototypes.Webelievethatthelackofawell-definedand

easilyunderstandablestandardisthereasonthathindersthe

deploymentofgroupcommunicationsystems.In[1]weproposedastandardspecificationandinterface

forGC.InsteadofspecifyingyetanotherGCAPI,wetook

advantageofthewidespreadacceptanceoftheJavaMes-

sageService(JMS)andpresentedaGCAPIthatwasex-

tendedfromtheJMSAPI.Theresultingspecificationand

interfaceiscalledJMSGroupsandiseasilyunderstandable

bothbytheGCcommunityandbydevelopersfamiliarwith

JMS.Assuch,itfacilitatestheacceptanceofgroupcom-

municationbyalargercommunityandprovidesapowerful

environmentforbuildingfault-tolerantapplications.

Asafollow-up,thispaperfocusesonthearchitectural

issuesoftheJMSGroupsimplementation.Twomainar-

chitecturetypeshavebeenconsideredforJMSGroups:1)

acentralizedserverarchitectureand2)anon-centralized

architecture.Thecentralizedserverarchitectureissimilar

totheoneusedbyJMS.InsuchanarchitecturetheGC

serviceisprovidedbyaseparatemiddlewareentity(the

server).Thegroupmembersaretheclientscommunicat-

ingwitheachotherthroughtheserver.Thesecondarchi-

tecturetypeistheclassicalGCmodel,withoutacentral

entity.EachgroupmemberhasaGClayerwhichisrespon-

sibleforgroupcommunication.Thenon-centralizedarchi-

tecturehasbeenwellstudiedinthegroupcommunication

context[3,9,7,14,8,5,4]andwillnotbefurtherdevel-

opedinthispaper.Rather,ourdiscussionwillfocusonthe

centralizedserverarchitecture.

TheJMSGroupscentralizedserverarchitecturecanbe

implementedbymodifyingtheexistingJMSserver,i.e.,

byextendingittoprovideaGCserviceinadditiontothe

JMS.Thespecificationofsuchamodificationwaspre-

sentedin[1].However,sincetheserverisacommunica-

tionhubforallitsclientsitbecomesasinglepointoffail-

ureinthesystem.Thecrashoftheserverblockstheen-

tiresystem.SinceGCisusedtoprovidefault-toleranceto

theapplication,asinglepointoffailureinitsarchitecture

isnotacceptable.Therefore,theJMSserverusedforthe

implementationofJMSGroupsmustbefaulttolerant,i.e.,

replicated.

Forthesakeofclarity,thepresentationoftheJMS-

Groupsarchitecturalissuesisdividedintotwoparts.The

Proceedings of the 2005 Fourth IEEE International Symposium on Network Computing and Applications (NCA’05)

0-7695-2326-9/05 $20.00 © 2005

IEEE firstpartfocusesonthearchitectureofareplicatedJMS

server,inordertoremoveasinglepointoffailureinthe

system(butwithoutprovidingagroupcommunicationser-

viceyet).Differentreplicatedarchitectureoptionsarepre-

sentedandcompared.Then,byusingthereplicatedJMS

serverarchitectureasabase,thesecondpartpresentsthe

modificationsthatareneededtoimplementtheJMSGroups

server(andthusprovideagroupcommunicationservicein

theJMS-basedsystem).

Thedetailedpaperstructureisthefollowing:Section2

givesaverybriefintroductiononJMSandSection3

presentstheGCsystemmodelswewillconsider.Thecon-

tributionofthepaperliesmainlyinSections4and5.Sec-

tion4presentsthearchitecturetypesforthefaulttolerant

JMSserver,whereasSection5analyzeshowthereplicated

JMSservershouldbemodifiedtoprovideagroupcommu-

nicationservice.Performancecomparisonbetweenthedif-