Presented at University of Alabama CIS, Birmingham Monday, April 9, 2001 Patterns-based Fault Tolerant CORBA Implementation for Predictable Performance.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
CS590L - Lecture 6 1 CS590L Distributed Component Architecture References: - E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of.
May 12, 2015IEEE Network Management Symposium Page-1 Requirements for Configuration Management of IP-based Networks Luis A. Sanchez Chief Technology Officer,
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Investigating Lightweight Fault Tolerance Strategies for Enterprise Distributed Real-time Embedded Systems Tech-X Corporation Boulder, Colorado Vanderbilt.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Client-Server Computing in Mobile Environments
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Client/Server Software Architectures Yonglei Tao.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
Budapest University of Technology and Economics Department of Measurement and Information Systems 1 Fault Tolerant CORBA (FT-CORBA) - Modeling and Analysis.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
An Introduction to Software Architecture
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
CS291 Software Design Studio Dr. Douglas C. Schmidt Professor of EECS Vanderbilt University.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
Dependable Systems (CSE 890), Thursday, 27 th 2003 IRL Interoperable Replication Logic: A three-tier approach to FT-CORBA Infrastructures Authors: R. Baldoni,
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
A Proposal of Application Failure Detection and Recovery in the Grid Marian Bubak 1,2, Tomasz Szepieniec 2, Marcin Radecki 2 1 Institute of Computer Science,
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
(Business) Process Centric Exchanges
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Sunday, October 15, 2000 JINI Pattern Language Workshop ACM OOPSLA 2000 Minneapolis, MN, USA Fault Tolerant CORBA Extensions for JINI Pattern Language.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002.
Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Design & Evaluation of a Highly Modular CORBA Portable Object Adapter Arvind S. Krishna Info & Comp. Sci. Dept University of California,
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Fault-tolerance for Component-based Systems – An Automated Middleware Specialization Approach Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Abhishek.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
FLARe: a Fault-tolerant Lightweight Adaptive Real-time Middleware for Distributed Real-time and Embedded Systems Dr. Aniruddha S. Gokhale
A service Oriented Architecture & Web Service Technology.
Pertemuan 09 Architectural Patterns Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Design Patterns-1 7 Hours.
International Service Availability Symposium (ISAS) 2007
The OMG Approach (continued)
Patterns.
Tools for Composing and Deploying Grid Middleware Web Services
Software Architecture
Principles and Patterns for QoS-enabled Fault Tolerant Middleware
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Transparent Adaptive Resource Management for Middleware Systems
Group Service in CORBA Xing Gang Supervisor: Prof. Michael R. Lyu
Abstractions for Fault Tolerance
Design.
Architectural Mismatch: Why reuse is so hard?
Presentation transcript:

Presented at University of Alabama CIS, Birmingham Monday, April 9, 2001 Patterns-based Fault Tolerant CORBA Implementation for Predictable Performance Aniruddha Gokhale In collaboration with Balachandran Natarajan Douglas C. Schmidt Shalini Yajnik

Aniruddha GokhalePatterns for FT CORBA 2 Motivation Distributed applications are becoming more complex & mission-critical Increasing demand for cots- based multi-dimensional quality-of-service (QoS) support E.g., Simultaneous requirements for efficiency, predictability, scalability, security, & dependability Key open challenge is QoS- enabled dependability

Aniruddha GokhalePatterns for FT CORBA 3 Promising Solution: Fault Tolerant (FT) Distributed Object Computing Middleware Challenges Limitations of non-OO FT strategies that focus on application processes Techniques based on process- based failure detection & recovery are not applicable to distributed object computing applications due to: 1.Overly coarse granularity 2.Inability to restore complex object relationships 3.Restrictions on process checkpointing & recovery

Aniruddha GokhalePatterns for FT CORBA 4 Overview of Fault Tolerant CORBA Overview Provides a standard set of CORBA interfaces, policies, & services Entity Redundancy of objects is used for fault tolerance via Replication Fault detection & Recovery from failure Features Inter-Operable Group References (IOGR) Replication Manager Fault Detector & Notifier Message Logging for recovery Fault tolerance Domains

Aniruddha GokhalePatterns for FT CORBA 5 Interoperable Object Group References Composite & enhanced Interoperable Object Reference (IOR) for referencing server object groups Comprises one or more TAG_INTERNET_IOP profiles, which in turn must contain a TAG_FT_GROUP and zero or more TAG_IIOP_ALTERNATE_ADDRESS components TAG_PRIMARY component in at most one TAG_INTERNET_IOP profile Client ORBS operate on IOGRs in the same way as with IORs

Aniruddha GokhalePatterns for FT CORBA 6 DOORS & FT-CORBA DOORS is a “Distributed OO Reliable Service” developed prior to FT-CORBA Uses the service strategy to provide FT to CORBA objects Patterns and mechanisms in DOORS were integrated into FT-CORBA standard DOORS implements most of FT-CORBA standard Focus on passive-replication Available as open-source for non-commercial use from Lucent Runs atop the TAO open-source real-time ORB

Aniruddha GokhalePatterns for FT CORBA 7 8.Client sends requests to the primary 2. RM delegates replica creation to local factories 4.The local factories send the replica IOR’s to the RM for it to create the IOGR 5.The RM registers the IOGR with a CORBA Naming Service (NS) 7.Clients contact the NS for IOGR FT-CORBA Component Interaction 1.External object asks RM to set properties for replica group and create it 6.The RM asks fault detectors to initiate fault monitoring of replicas 3.The local factories create CORBA objects

Aniruddha GokhalePatterns for FT CORBA 8 2.Detector propagates fault to Notifier 4.RM promotes backup to primary 5.RM requests local factory to create a new backup and gets new IOR 7.RM registers new IOGR with NS Fault Detection and Recovery 1.Fault detector detects failure of primary 6.RM creates new IOGR and informs all replicas of it 3.Notifier pushes fault to RM PRIMARYBACKUP 8.Client sends request to old primary 9.Old primary throws exception LOCATION_FORWARD 10.Client sends request to new primary PRIMARYBACKUP

Aniruddha GokhalePatterns for FT CORBA 9 ORB Core Optimizations Optimization Opportunities to Improve Fault Tolerant CORBA Performance CORBA Service Optimizations Efficient IOGR parsing & connection establishment Reliable handling & ordering of GIOP messages Predictable behavior during transparent connection establishment & retransmission Tracking requests with respect to the server object group Support for dynamic system configuration Bounded recovery time Minimize overhead of FT CORBA components

Aniruddha GokhalePatterns for FT CORBA 10 Analysis Failure detection time increases with the polling interval Average failure detection time is half the polling interval Challenge Choosing small polling interval Minimize message overhead Effect of Polling Interval on Failure Detection Times Fault detection time measured as the time between the failure of replica & the FaultDetector detecting failure

Aniruddha GokhalePatterns for FT CORBA 11 Effect of Polling Interval on Recovery Time Analysis Average failure detection time is half the polling interval Replica Group Management time is constant Challenge Minimize replica group management time Recovery Time = Failure detection time + Replica Group Management Time

Aniruddha GokhalePatterns for FT CORBA 12 Design patterns capture the static & dynamic roles & relationships in solutions that occur repeatedly Architectural patterns express a fundamental structural organization for software systems that provide a set of predefined subsystems, specify their relationships, & include the rules and guidelines for organizing the relationships between them Optimization principle patterns document rules for avoiding common design & implementation mistakes that degrade performance Patterns codify expert knowledge to help generate software architectures by capturing recurring structures & dynamics and resolving common design forces Overview of Patterns

Aniruddha GokhalePatterns for FT CORBA 13 Decoupling Polling and Recovery Fault Detector Polling Thread Replica Fault Notifier Context Periodic polling & recovery request done in the same polling thread can block the thread Forces Must guarantee polling of other objects while recovery request is sent Must minimize concurrency overhead Solution Apply the Leader-Followers or AMI architectural pattern Solution Apply the Leader-Followers or AMI architectural pattern Problem Blocking can cause missed polls HANGS

Aniruddha GokhalePatterns for FT CORBA 14 Decoupling Recovery Initiation From Recovery Execution Context Replication Manager serializes failure reports Forces Bounded amount of time for failure recovery irrespective of number of failure reports Solution Apply the Active Object design pattern Solution Apply the Active Object design pattern Problem Reduced responsiveness

Aniruddha GokhalePatterns for FT CORBA 15 Supporting Interchangeable Behavior Solution Apply the Strategy design pattern Solution Apply the Strategy design pattern Context FT properties can be set statically (as defaults) or set dynamically Forces Need highly extensible services that can be composed transparently from configurable properties Problem Hard-coding properties make the FT- CORBA design inflexible & non- extensible

Aniruddha GokhalePatterns for FT CORBA 16 Consolidating Strategies Context. FT CORBA implementations can have many properties. e.g.,membership, replication, consistency, monitoring, # of replicas, etc. Forces Ensure semantically compatible properties Simplify management of properties Solution Apply the Abstract Factory design pattern Solution Apply the Abstract Factory design pattern Problem Risk of combining semantically incompatible properties

Aniruddha GokhalePatterns for FT CORBA 17 Dynamic Configuration Context There are many potential FT properties that can be used Forces The behavior of FT-CORBA properties should be decoupled from the time when they are actually configured Solution Apply the Component Configurator design pattern Solution Apply the Component Configurator design pattern Problem Static configuration of properties is inflexible & overly resource intensive

Aniruddha GokhalePatterns for FT CORBA 18 Context FT-CORBA mandates a hierarchical lookup of properties based on strings Property lookup is required during object group creation & recovery Forces Efficient lookups of properties guided by the order specified in the FT-CORBA standard Solution Use the Chain of Responsibility design pattern & Perfect Hashing optimizations Solution Use the Chain of Responsibility design pattern & Perfect Hashing optimizations Efficient Property Name-Value Lookup Problem Inefficient property lookup degrades QoS

Aniruddha GokhalePatterns for FT CORBA 19 Research Directions  Middleware for Ad hoc/Wireless networks  FT CORBA enhancements for JINI-like systems  CORBA Pluggable Protocol for Bluetooth devices  Middleware enhancements for 3G wireless/mobile internet  Fault tolerance  Sequenced Initialization and Recovery (dealing with object dependencies)  Handling failure groups and collocated groups  Fault Escalation strategies and Fault Analysis  Growth/degrowth, runtime upgrades  QoS-enabled framework of middleware components  Higher level middleware framework shielding applications from lower level middleware  Multi-dimensional QoS support  Patterns-based architecture of plug & play components  Code generation tools for repetitive tasks

Aniruddha GokhalePatterns for FT CORBA 20 Concluding Remarks Researchers & developers of distributed systems face common challenges, e.g.: The application of patterns, frameworks, & components can help to resolve these challenges Carefully applying these techniques can yield efficient, scalable, predictable, dependable, & flexible middleware & applications Connection management, service initialization, error handling, flow control, event demuxing, distribution, concurrency control, fault tolerance, synchronization, scheduling, & persistence

Aniruddha GokhalePatterns for FT CORBA 21 EXTRA SLIDES

Aniruddha GokhalePatterns for FT CORBA 22 Fault Tolerant Middleware Strategies Integration Strategy Modify middleware to support FT, e.g.: Orbix+Isis Electra electra.html Obtrusive Interception Strategy Intercepts messages outside the ORB, e.g.: Eternal AQuA AQuA.html Unobtrusive, but complex

Aniruddha GokhalePatterns for FT CORBA 23 Service Strategy FT as a higher-layer service, e.g., DOORS org/11356/html/doors.html Unobtrusive, but requires standard ORB support Fault Tolerant Middleware Strategies (cont’d) Summary of FT Strategies Integration strategy requires extensive non- portable & non-standard modifications to an ORB Interception strategy provides out-of-band solution that can be inefficient (due to duplication of effort) and is hard to port across operating systems Service strategy requires some ORB modifications, but is now standardized…

Aniruddha GokhalePatterns for FT CORBA 24 Replication Manager Components Property manager Allows properties to be set for an object group Properties include replication style, membership style, consistency style, monitoring style, & number of replicas Generic factory Creates object groups & each member of the object group Used when the membership- style is infrastructure-controlled Object group manager Used by applications to create, add or delete members of an object group

Aniruddha GokhalePatterns for FT CORBA 25 Fault Detection & Notification Components Fault Detectors Detect faults using a pull- based or a push-based mechanism Fault Notifier Notified of any faults by the Fault Detector A Fault Notifier notifies its Replication Manager when it detects faults

Aniruddha GokhalePatterns for FT CORBA 26 Logging & Recovery Used in a infrastructure- controlled consistency style The mechanism intercepts & logs GIOP messages On failure detection, the messages can be “played back” for recovery Mechanism is transparent to the client application

Aniruddha GokhalePatterns for FT CORBA 27 FT CORBA Spec Requirements Preserving the CORBA Object Model with enhancements No single point of failure Transparent failover Transparent client redirection & reinvocation FT CORBA cannot handle commision faults or correlated faults

Aniruddha GokhalePatterns for FT CORBA 28 Caching Object References Context Replication Manager queries Naming Service for Fault Detector object reference Forces Minimize time spent in querying for object reference Solution Optimize for common case, store redundant info, eliminate gratuitous waste Solution Optimize for common case, store redundant info, eliminate gratuitous waste Problem Adds overhead of querying