160 likes | 269 Views
IRL: Una piattaforma per la replicazione attiva di servizi software. Roberto Baldoni, Roberto Beraldi, Stefano Cimmino, Giacomo Cioffi, Carlo Marchetti, Leonardo Querzoni, Sara Tucci Piergiovanni. Università degli Studi di Roma “La Sapienza” MAIS Plenary Meeting 17th November 2004. Topics.
E N D
IRL: Una piattaforma per la replicazione attiva di servizi software Roberto Baldoni, Roberto Beraldi, Stefano Cimmino, Giacomo Cioffi, Carlo Marchetti, Leonardo Querzoni, Sara Tucci Piergiovanni Università degli Studi di Roma “La Sapienza” MAIS Plenary Meeting 17th November 2004
Topics • IRL Features • 3T Active Replication Protocol • IRL Architectural Overview • Status & Ongoing Work
Software Replication • Basic Ideas: • an object is replicated to resile to faults • replicas are collected into object groups • Members of an object group must have the same state (if any!) at the end of each client invocation • Software Replication Techniques • Passive • A primary replica executes client request and updates the backups • Active • All the replicas execute the request and send result to client R1 client R2 R3 R1 R2 Client R3
IRL Features • High-Avalability of CORBA objects through three-tier software replication • Liveness of the service in presence of faults (crash) • Data consistency in presence of faults • Site Failure Survivability (3T) • FT-CORBA compliant • Standard management interfaces • Overcomes standard (Interoperable – Legacy Clients) • Offers different levels of transparency • CORBA language, platform and location transparency • FT-CORBA • Replication transparency • Failure transparency
Motivations • Active and Passive replication • 2-tier: Replicas have to • Agree on request execution (e.g. on request ordering) • Execute requests • Agreement constrains replicas to run in a partially synchronous distributed system • Workstation clusters deployed on a LAN • Desirable Properties • deploy server replicas within asynchronous systems • e.g., Internet, WANs • Tolerate system site failures (e.g. cluster fire) avoiding both • Data loss • Service denial
3T Active Replication Aynchronous Non-Stationary Distributed System end-tier client-tier c1 r1 hn h2 c2 r2 h1 cl rm Stationary System Atomicity & Order RequestExecution
3T Active Replication Aynchronous Non Stationary Distributed System end-tier client-tier mid-tier c1 r1 hn h2 c2 r2 r2 h1 cl rm Stationary System
3T Active Replication r1 r3 TransparentRedirection Reinvocation Duplicate FilteringOrdered Execution Aynchronous Non Stationary Distributed System end-tier client-tier mid-tier c1 r1 hn h2 c2 r2 r2 h1 cl rm Stationary System
3T Replication Benefits • Stationarity of the underlying communication system is required only to sequence client request • The mid-tier isolate the need for partial synchrony within a well defined component • Mid-tier Site failures do not imply data loss • The system state can be recovered from replicas • Clients and Replicas can run on non stationary distributed systems • The impact of replication on clients and replicas is minimal
3T Replication in IRL • IRL implements 3T replication for stateful CORBA objects • adopts an “above the ORB” design • Advantages: • Interoperability • Portability • Transparency Applicazione Client Implementazione Server DSI Skeleton IRL Stub DII Interceptor Object Adapter Interceptor Object Request Broker
IRL Basic Architecture Object Group Member Object Group Member Object Group Member IRGW IRGW IRGW Object Group Handler Object Group Handler Client Application Object Group Handler ORGW Generic ORB • Assigns unique request identifiers • Performs request redirection and retransmission • Accepts client requests of end-tier object type • Assigns unique seq. num. • Forward reqs to end-tier • Gathers results sent to cln. • Performs request/reply logging and duplicate filtering
IRL Basic Architecture Client Application Object Group Handler Object Group Member RequestParser(DSI) RequestFWDer(SSI) IRGW ORGW Generic ORB Portable Interceptor PortableInterceptor Request Sequencer Maestro
IRL Overall Architecture IRL Object Group Handler OGH Stateful object group requests are mediated by a mid-tier (OGH), which is in charge of maintainingstrong replica consistency Stateless object groups are directly accessed by clients as no consistency must be enforced IRL Replication Manager Intra-component message bus RM IRL Fault Notifier FN IRL IRL StatefulObject Group StatelessObject Group OGH RM FN OGH RM FN Client Client Client Client OGH RM FN Obj Obj Obj Obj Obj Obj Obj Obj Obj Obj Obj Obj Object Request Broker • Clients access services using only IIOP • Servers receive requests through standard, unmodified ORBs • Servers do not exchange messages, i.e. are independent
Status • A first Java prototype has been completed • Available on demand (www.dis.uniroma1.it/~irl) • Simplified Replication Protocol • Partial RM and FN functionality • Portable: run on JacORB, ORBacus • IRL è stato sviluppato in Java e richiede alcuni software aggiuntivi per poter funzionare correttamente: • Java Development Kit versione 1.3 (versioni successive non sono compatibili con l’ORB ORBacus); • Jakarta ANT è altamente consigliato per la compilazione (la versione pre-compilata non richiede ANT); • Spread versione 3.17.0 o Javagroups versione 2.0.6; • ORBacus per Java versione 1.4.1. • IRL è stato sviluppato su piattaforma Windows 2000/XP