vldb auckland, new zealand 2008

14
1 P2P Logging and Timestamping for Reconciliation M. Tlili, W. Dedzoe, E. Pacitti, R. Akbarinia, P. Valduriez, P. Molli, G. Canals, S. Laurière VLDB Auckland, New Zealand 2008

Upload: harper

Post on 21-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

P2P Logging and Timestamping for Reconciliation M. Tlili, W. Dedzoe, E. Pacitti, R. Akbarinia, P. Valduriez, P. Molli, G. Canals, S. Laurière. VLDB Auckland, New Zealand 2008. Outline. Motivations XWiki P2P Architecture P2P-LTR service Demonstration Conclusion. XWiki Application. XWIKI. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VLDB Auckland, New Zealand 2008

1

P2P Logging and Timestamping for Reconciliation

M. Tlili, W. Dedzoe, E. Pacitti, R. Akbarinia, P. Valduriez, P. Molli, G. Canals, S. Laurière

VLDB Auckland, New Zealand 2008

Page 2: VLDB Auckland, New Zealand 2008

2

Outline

Motivations

XWiki P2P Architecture

P2P-LTR service

Demonstration

Conclusion

Page 3: VLDB Auckland, New Zealand 2008

3

XWiki Application

Enterprise Wiki system in OSS (LGPL) from Xpertnet, Paris

• Collaborative text editing among multiple users

• Client-server

• Wiki-page updating (last save wins)

XWIKI XWIKI

Hibernate

DB

Client

Server

XWiki Client server architecture

Page 4: VLDB Auckland, New Zealand 2008

4

Motivations

Problem: client-server architecture• Single point of failure

• Hardly scalable

• Low mobility

• Etc.

Solution: pure P2P architecture• No central server

– Scalable to millions of users

• Multi-Master replication

• Challenge: ensuring data consistency– Ensure convergence of copies

– Support asynchronous updates, possibly disconnected

Page 5: VLDB Auckland, New Zealand 2008

5

XWiki P2P Application

Optimistic replication• Asynchronous reconciliation

• Yields eventual consistency

Use of a DHT• Efficient data location through put and get primitives

• Scalability

• Fault Tolerance through the DHT stabilization layer

• Handles Dynamicity (mobility)

• Simplify the construction of large-scale distributed applications

Minimal change to XWiki code base• All data remain in XWiki peers

• Only action logs (called patchs) are published and applied by XWiki

Page 6: VLDB Auckland, New Zealand 2008

6

XWiki P2P Replication

We propose a new mechanism of optimistic replication

• An algorithm for data reconciliation (So61,2) • Based on operational transformation approach (OT)

• P2P-LTR, an extension of KTS3,4 service• Distributed continues timestamp generation

• Publishing operations (patchs) in DHT network

1 Ecoo Team-Project, LORIA, http://dev.libresource.org

2 P. Molli, G. Oster, H. Skaf-Molli, A. Imine. Using the transformational approach to build a safe and generic

data synchronizer. ACM SIGGROUP Conference on Supporting Group Work, (GROUP),2003.

3 R. Akbarinia, E. Pacitti, P. Valduriez. Data Currency in replicated DHTs, SIGMOD 2007. 4 M. Tlili, W. K. Dedzoe, E. Pacitti, R. Akbarinia P. Valduriez, et al. P2P Logging and Timestamping for

Reconciliation, Accepted demo paper in Int. Conf. on Very Large Databases (VLDB), 2008.

Page 7: VLDB Auckland, New Zealand 2008

7

So6• A configuration manager

• Based on OT model

• Uses a central timestamper • To totally order the operations

• Disadvantages– Limited scalability

– Bottleneck

– Etc.

• Solution : P2P-LTR • Generate timestamps

• In a fully distributed fashion

Page 8: VLDB Auckland, New Zealand 2008

8

Xwiki P2P Architecture

XWiki ApplicationXWiki Doc

P2P Network

XWiki Doc

XWiki Doc

getLastTSretrieve

Publish

getPageapplyPatch

getPatchpush

Reconcile Engine (So6)

Patch Service

LTR

DHT (OpenChord)

XWiki Application XWiki Application

Page 9: VLDB Auckland, New Zealand 2008

9

XWiki P2P servicesPatch Manager

• Interfaces the XWiki application with replication Service • Generates operations (Patch)

Replication Service• Performs reconciliation using OT

– By retrieving consistent patches from the DHT

• Publishes consistent patches using P2P-LTR

P2P-LTR• Generates timestamps in integer serial order• Stores and replicates timestamped patches in the DHT

DHT• Implements basic DHT primitives, based on Chord• Network must be reliable with known bounds to assure consistency of routing

tables1,2

1 P.Linga et. al. Guaranteeing Correctness and Availability in P2P Range Indices. SIGMOD 20052 M. Bawa, A. Gionis, H. Garcia-Molina, R. Motwani: The Price of Validity in Dynamic Networks, SIGMOD 2004

Page 10: VLDB Auckland, New Zealand 2008

10

P2P-LTR for P2P editing

DHT

Each XWiki document is identified by a key

Xwiki peer: application

Master-key: generates timestamps and publishes patches in log peers

Master-key succ: replaces Master-keyafter crash

Log peer: stores timestamped patchesfor a key

DHT = OpenChord gen_TsgetLastTSPublish

Page 11: VLDB Auckland, New Zealand 2008

11

Reconciliation with P2P-LTR

Log

Reconc. Engine

Xwiki-Client: Post (key, patch, ts)

(1): put(hts(key), (patch+ts))

n Log-Peers and its successors

(5): Put(h1(key,Last-ts),patch)

Master of Key

Master-Succ(5): Put(succ,last-ts)

(6)ack

(3): get missing patches and apply locally

(2): ack / Last-ts

(4): put(hts(key), (patch,Last-ts))

(5): Put(h3(key,Last-ts),patch)

(5): Put(h2(key,Last-ts),patch)

Page 12: VLDB Auckland, New Zealand 2008

12

Prototype

DHT management

XWiki document management

Patch management

Patch & Timestamp informations

Network Monitoring

LTR & DHT configurations

Page 13: VLDB Auckland, New Zealand 2008

13

Conclusion

• XWiki P2P Architecture• Multi-Master replication

• Eventual consistency

• P2P-LTR• Continuous timestamp generation

• Patch replication in DHT network

• Demonstration• Concurrent document modification and patch publishing

Page 14: VLDB Auckland, New Zealand 2008

14

Thank you

Questions?