Spheres of Undo: A Framework for Extending Undo Aaron Brown January 2004 ROC Retreat.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Fabián E. Bustamante, Winter 2006 Recovery Oriented Computing Embracing Failure A. B. Brown and D. A. Patterson, Embracing failure: a case for recovery-
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Distributed Databases John Ortiz. Lecture 24Distributed Databases2  Distributed Database (DDB) is a collection of interrelated databases interconnected.
System Center Configuration Manager Push Software By, Teresa Behm.
8.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Managing Data Resources
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Chapter 15 Transaction Management. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Transaction basics Concurrency.
Combining Static and Dynamic Data in Code Visualization David Eng Sable Research Group, McGill University PASTE 2002 Charleston, South Carolina November.
Copyright © 2004, GemStone Systems Inc. All Rights Reserved. A Capstone with GemStone David Whitlock October 25, 2004.
Computer Security: Principles and Practice
.NET Mobile Application Development Remote Procedure Call.
TRANSACTION PROCESSING TECHNIQUES BY SON NGUYEN VIJAY RAO.
H-1 Network Management Network management is the process of controlling a complex data network to maximize its efficiency and productivity The overall.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
Windows Server 2008 R2 CSIT 320 (Blum) 1. Server Consolidation – Today’s chips have enhanced capabilities compared to those of the past. In particular.
Developing Health Geographic Information Systems (HGIS) for Khorasan Province in Iran (Technical Report) S.H. Sanaei-Nejad, (MSc, PhD) Ferdowsi University.
This chapter is extracted from Sommerville’s slides. Text book chapter
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Web Based Applications
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
Recovery-Oriented Computing User Study Training Materials October 2003.
Building Undo for Operators: An Undoable Store Aaron Brown ROC Research Group University of California, Berkeley Winter 2003 ROC Research Retreat.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
第十四章 J2EE 入门 Introduction What is J2EE ?
Undo: Update and Futures Aaron Brown ROC Research Group University of California, Berkeley Summer 2003 ROC Retreat 5 June 2003.
COM/DCOM Implementation Basics of: Object creation and access Object Reuse Interface referencing.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
(Business) Process Centric Exchanges
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Systems Analysis and Design in a Changing World, 3rd Edition
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
9 Systems Analysis and Design in a Changing World, Fourth Edition.
5 Levels of MDM Maturity.
Evaluating Undo: Human-Aware Recovery Benchmarks Aaron Brown with Leonard Chung, Calvin Ling, and William Kakes January 2004 ROC Retreat.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Quick overview of ASP.NET Ajax Ajax deep-dive Cover some key real-world problems Discuss solutions, patterns, opportunities Lots of demos And more of.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Creating SmartArt 1.Create a slide and select Insert > SmartArt. 2.Choose a SmartArt design and type your text. (Choose any format to start. You can change.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
REST By: Vishwanath Vineet.
CS223: Software Engineering
Responsibility-based Transformation from Feature Model to Software Architecture Haiyan Zhao (Joint work with Wei Zhang, Hong Mei) 1st workshop on bi-trans.
1 Automating Network Diagnostics to Help End-Users Dave Thaler
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Designing a Federated Testbed as a Distributed System Robert Ricci, Jonathon Duerig, Gary Wong, Leigh Stoller, Srikanth Chikkulapelly, Woojin Seok 1.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 17 – IT Security.
Undo for Recovery: Approaches and Models Aaron Brown UC Berkeley ROC Group.
Addressing Human Error with Undo
Bringing Undo to system admin: a new paradigm for recovery
A prototypical tool to discover architecture changes based on multiple monitoring data sources for a distributed system Patrick Schäfer, , Munich.
API Documentation Guidelines
…and web frameworks in general
Undo for Recovery: Approaches and Models
Lecture 1: Multi-tier Architecture Overview
Software models - Software Architecture Design Patterns
Open Source Software Development Processes Version 2.5, 8 June 2002
Guided Research: Intelligent Contextual Task Support for Mails
CS122B: Projects in Databases and Web Applications Winter 2019
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Spheres of Undo: A Framework for Extending Undo Aaron Brown January 2004 ROC Retreat

Slide 2 Motivation: Why Spheres of Undo? Provide conceptual model to help explain ROC Undo concepts – time travel – paradoxes – boundaries Develop framework for extending Undo to more complex systems – nested undo: undo for desktops, shared servers – distributed undo: undo for distributed systems

Slide 3 Sphere of Undo What is a Sphere of Undo (SoU)? SoU: a “bubble” of state & time – isolated from external world – defines boundaries of undo operation Example: productivity application In-memory document Productivity Application end user disk save external observer

Slide 4 ROC Undo as Spheres of Undo Challenge: end-users now outside boundary Sphere of Undo Service Application state operator end users timeline ROC Undo == system-wide undo for services – entire service is now enclosed in sphere of undo

Slide 5 The Problem of Paradoxes Operator’s undo can cause externally-visible temporal inconsistencies: paradoxes – sphere of undo establishes paradox boundary Sphere of Undo Service Application state undo t=3 end user 3 t t operator Paradox!

Slide 6 Addressing Paradoxes: Nested SoUs Add replay of end-user updates via an additional sphere of undo – restores end-user state when operator commits undo But end users can still see inconsistencies! Application Service user state system state operator end users Outer sphere provides undo only (all state) Inner sphere provides undo & redo (user state)

Slide 7 Coping with Remaining Paradoxes In general, impossible to make transparent Solution: identify paradoxes and compensate – via framework for detecting, explaining inconsistency – works for services with human users Sphere of Undo defines points needing paradox management – wherever information flows out across SoU boundary – whenever state outside SoU is altered

Slide 8 Outline Motivation Spheres of Undo Modeling Today’s ROC Undo Extending Undo: Hierarchical Services Extending Undo: Distributed Services Wrapup

Slide 9 Undo for Hierarchical Services ROC Undo only works for monolithic services – all service state in one sphere of undo – entire service time-travels as a unit Can we extend it to hierarchical services? – multiple-granularity undo in » per-user undo as well as whole-system undo – ASP with shared machines » undo of each share plus whole-machine undo – desktop system » undo of app config, system config, or entire system

Slide 10 Nested Spheres of Undo SoUs nest according to state hierarchy: ASP user1 mail userN mail... Service SoU users App. service 1... App. service N ASP Service SoU OS State Service 1 users Service N users user’s SoU

Slide 11 Nested SoUs: Composition Model Pre-Undo Post-Undo Self-contained Service (single sphere of undo) Nested spheres of undo S1S1 S1S1 c S1S1 S2S2 S2S2 S1S1 S2S2 S 1 undoes S 2 undoes S1S1 S2S2 c S1S1 S2S2 S1S1 Key: timeline current time compensation c

Slide 12 Nesting Undo Models Each nest can use a different undo model – we saw this before with paradox management: Application Service user state system state operator end users Outer sphere provides undo only (all state) Inner sphere provides undo & redo (user state)

Slide 13 Example of Nesting Undo Models: Desktop Environment Desktop Application docu- ments P OS bins; low-level state Application’s config. tool P app cfg state Software installer Platform’s cfg. tool platform cfg. state P User app. config. changes document edits platform config. changes software installs untracked changes OS upgrades

Slide 14 Implementing Nested SoUs Foundation: nested rewindable storage layer – independent rollback of substate Multiple proxy points for verb generation – record user actions at multiple levels New APIs for inner spheres of undo – invoke, commit, cancel nested undo Minor changes to verb log structure – maintain tentative verb log during replay; install on commit

Slide 15 Outline Motivation Spheres of Undo Modeling Today’s ROC Undo Extending Undo: Hierarchical Services Extending Undo: Distributed Services Wrapup

Slide 16 Undo for Distributed Services Goal: allow unilateral undo of one service in a network of cooperating services Challenge: paradoxes between spheres Credit-card Service state Fulfillment Service state Shopping Service state end users Authorization Orders Charges E-Shopping Example

Slide 17 Paradoxes and Distributed Undo Two choices for handling paradoxes – coordinated spheres: propagate undo from paradox producer to paradox consumer S1S1 S1S1 S2S2 S2S2 S1S1 S1S1 S2S2 S2S2 c c S1S1 S1S1 S2S2 S2S2 S1S1 S1S1 S2S2 S2S2 – uncoordinated spheres: paradox producer invokes compensation on consumer Undo of S 1 Undo of S 1 c cc

Slide 18 Implementing Distributed Undo SoUs provide undo for each subservice & define paradox management points Coordination of SoUs is likely complex – separation of input and output verbs – correlation of requests across spheres of undo – epoch-based log architecture with paradox detection across epochs – challenges with non-request-response comm. patterns We have tentative algorithms & APIs – but definitely a fertile area for future study

Slide 19 Outline Motivation Spheres of Undo Modeling Today’s ROC Undo Extending Undo: Hierarchical Services Extending Undo: Distributed Services Wrapup

Slide 20 Wrapup Spheres of Undo provide a foundation for understanding and extending undo – define boundaries of state and time – identify paradox management points – suggest hierarchical and distributed extensions » first step in undo for desktops and distributed services Fertile area for future study and implementation work!

Spheres of Undo: A Framework for Extending Undo For more info: – – dissertation: A. Brown. “A Recovery-Oriented Approach to Dependable Services: Repairing Past Errors with System-Wide Undo.” UCB Technical Report UCB//CSD-04-XXXX – tech report on distributed undo: A. Brown. “Toward System-Wide Undo for Distributed Services.” UCB Technical Report UCB//CSD

Backup Slides

Slide 23 Output Paradoxes & Distributed Undo Output verbs needed to detect scenarios like: Original Execution A B C rArA rBrB out C After coordinated Undo of A & B A B C rArA r' B out C out' C P ARADOX !

Slide 24 J2EE PetStore as Spheres of Undo Storefront Service Management Service Order-processing Service Supplier 1Supplier N end users manager... confirmations orders (async) queries, order approval/rejection (sync) orders (async) inventory updates (sync)