DESIGNING COLLABORATIVE APPLICATIONS Modeling Single and Multi-User Interactions Design Dimensions Coupling Concurrency Control Undo/Redo.

Slides:



Advertisements
Similar presentations
WYSIWIS Revised: Early Experiences with Multiuser Interfaces Stefik, Bobrow, Foster, Lanning, and Tatar.
Advertisements

1What is the Stage. 2How do you open a panel in Flash
Each of these photos represent an available slideshow. Click on any of these pictures and press [Tab] to open the new slideshow in a new window. Press.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Transaction Management Overview Chapter 16.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Transaction Management Overview Chapter 16.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Manipulating Data Schedule: Timing Topic 60 minutes Lecture
Introduction to the gedit editor. gedit: the Gnome editor Gnome: Gnome is a freely available (i.e., no cost) desktop environment for the UNIX system The.
Recovery CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems by Connolly & Begg, © Addison Wesley 2002)
CSCI 3140 Module 8 – Database Recovery Theodore Chiasson Dalhousie University.
Transaction Processing. Objectives After completing this lesson, you should be able to do the following: –Define transactions effectively for an application.
9-1 Copyright  Oracle Corporation, All rights reserved. Data Manipulation Language A DML statement is executed when you: – Add new rows to a table.
Database Systems, 8 th Edition Concurrency Control with Time Stamping Methods Assigns global unique time stamp to each transaction Produces explicit.
What is a Transaction? A transaction is a logical logic of work A transaction may have one of two outcomes –When a transaction completes successfully,
Chapter 15 Transaction Management. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Transaction basics Concurrency.
10 1 Chapter 10 Transaction Management and Concurrency Control Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Tuesday, April 27, 1999Palimpsest A Change-Oriented Concurrency Model for Collaborative Applications David G. Durand Boston University.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Distributed DBMSPage © 1998 M. Tamer Özsu & Patrick Valduriez Outline Introduction Background Distributed DBMS Architecture Distributed Database.
Spreadsheet. Objectives Create a new blank workbook. Create a new blank workbook. Identify user interface elements that you can use to accomplish basic.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
Microsoft Word 2010 Chapter 1 Creating, Formatting, and Editing a Word Document with Pictures.
1 Transaction Management Overview Chapter Transactions  Concurrent execution of user programs is essential for good DBMS performance.  Because.
1 Transaction Management Overview Chapter Transactions  A transaction is the DBMS’s abstract view of a user program: a sequence of reads and writes.
Chapter 4—Creating your First Document
P366: Lecture #1 Use of Excel for analysis Lei Chen, MD Jan 6, 2002.
Agenda Using vi Editor Starting vi Session Command / Input Modes Entering Text Editing Text Saving vi Session Aborting Editing Session.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 10 Transaction Management.
COMPREHENSIVE An Introduction to Microsoft Word 2007.
Basic Computer and Word Functions, part 1 Read the information and use to answer the questions in the Basic Computer and Word Functions Study Guide.
© 2010 South-Western / Cengage Learning Century 21 Keyboarding  Cycle 1  Office Features 1.
Microsoft Visual Basic 2005 CHAPTER 4 Variables and Arithmetic Operations.
Lecture 12 Recoverability and failure. 2 Optimistic Techniques Based on assumption that conflict is rare and more efficient to let transactions proceed.
PMIT-6102 Advanced Database Systems By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Animate picture to peek from bottom (1 of 3) 1. Right click on picture you want to animate. 2. Click on Custom Animation. 2 1 R.
Chapter 15 Recovery. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.15-2 Topics in this Chapter Transactions Transaction Recovery System.
Database structure and space Management. Segments The level of logical database storage above an extent is called a segment. A segment is a set of extents.
COMPREHENSIVE Word Tutorial 1 Creating a Document COM111 Introduction to Computer Applications.
MS-WORD MS-Word is a word processing software. it helps you to create letters, memo, reports etc. HOW TO OPEN WORD click start menu button write Ms-word.
Word wrap: a feature in word processors which causes the insertion point to automatically jump down to the beginning of the next line when you reach the.
9 Manipulating Data. 9-2 Objectives At the end of this lesson, you should be able to: Describe each DML statement Insert rows into a table Update rows.
Chapter 20 Transaction Management Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition,
Introduction to Routers
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. – Because disk accesses are.
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
Agenda Using vi Editor Starting vi Session Command / Input Modes Entering Text Editing Text Saving Edited File Aborting Editing Session.
Agenda Using vi Editor Starting vi Session Command / Input Modes
Fall UI Design and Implementation1 Lecture 15: Undo.
Transaction Management Transparencies. ©Pearson Education 2009 Chapter 14 - Objectives Function and importance of transactions. Properties of transactions.
Changing a Word table format Changing a Word table format (1 of 5) 1. Double click the Word table you want to edit. 1.
PPT2.01 CREATING AND MODIFYING TEXT AND GRAPHIC OBJECTS Dr. Ennis-Cole.
Transaction Management and Recovery, 2 nd Edition. R. Ramakrishnan and J. Gehrke1 Transaction Management Overview Chapter 18.
Module 11: Managing Transactions and Locks
Consistency Control in Distributed Collaboration Tools CISMM: Computer Integrated Systems for Microscopy and Manipulation Project Leads: Diane Sonnenwald*
Diagram Editor Use Case Analysis Assumption: simple stand-alone, single user application. Three basic kinds of interaction of the user with the diagram.
1 Lesson 12 Getting Started with Word Essentials Computer Literacy BASICS: A Comprehensive Guide to IC 3, 4 th Edition Morrison / Wells.
Microsoft Visual C# 2010 Fourth Edition Chapter 3 Using GUI Objects and the Visual Studio IDE.
9 1 Chapter 9 Transaction Management and Concurrency Control Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL.
Transaction Management Overview
Faster Data Structures in Transactional Memory using Three Paths
Collaboration Systems
Transaction Management Overview
Transaction Management Overview
Lecture 6: Transactions
Chapter 10 Transaction Management and Concurrency Control
Outline Introduction Background Distributed DBMS Architecture
Transaction Management Overview
Transaction Management Overview
DFTG 1310 Specialized Basic CAD.
Presentation transcript:

DESIGNING COLLABORATIVE APPLICATIONS Modeling Single and Multi-User Interactions Design Dimensions Coupling Concurrency Control Undo/Redo

MODELING SINGLE-USER INTERACTION Application Active Display User Editing Commands Flexible Commitment

MODELING MULTI-USER INTERACTION ApplicationActive Display User 1 Active Display User 2 Editing Commands Coupling Concurrency Control Undo/Redo

DESIGN DIMENSIONS – SEMANTIC ISSUES Session Management Single-User Interface Coupling Access Control Concurrency Control Process Control Merging Undo/Redo Awareness Focus

SEMANTIC ISSUES Coupling Concurrency Control Multi-User Undo/Redo

STRICT WYSIWIS COUPLING User 1 User 2 If user 1 moves green window Then green window moves on user 2’s screen If user 2 scrolls up in orange window Then orange window scrolls up on user 2’s screen

STRICT WYSIWIS COUPLING User 1 User 2 Pros Easy to understand Application-independent Automatable Cons Window and scroll wars Size and view wars Communication Overhead

COUPLING OF UNEXPOSED REGIONS?

RELAXED WYSIWIS COUPLING Independent Window Positions Independent Window State

SEMANTICS COUPLING

SEMANTIC ISSUES Coupling Concurrency Control Multi-User Undo/Redo

Lock Granularity Explicit/Implicit Locking Releasing the Lock Social Protocol Display Consistency Mechanism? FREE VS. CONTROLLED Controlled (Locks)Free Allow Concurrent Operations?

Session Application Window Paragraph/Drawing LOCK GRANULARITY Char Fine-grained Coarse-grained (Floor Control) Variable-grained Ensemble GroupKit DCS XTV Finer Control  Locking Overhead

EXPLICIT/IMPLICIT LOCKING ExplicitSelection-implied Lock O Append O, E1 Delete O, E2 Unlock O Select Object  Lock + Select Object Move Object Resize Object Unselect Object  Unselect + Unlock Object Key-implied (no failure) Press Key -> Lock Buffer + Insert Character Release Key  Unlock Buffer Dragging-implied (no failure) Stop Dragging  Lock + Drag + Unlock Object Dragging-implied Start Dragging  Lock Object + Start Dragging Move Object Stop Dragging  Stop Dragging + Unlock Object

Con: Accidental Locking Pro: Low Wait Time Pro: Priority Pro: Consistency Lock O Insert O, E1 Delete O, D1 Unlock O Lock O Insert O, E2 … Lock O Insert O, E1 Lock O Insert O, E2 … Lock O Insert O, E1 Lock O Insert O, E2 … RELEASING LOCKS Non-PreemptivePreemptiveTickle-Locks t > T System: MMConfSystem: CES

SEMANTIC ISSUES Coupling Concurrency Control Multi-User Undo/Redo

MULTI-USER UNDO Undo Reasons Single-UserMulti-User Recover from self errors system errors Explore alternatives Recover from others errors system errors Replay facility for newcomers

MULTI-USER UNDO FACTORS Multi- User Undo Single-User Undo Coupling Concurrency Control Linear Single-User Undo Model WYSIWIS Coupling Model

SINGLE-USER UNDO MODEL C1 C2 C1 C2 C3 C1 C2 C3 C1 C2 C3 C1 C2 C3 C1 C2 C3 C1C2C3Undo Redo

GLOBAL (LAST COMMAND) UNDO C1 C2 C1 C2 C3 C1 C2 C3 C1 C2 C1 C2 C3 C1 C2 C3 Undo Semantics Undo or

GLOBAL (LAST COMMAND) UNDO O1 O3 Insert O1, e1 Delete O2, e2 Insert O3, e2 Undo Insert O1, e1 Delete O2, e2 Insert O3, e2 Disjoint Manipulation O2

GLOBAL (LAST COMMAND) UNDO C1 C2 C1 C2 C3 C1 C2 C3 C1 C2 Concurrent Manipulation C1 C2 C3 C1 C2C3 & Undo C3 & Undo Atomic Broadcast Non-Atomic Broadcast

LOCAL, CORRESPONDING UNDO C1 C2 C1 C2 C3 C1 C2 C3 C1 C2 C1 C2 C3 C1 C2 C3 Undo Semantics

Undoing Non-Last Command Create O Rotate O Move O Resize O C1 C2 C1 C2 C3 C4 C3 C4 C1 C2 C1 C2 C3 C4 C3 C4 C1 C2 C1 C2 C3 C4 C3 C4 C1 C2 C1 C2 C3 C4 C3 C4 Undo Dependent action cannot be undone!

SELECTIVE, CORRESPONDING UNDO C1 C2 C3 C1 C2 C3 By Reference C1 C2 C3 C1 C2 C3 C1 C2 C3 C1 C2 C3 UndoUndo (C1)

SELECTIVE, CORRESPONDING UNDO By Filter Rotate O2 Rotate O1 Create O2 Create O1 Rotate O2 Create O1 Rotate O1 Filter (Blue User) Filter (O1)

SEMANTIC ISSUES Coupling Concurrency Control Multi-User Undo/Redo