ACM Group 2005 Conference Consistency Maintenance Based on the Mark & Retrace Technique in Groupware Systems Ning Gu, Jiang-Ming Yang and Qi-Wei Zhang.

Slides:



Advertisements
Similar presentations
DCV: A Causality Detection Approach for Large- scale Dynamic Collaboration Environments Jiang-Ming Yang Microsoft Research Asia Ning Gu, Qi-Wei Zhang,
Advertisements

Lock-Free Consistency Control for Web 2.0 Applications Jiang-Ming Yang, Hai-Xun Wang, Ning Gu, Yi-Ming Liu, Chun- Song Wang, Qi-Wei Zhang 25 April 2008.
1 CIS 461 Compiler Design and Construction Fall 2014 Instructor: Hugh McGuire slides derived from Tevfik Bultan, Keith Cooper, and Linda Torczon Lecture-Module.
Planning II: Partial Order Planning
School of EECS, Peking University “Advanced Compiler Techniques” (Fall 2011) SSA Guo, Yao.
Outline  Introduction  Background  Distributed DBMS Architecture  Distributed Database Design  Semantic Data Control ➠ View Management ➠ Data Security.
Digital Library Service – An overview Introduction System Architecture Components and their functionalities Experimental Results.
Probabilistic Skyline Operator over Sliding Windows Wenjie Zhang University of New South Wales & NICTA, Australia Joint work: Xuemin Lin, Ying Zhang, Wei.
Correlation Search in Graph Databases Yiping Ke James Cheng Wilfred Ng Presented By Phani Yarlagadda.
Generating Plans in Concurrent, Probabilistic, Oversubscribed Domains Li Li and Nilufer Onder Department of Computer Science Michigan Technological University.
Copyright 1998 Chengzheng Sun1 Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements Chengzheng Sun Charence (Skip)
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
and 6.855J February 25, 2003 Radix Heap Animation.
After-sales Maintenance Knowledge Base (TT Case) User Manual ZTE GCSC 秘密▲
On-the-Fly Garbage Collection: An Exercise in Cooperation Edsget W. Dijkstra, Leslie Lamport, A.J. Martin and E.F.M. Steffens Communications of the ACM,
Chapter 12: Expert Systems Design Examples
Password Authentication Using Hopfield Neural Networks Shouhong Wang; Hai Wang Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions.
CSE 830: Design and Theory of Algorithms
DEPARTMENT OF COMPUTER SCIENCE SOFTWARE ENGINEERING, GRAPHICS, AND VISUALIZATION RESEARCH GROUP 15th International Conference on Information Visualisation.
Living in a Digital World Discovering Computers 2010.
Introducing Hashing Chapter 21 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Hippocratic Databases Paper by Rakesh Agrawal, Jerry Kiernan, Ramakrishnan Srikant, Yirong Xu CS 681 Presented by Xi Hua March 1st,Spring05.
Chapter 1 Introduction to Databases
What Are File Maintenance Techniques and Validation Techniques?
L. Padmasree Vamshi Ambati J. Anand Chandulal J. Anand Chandulal M. Sreenivasa Rao M. Sreenivasa Rao Signature Based Duplicate Detection in Digital Libraries.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
Factor Graphs Young Ki Baik Computer Vision Lab. Seoul National University.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
Graph Data Management Lab, School of Computer Science gdm.fudan.edu.cn XMLSnippet: A Coding Assistant for XML Configuration Snippet.
Multiple-Layer Networks and Backpropagation Algorithms
Secure Incremental Maintenance of Distributed Association Rules.
COLLABORATIVE TEXT EDITOR Multiple users distributed geographically can access the same document simultaneously. CHARACTERISTICS – high concurrency –
Fundamentals of Algorithms MCS - 2 Lecture # 1
Searching: Binary Trees and Hash Tables CHAPTER 12 6/4/15 Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education,
PETRA – the Personal Embedded Translation and Reading Assistant Werner Winiwarter University of Vienna InSTIL/ICALL Symposium 2004 June 17-19, 2004.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Computer Science Department Data Structure & Algorithms Lecture 8 Recursion.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Chapter 10: File-System.
Approximate XML Joins Huang-Chun Yu Li Xu. Introduction XML is widely used to integrate data from different sources. Perform join operation for XML documents:
Location Estimation in Ad-Hoc Networks with Directional Antennas N. Malhotra M. Krasniewski C. Yang S. Bagchi W. Chappell 5th IEEE International Conference.
Introduction to Interactive Media Interactive Media Components: Text.
Jun Li, Peng Zhang, Yanan Cao, Ping Liu, Li Guo Chinese Academy of Sciences State Grid Energy Institute, China Efficient Behavior Targeting Using SVM Ensemble.
Design of a Reversible Binary Coded Decimal Adder by Using Reversible 4-bit Parallel Adder Babu, H. M. H. Chowdhury, A.R, “Design of a reversible binary.
Working with Formulas Formula – An expression that returns a value – Written using operators that combine different values, resulting in a single displayed.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
多媒體網路安全實驗室 Practical Searching Over Encrypted Data By Private Information Retrieval Date: Reporter: Chien-Wen Huang 出處: GLOBECOM 2010, 2010 IEEE.
Graph Data Management Lab, School of Computer Science Branch Code: A Labeling Scheme for Efficient Query Answering on Tree
The Hashemite University Computer Engineering Department
Mr. Munaco Computer Technology TEACHING ADVANCED WORD 2007.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Ch. 3 – Search Supplemental slides for CSE 327 Prof. Jeff Heflin.
Optional and responsive locking in collaborative graphics editing systems By School of Computing and Information Technology Griffith University Brisbane,
Lock-Free Consistency Control for Web 2.0 Applications Jiang-Ming Yang 1,3, Hai-Xun Wang 2, Ning Gu 1, Yi-Ming Liu 1, Chun-Song Wang 1, Qi-Wei Zhang 1.
Learning for Physically Diverse Robot Teams Robot Teams - Chapter 7 CS8803 Autonomous Multi-Robot Systems 10/3/02.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Optimal Placement of Relay Infrastructure in Heterogeneous Wireless Mesh Networks by Bender’s Decomposition Aaron So, Ben Liang University of Toronto,
 Problem Analysis  Coding  Debugging  Testing.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
“Link All Together” – Linktile 2D game programming
Homework Corrections Lesson 9.01 Worksheet all.
Chapter Ten Managing a Database.
Database Management Systems
Dealing with Changes of Time-Aware Processes
Unit# 9: Computer Program Development
Affiliation of presenter
Introduction to HTML Simple facts yet crucial to beginning of study in fundamentals of web page design!
Efficient Aggregation over Objects with Extent
Presentation transcript:

ACM Group 2005 Conference Consistency Maintenance Based on the Mark & Retrace Technique in Groupware Systems Ning Gu, Jiang-Ming Yang and Qi-Wei Zhang Fudan University Jiang-Ming Yang

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory2 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory3 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory4 INTRODUCTION Whats Group Editors? Most commonly used groupware applications. Multiple users participation User can edit and modify shared data objects, such as word, graphics, and media documents, using a computer network. Techniques for building group editors have been widely applied and practiced. A Powerful research vehicles in exploring solution to consistency problems.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory5 MOTIVATION & CHALLENGE In the past decade, OT method has been gradually improved. Control Algorithms OT Functions An OT algorithm which can maintains the CCI model and solved TP2 puzzle and false-tie (ERV) puzzle will be very intricate.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory6 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory7 ADDRESS SPACE TRANSFORMATION Example 1: Initial document is abd. O 4 and O 5 are two concurrent operations. In OT Technique, due to the existence of concurrent operation O 4, O 5 shall be transformed to Insert [c, 2] before execution on site U 1.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory8 ADDRESS SPACE TRANSFORMATION

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory9 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory10 THE STRUCTURE OF MARK & RETRACE A document is a liner structure composed of characters. Each character may have several operations targeting itself while each operation targets only one character. Add the effective / ineffective mark information to every node in the liner structure. The address space can be expressed as the effective character nodes from left to right.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory11 THE RETRACING PROCEDURE The goal of the Retracing procedure is to retrace the address space to the state at a given timestamp SV. Consider the following four situations. if SV Oins SV, then this node is marked ineffective; if SV Oins SV and there is no Delete targeting this character node, then this node is marked effective; if SV Oins SV and SV Odel SV, then this node is marked effective; if SV Oins SV but SV Odel SV, then this node is marked ineffective.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory12 THE CONTROL ALGORITHM Control-Algorithm (Doc S, O), execute O on Doc S. Retracing(Doc S, SV O ) Execute the operation O, and attach the operation with its timestamp to the character node. SV S [R] SV S [R] + 1 Retracing(Doc S, SV S )

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory13 EXAMPLE 1: Effective node & ineffective node User U 1 intends to execute operation Insert[c, 3] with timestamp. Users view is ad.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory14 EXAMPLE 1: First, retrace the document to the state at the time of timestamp. Conceal the effect of operation Delete[b, 2]. Character node b become Effective. Users view is abd.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory15 EXAMPLE 1: The documents state at the time of timestamp is the state at the time of operations ( Insert [c, 3] ) generation. Operation Insert [c, 3] can be executed directly in this new address space.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory16 EXAMPLE 1: The State Vector of the local site has been adjusted to after the execution is finished. And then it retraces to the view acd of new State Vector by restoring the effect of operation Delete[b, 2] and adding the execution effect of the new operation Insert[c, 3].

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory17 OPERATION EXECUTION The Delete operations execution is simple. The process is to find the corresponding character node, attach the operation on the character node and then perform the Retracing procedure to give this node a correct effective/ineffective mark. The Insert is to search for an Inserting position in the address space, which is corresponding to a range in document between two effective character nodes. There may exist some other ineffective character nodes in this range. A Range-Scan process to determine the right-and-left relation between the new Insert and these ineffective character nodes and then find an accurate position.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory18 OPERATION EXECUTION To realize the comparability between two Insert operations, define a TOrder function: Given two character nodes CN a and CN b. The attached operations are generated at site a and site b, and are timestamped by SV a and SV b. TOrder(CN a ) < TOrder(CN b ), iff sum(SV a ) < sum(SV b ) a < b, when sum(SV a ) = sum(SV b ) Where sum(SV) =

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory19 OPERATION EXECUTION INSERT RULES: 1) The new character node should be inserted in the range. 2) If there is a existed character node CN, the insert operation of CN is causally before CN new, CN new should be inserted on the left of CN. 3) If there is a existed character node CN 1, TOrder(CN new )<TOrder(CN 1 ) and CN 1 do not meets the rule 4, CN new should be insert on the left of CN 1. 4) Otherwise, if there is two existed character node CN 1 and CN 2, CN 2 is on the right of CN 1, CN new should be inserted on the right of CN 2 when : TOrder(CN new )<TOrder(CN 1 ) TOrder(CN new )>TOrder(CN 2 ) CN 2 is causally before CN 1

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory20 OPERATION EXECUTION INSERT EXECUTION: Scan the range from left to right. If there is a existed character node meets the rule 2, return this position immediately. If there is a existed character node meets the rule 3, record this position into a variable P. If the record meets the rule 4, clean the record.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory21 CAUSALITY PRESERVATION To achieve causality preservation, we only need to ensure that every remote operation is causally- ready before its execution, which we call execution condition. It should be noted that even if causality is preserved, the execution order of the operations would still be different because of their different orders of arrival at different sites.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory22 CONVERGENCE The Proof 2 operations Same Scan-Ranges Different Scan-Ranges n operations

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory23 INTENTION PRESERVATION Since a Insert operation can find the correct scan-range and a Delete operation can find its corresponding character node at any sites and they do not interfere with other operations, those satisfy operations definition. However, there are still some arguments about the proof of achieving intention preservation, we plan to present more about intentions formal definition and the complete proof in the next future.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory24 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory25 OPERATION EXECUTION EFFICIENCY Reorganize the character nodes to a Red-Black Tree and ensure the result of pre-order traversal of the Black-Red tree is the original linear order. Every node of the tree saves two additional data the two numbers of the effective character nodes of left sub-tree and right sub-tree. The amortized costs of Insert and Delete are both O(logn).

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory26 EFFICIENCY OPTIMIZATION OF RETRACING Use the Garbage Collection method to handle a operation list containing the operations which havent been executed at some sites. Suppose the length of operation list is h which means we need to check and change at most h character nodes effective/ineffective mark during Retracting process. In the second Retracing process, we restore the changed nodes instead of the Retracing process. After then, we only need to deal with the targeting character node of the new operation.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory27 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory28 UNDO SUPPORTED Given an Undo operation O 2, Undo[O 1 ], in which O 1 s target position is P 1 and timestamped by SV O1. The execution process can be performed as follow. Retrace the address space to the state at the time SV O1 ; count to the P 1 th effective character node and attach O 2 on it. Then the second Retracing process takes this new Undo into consideration and gives this node the correct effective / ineffective mark. Append a Delete counter to every character node to realize the Multi-version / Single-display strategy.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory29 OUTLINE Introduction & Motivation Address Space Transformation Mark & Retrace Technique Efficiency Analysis Undo Supported Related Works & Conclusions

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory30 RELATED WORKS The initial concept of Mark & Retrace was proposed early in Document Mark Technique but was not able to solve the dOPT puzzle. dOPT, adOPTed and GOTO cannot fully satisfy TP2. NICE and SOCT3/4 is not able to resolve the false-tie (ERV) puzzle. GOT fail in the case of complicated false-tie (ERV) scenarios. Imine et al. tried to support TP2 by expanding IT function but fails in solving dOPT puzzle. A solution of false-tie (ERV) has been realized in Co-Word system, it is still not published. Li et al. also reported a solution and gave the proof.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory31 CONCLUSIONS In this paper we propose a strategy which can maintain CCI model and is different from OT. It does not ensure the operations execution correctness by modifying the operations address but by transforming the address space of the document. Since the Mark & Retrace processes do not affect the relative position (left or right) between characters, it is easier to maintain operations order. It can not only achieve all the consistency criteria, but can support any Undo as well.

ACM Group 2005 Conference February 15, 2014Fudan University, Cooperative Information and Systems Laboratory32 Thanks!