Autonomous Recovery in Componentized Internet Application Candea et. al Vikram Negi.

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
19 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Developing Web Services.
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
7 Copyright © 2005, Oracle. All rights reserved. Maintaining State in J2EE Applications.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
15 Copyright © 2005, Oracle. All rights reserved. Container-Managed Relationships (CMRs)
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
J2EE Overview.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
Configuration management
Software change management
Web Performance Tuning Lin Wang, Ph.D. US Department of Education Copyright [Lin Wang] [2004]. This work is the intellectual property of the author. Permission.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Database System Concepts and Architecture
Implementation Architecture
Apache Struts Technology
Chapter 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Winter Retreat Connecting the Dots: Using Runtime Paths for Macro Analysis Mike Chen, Emre Kıcıman, Anthony Accardi, Armando Fox, Eric Brewer
Introduction to EJB INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
Apache Struts Technology A MVC Framework for Java Web Applications.
Understanding and Managing WebSphere V5
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
1 The Google File System Reporter: You-Wei Zhang.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
TVAC Electronic Call Sheet System Team HeatWave Summer 2007.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
1 RADS Conceptual Architecture Commodity Internet & IP networks Edge Network Distributed Middleware Client SLT Services Distributed Middleware Server Router.
Microreboot. References 1.George Candea, Shinichi Kawamoto, Yuichi Fujiki, Greg Friedman, Armando Fox, “Microreboot – A Technique for Cheap Recovery”,
Distributed systems A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility –A well.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Managing the Oracle Application Server with Oracle Enterprise Manager 10g.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
EEC 688/788 Secure and Dependable Computing Lecture 8 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Progress Report Armando Fox with George Candea, James Cutler, Ben Ling, Andy Huang.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
A Binary Agent Technology for COTS Software Integrity Anant Agarwal Richard Schooler.
Apache Struts Technology A MVC Framework for Java Web Applications.
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Maximum Availability Architecture Enterprise Technology Centre.
Introduction to J2EE Architecture
Enterprise Java Bean. Overview of EJB View of EJB Conversation Roles in EJB, Types of Enterprise Beans Lifecycle of Beans Developing Applications using.
RM3G: Next Generation Recovery Manager
EEC 688/788 Secure and Dependable Computing
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
EEC 688/788 Secure and Dependable Computing
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Understanding and Designing with EJB
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

Autonomous Recovery in Componentized Internet Application Candea et. al Vikram Negi

Introduction Autonomic Problem Approach Results Discussion

The Autonomic Problem To allow the application to recover automatically from transient and intermittent software failure.

The Approach Introduce the idea : –Microanalysis (fault detection) –Microrebooting (rapid recovery) –External Management (recovery action) Integrate and Test with JBOSS

Design Overview Autonomous Process –Monitoring Java probes –Fault detection Generate Anomaly report –Recovery Takes action Total time to recovery.

J2EE Review J2EE enterprise apps = collection of reusable Java modules JSPs / servlets invoke EJBs, which invoke other EJBs,... EJB = Java component that complies to a certain interface and provides a service Deployment descriptor (per-bean XML file) conveys run-time characteristics and dependencies; used in deploying the application

JBoss Design Open-source J2EE app server Written entirely in Java Microkernel with components held together by JMX (Mgmt Support)

JAGR = ROC-ified JBoss with Application-Generic Recovery 3 Tier Architecture Key Components –Macro analysis Engine –Microrebooting Hook –Recovery Manager

Pinpoint : Detection and Localization Store Observation –IP address of machine, timestamp –Globally unique request ID. –# of calls/returns to EJBs –Association between sender and receiver. –Collect SQL Queries, update, read

Pinpoint : Analysis Analysis Engine –Centralized Engine –Plugin based architecture Modeling Components –Assume both present component behavior and historical (normal) behavior have same probability distribution. –Ki square test to determine different probability distribution.

Recovery : micro-reboot is not expensive State Segregation –Store impt. state outside the application in database. –Persistent State CMP (container managed persistence, J2EE) is a requirement for prototype. –Session State Store in modified SSM(external session state store) Containment and Reintegration –Microreboot transitive closure of all inter-EJB references –XML deployment descriptors to determine grouping for closure –Complete or micro reboot

Recovery Enabling Micro reboot –Method in JBOSS EJB Container –Preserve Class Loader

Manage Recovery Recovery Policy –Read failure report consider components > 1.0 –Micro-reboot(top n) or all >1.0 –Allow delay (~30sec) –If error is present still try few time or reboot completely –Finally report it to sys admin

Evaluation Test Framework Application –Petstore 1.1 (12 comp, 233 java file, 11K Loc) –Petstore 1.3.1(47 comp, 310 java file 10K Loc) –RUBiS (21 comp, 500 java file, 25K Loc) Workload –Implement Simulators with Transition table. –350 client (max utilization principle) Faultload –Based on industry experience –No low level hardware or OS faults.

Evaluation Detection Result similar to other detector No discussion on absolute numbers? Forced Java Runtime/Declared Exceptions, call emission and src code bug 1# How well the fault was detected, 2#how well major outage was detected ?

Evaluation : Localization Localization % for a algorithm per fault type CIA > 85% No absolute data again ?

Evaluation : Recovery Introduce faults in SSM- RUBiS. Restart SSM-RUBiS or micro reboot component. Observation from 10 trials per 350 concurrent client.

Full v/s Micro reboot Injected a null reference fault in SB CommitBid, then a corrupt User-Item, SB BrowseCategories and SB CommitUserFeedback. Microreboot maintains steady response. 425 vs 3916 failed request vs success request What error condition did other trials had?

Total Recovery Time Corrupt SB_ViewItem set it to NULL sec TRT 18.5 sec in analysis Pinpoint is bottleneck in micro reboot.

Pinpoint is app generic ? Upgrade to Petstore v –Works for the confidence interval How different was the updated version??

Perfomance Overload Results for 30min fault free run w/ 350 clients In memory v/s Out memory (SSM) Marshalling costs

Assumption Well defined interface for components (.Net,J2ee) Deterministic call path b/w component No critical service request Training data for statistical model Guidelines (Crash Only Software)

Discussion Overall one of the Good Papers maybe bit verbose in introduction ! Integrating framework for earlier work by Candea. Limitation of the present statistical model. Shared EJB state –Modify JIT, disable microreboots(ref, static var) Application – Global data not scrubbed. Cost Benefit : micro reboot v/s total reboot

Supplementary Application server = operating system for Internet applications (instantiates app components in containers, provides runtime system services, integrates with web server to make app webaccessible)