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-