Memory optimization strategies for linear Outline mappings and - - PowerPoint PPT Presentation

memory optimization strategies for linear
SMART_READER_LITE
LIVE PREVIEW

Memory optimization strategies for linear Outline mappings and - - PowerPoint PPT Presentation

Memory optimization strategies for linear Outline mappings and indexation-based shared documents M. Mumtaz Ahmad Loria, INRIA Nancy - Grand Est, UHP Nancy - 1, IAEM Lorraine November 14, 2011 Universit Henri Poincar 1 / 88 Outline


slide-1
SLIDE 1

Outline

Memory optimization strategies for linear mappings and indexation-based shared documents

  • M. Mumtaz Ahmad

Loria, INRIA Nancy - Grand Est, UHP Nancy - 1, IAEM Lorraine

November 14, 2011

Université Henri Poincaré

1 / 88

slide-2
SLIDE 2

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Outline

1

General introduction Speeding up computations Optimizing indexed communications

2

Sequential break down of operations Problem description Contributions

3

Decentralized collaborative editing system Problem description Contributions

4

Conclusions Summary Research directions

2 / 88

slide-3
SLIDE 3

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Outline

1

General introduction Speeding up computations Optimizing indexed communications

2

Sequential break down of operations Problem description Contributions

3

Decentralized collaborative editing system Problem description Contributions

4

Conclusions Summary Research directions

3 / 88

slide-4
SLIDE 4

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Speeding up computations

Higher performnace Modern computer technology has increased the demand for higher performance in all areas of computing. Significant growth in

1

Hardware performance

2

Architecture evolution Stress is raised on

1

Compiler technology

2

Research communities

4 / 88

slide-5
SLIDE 5

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Speeding up computations

Higher performnace Modern computer technology has increased the demand for higher performance in all areas of computing. Significant growth in

1

Hardware performance

2

Architecture evolution Stress is raised on

1

Compiler technology

2

Research communities

5 / 88

slide-6
SLIDE 6

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Speeding up computations

Higher performnace Modern computer technology has increased the demand for higher performance in all areas of computing. Significant growth in

1

Hardware performance

2

Architecture evolution Stress is raised on

1

Compiler technology

2

Research communities

6 / 88

slide-7
SLIDE 7

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Micro-processor General-purpose PCs Servers to desktop, laptop Cell-phones such as iphone Permanent challenge ∗ Increasing the performance One of the possible approaches Sequential break down of operations

7 / 88

slide-8
SLIDE 8

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Micro-processor General-purpose PCs Servers to desktop, laptop Cell-phones such as iphone Permanent challenge ∗ Increasing the performance One of the possible approaches Sequential break down of operations

8 / 88

slide-9
SLIDE 9

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Micro-processor General-purpose PCs Servers to desktop, laptop Cell-phones such as iphone Permanent challenge ∗ Increasing the performance One of the possible approaches Sequential break down of operations

9 / 88

slide-10
SLIDE 10

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Hello, do you remember me...........

10 / 88

slide-11
SLIDE 11

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Optimizing indexed communication

Computer networks inspired RCE Rapid development of computer networks inspired the advancement of RCE (real time collaborative editors). In collaborative editing Participants are not bound to be in the same location Editing shared textual docu- ment, to draw a shared graph structure, record ideas during brainstorming meetings. Documents could be Articles, wiki pages and programming source code.

11 / 88

slide-12
SLIDE 12

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Optimizing indexed communication

Computer networks inspired RCE Rapid development of computer networks inspired the advancement of RCE (real time collaborative editors). In collaborative editing Participants are not bound to be in the same location Editing shared textual docu- ment, to draw a shared graph structure, record ideas during brainstorming meetings. Documents could be Articles, wiki pages and programming source code.

12 / 88

slide-13
SLIDE 13

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Optimizing indexed communication

Computer networks inspired RCE Rapid development of computer networks inspired the advancement of RCE (real time collaborative editors). In collaborative editing Participants are not bound to be in the same location Editing shared textual docu- ment, to draw a shared graph structure, record ideas during brainstorming meetings. Documents could be Articles, wiki pages and programming source code.

13 / 88

slide-14
SLIDE 14

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Conflicts may occur In DCE (decentralized collaborative editing), multiple copies of the same document may create confusions. To reconcile conflicts, indexing the contents of shared document is considered as basic requirement. Precision control indexing method (to design) Decentralized collaborative editing system

14 / 88

slide-15
SLIDE 15

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Conflicts may occur In DCE (decentralized collaborative editing), multiple copies of the same document may create confusions. To reconcile conflicts, indexing the contents of shared document is considered as basic requirement. Precision control indexing method (to design) Decentralized collaborative editing system

15 / 88

slide-16
SLIDE 16

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Conflicts may occur In DCE (decentralized collaborative editing), multiple copies of the same document may create confusions. To reconcile conflicts, indexing the contents of shared document is considered as basic requirement. Precision control indexing method (to design) Decentralized collaborative editing system

16 / 88

slide-17
SLIDE 17

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Outline

1

General introduction Speeding up computations Optimizing indexed communications

2

Sequential break down of operations Problem description Contributions

3

Decentralized collaborative editing system Problem description Contributions

4

Conclusions Summary Research directions

17 / 88

slide-18
SLIDE 18

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Problem description

Restriction A 32 bit processor performs operations on 32 bits. Any transformation of data structure required decomposi- tion in successive operations on 32 bits. Old Strategy To exchange contents of registers, it makes copies of the initial data. Errors More number of registers are required Loss of speed/power consumption Signal duplication occurs

18 / 88

slide-19
SLIDE 19

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Problem description

Restriction A 32 bit processor performs operations on 32 bits. Any transformation of data structure required decomposi- tion in successive operations on 32 bits. Old Strategy To exchange contents of registers, it makes copies of the initial data. Errors More number of registers are required Loss of speed/power consumption Signal duplication occurs

19 / 88

slide-20
SLIDE 20

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Problem description

Restriction A 32 bit processor performs operations on 32 bits. Any transformation of data structure required decomposi- tion in successive operations on 32 bits. Old Strategy To exchange contents of registers, it makes copies of the initial data. Errors More number of registers are required Loss of speed/power consumption Signal duplication occurs

20 / 88

slide-21
SLIDE 21

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Proposed strategy

in situ design of computation It does not require any extra variable other than the variables available as input Example Let E : {0, 1}2 − → {0, 1}2 be the mapping defined as E(x1, x2) = (x2, x1) To compute mapping E by a sequence of operations, we have two options: A basic program that completes the task. An in situ program that completes the task.

21 / 88

slide-22
SLIDE 22

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Proposed strategy

in situ design of computation It does not require any extra variable other than the variables available as input Example Let E : {0, 1}2 − → {0, 1}2 be the mapping defined as E(x1, x2) = (x2, x1) To compute mapping E by a sequence of operations, we have two options: A basic program that completes the task. An in situ program that completes the task.

22 / 88

slide-23
SLIDE 23

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Proposed strategy

in situ design of computation It does not require any extra variable other than the variables available as input Example Let E : {0, 1}2 − → {0, 1}2 be the mapping defined as E(x1, x2) = (x2, x1) To compute mapping E by a sequence of operations, we have two options: A basic program that completes the task. An in situ program that completes the task.

23 / 88

slide-24
SLIDE 24

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Comparison

Old strategy x0 := x1 x1 := x2 x2 := x0 In situ strategy x1 := f1(x1, x2) x2 := f2(x1, x2) x1 := g1(x1, x2) f1(x1, x2) = f2(x1, x2) = g1(x1, x2) = x1 ⊕ x2 Noticed that The in situ strategy does not make use of an extra variable x0 which involved in basic strategy.

24 / 88

slide-25
SLIDE 25

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Comparison

Old strategy x0 := x1 x1 := x2 x2 := x0 In situ strategy x1 := f1(x1, x2) x2 := f2(x1, x2) x1 := g1(x1, x2) f1(x1, x2) = f2(x1, x2) = g1(x1, x2) = x1 ⊕ x2 Noticed that The in situ strategy does not make use of an extra variable x0 which involved in basic strategy.

25 / 88

slide-26
SLIDE 26

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

How it works

Assignment Reference Value Assignment Assignment Reference Value Assignment Reference Value Reference Value Reference Value Reference Value Reference Value Process continues Evaluating assignments performs the desired operation

continuing Using reference values of the previous assignments M A P P I N G Matrix of coefficients Desired

  • peration

26 / 88

slide-27
SLIDE 27

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Interpreting an assignment

SOIV

V alpha V Delta

+ * FIELD

V

Arithmetic Operation Set of Input Variables Set of Input Variables excluding variable 'V'

27 / 88

slide-28
SLIDE 28

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Interpreting reference value

SOIV

V beta V Delta

* FIELD

V

Arithmetic Operation Set of Input Variables Set of Input Variables excluding variable 'V'

_

28 / 88

slide-29
SLIDE 29

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Alternate strategy over fields

IDC strategy to perform in situ computation has been proposed by Burckel et al [Bur07]. Alternate Approach A strategy based on Bézout’s identity Theorem Every linear mapping E: (x, y) − → (mx + ny, px + qy), where m, n, p, q ∈ Z, can be computed by a sequence of at most 3 linear assignments with rational coefficients.

Proof 29 / 88

slide-30
SLIDE 30

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Investigating bound for IDC over integers

Objective To find the minimum number of assignments required to compute the mapping sequentially using in situ strategy. Theorem Let En : (x, y) − → (Fn−1x + Fny, Fnx + Fn+1y) be the mapping over Z2, where Fn is the Fibonacci number. Then the mapping E4k+2 is computed with 2k +2 assignments, where k = 0, 1, 2, · · · , n.

Proof 30 / 88

slide-31
SLIDE 31

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Investigating bound for IDC over integers

Objective To find the minimum number of assignments required to compute the mapping sequentially using in situ strategy. Theorem Let En : (x, y) − → (Fn−1x + Fny, Fnx + Fn+1y) be the mapping over Z2, where Fn is the Fibonacci number. Then the mapping E4k+2 is computed with 2k +2 assignments, where k = 0, 1, 2, · · · , n.

Proof 31 / 88

slide-32
SLIDE 32

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Investigating bound for IDC over integers

Theorem There exists a linear mapping E : (x, y) − → (mx + ny, px + qy) with m, n, p, q ∈ Z, that cannot be computed by a sequence of at most 6 linear assignments x := ax + by y := cx + dy x := ex + fy y := gx + hy x := ix + jy y := kx + ly

                

where a, b, c, d, e, f , g, h, i, j, k, and l ∈ Z.

32 / 88

slide-33
SLIDE 33

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Identity

(Linking coefficients)

Theorem Let E : Z2 − → Z2 be a linear mapping defined as E(x, y) − → (mx+ny, px+qy) with integral coefficients m, n, p, q ∈ Z. Let E be computable by a sequence

  • f linear assignments

x := a1x + b1y y := b′

1x + a′ 1y

x := a2x + b2y y := b′

2x + a′ 2y

. . . := . . . . . . x := akx + bky y := b′

kx + a′ ky

                      

where ai, a′

i, bi, b′ i ∈ Z are integral coefficients for each i = 1, . . . , k. Then the

identity mq − pn = a1a′

1 . . . aka′ k

holds. (1)

33 / 88

slide-34
SLIDE 34

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Outline

1

General introduction Speeding up computations Optimizing indexed communications

2

Sequential break down of operations Problem description Contributions

3

Decentralized collaborative editing system Problem description Contributions

4

Conclusions Summary Research directions

34 / 88

slide-35
SLIDE 35

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Problem description

To manage conflicting modifications in collaborative editing, indexing method is the fundamental requirement. Most recent methods are introduced by Weiss et al [WUM09]

Stéphane Weiss, Pascal Urso, and Pascal Molli. Logoot-undo: Distributed collaborative editing system on p2p networks. IEEE Transactions on Parallel and Distributed Systems, 21:1162–1174, 2010.

Preguiça et al [PMSL09]

Nuno Preguiça and Joan Manuel Marquès and Marc Shapiro and Mihai Leţia. A commutative replicated data type for cooperative editing. Distributed Computing Systems, International Conference on, 0: 395-403, 2009. 35 / 88

slide-36
SLIDE 36

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Problem description

To manage conflicting modifications in collaborative editing, indexing method is the fundamental requirement. Most recent methods are introduced by Weiss et al [WUM09]

Stéphane Weiss, Pascal Urso, and Pascal Molli. Logoot-undo: Distributed collaborative editing system on p2p networks. IEEE Transactions on Parallel and Distributed Systems, 21:1162–1174, 2010.

Preguiça et al [PMSL09]

Nuno Preguiça and Joan Manuel Marquès and Marc Shapiro and Mihai Leţia. A commutative replicated data type for cooperative editing. Distributed Computing Systems, International Conference on, 0: 395-403, 2009. 36 / 88

slide-37
SLIDE 37

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Following situation is not supported

Errors are detected These approaches don’t support some of the situations. Identifiers exchange scenario

1

Two characters ’a’ and ’b’ inserted.

2

Updates are exe- cuted.

3

New character lies b/w ’a’ and ’b’ ?

Site 1 Id1: Identifier created at site 1 Id1 Id2 Site 2 Id2 Id1 Id2: Identifier created at site 2 37 / 88

slide-38
SLIDE 38

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Following situation is not supported

Errors are detected These approaches don’t support some of the situations. Identifiers exchange scenario

1

Two characters ’a’ and ’b’ inserted.

2

Updates are exe- cuted.

3

New character lies b/w ’a’ and ’b’ ?

Site 1 Id1: Identifier created at site 1 Id1 Id2 Site 2 Id2 Id1 Id2: Identifier created at site 2 38 / 88

slide-39
SLIDE 39

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Weiss et al

Order Alteration General form of identifiers corresponding to two insertions are i, s1, c1 and i, s2, c2 s1 < s2 or s1 = s2 and c1 < c2 Let user U1 intends to insert new character. N = 1. “boundary = 1” then for two identifiers

1

p = 0, s, c

2

q = 0, s, c, with p < q (say)

39 / 88

slide-40
SLIDE 40

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Weiss et al

Order Alteration General form of identifiers corresponding to two insertions are i, s1, c1 and i, s2, c2 s1 < s2 or s1 = s2 and c1 < c2 Let user U1 intends to insert new character. N = 1. “boundary = 1” then for two identifiers

1

p = 0, s, c

2

q = 0, s, c, with p < q (say)

40 / 88

slide-41
SLIDE 41

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Weiss et al

Order Alteration New identifier computed by the algorithm id = 1, s, c Computed identifier should follows p = 0, s, c < 1, s, c < 0, s, c = q ∵ 1 / ∈ [0, 0] Therefore, new id does not lie b/w identifiers p and q .

41 / 88

slide-42
SLIDE 42

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Prejuiça et al

Order Alteration

Beg End c a dB dA A B [1(0:dA)(1:dB)] [1(0:dA)(1:dA)] End 1 Disambiguator Identifier Identifier Document

Two initial identifiers are (o, d0) and (1, d1) PosIDa = [1(0 : dA)] and PosIDc = [1(0 : dB)]

42 / 88

slide-43
SLIDE 43

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Prejuiça et al

Let user B inserts a new character "a1" between "a" and "c" then algorithm returns new identifier as PosIDa1 = [1(0 : dA)(1 : dB)] If dA = (counter, siteID) = (1, 1) and dB = (counter, siteID) = (1, 2) Then PosIDa = [1(0 : (1, 1))] and PosIDc = [1(0 : (1, 2))] PosIDa1 = [1(0 : (1, 1))(1 : (1, 2))] Following the definition (Nuno Preguiça et al.) PosIDa < PosIDa1 and PosIDc < PosIDa1 It gives PosIDa1 / ∈ [PosIDa, PosIDc].

43 / 88

slide-44
SLIDE 44

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Prejuiça et al

Let user B inserts a new character "a1" between "a" and "c" then algorithm returns new identifier as PosIDa1 = [1(0 : dA)(1 : dB)] If dA = (counter, siteID) = (1, 1) and dB = (counter, siteID) = (1, 2) Then PosIDa = [1(0 : (1, 1))] and PosIDc = [1(0 : (1, 2))] PosIDa1 = [1(0 : (1, 1))(1 : (1, 2))] Following the definition (Nuno Preguiça et al.) PosIDa < PosIDa1 and PosIDc < PosIDa1 It gives PosIDa1 / ∈ [PosIDa, PosIDc].

44 / 88

slide-45
SLIDE 45

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Approach by Prejuiça et al

Let user B inserts a new character "a1" between "a" and "c" then algorithm returns new identifier as PosIDa1 = [1(0 : dA)(1 : dB)] If dA = (counter, siteID) = (1, 1) and dB = (counter, siteID) = (1, 2) Then PosIDa = [1(0 : (1, 1))] and PosIDc = [1(0 : (1, 2))] PosIDa1 = [1(0 : (1, 1))(1 : (1, 2))] Following the definition (Nuno Preguiça et al.) PosIDa < PosIDa1 and PosIDc < PosIDa1 It gives PosIDa1 / ∈ [PosIDa, PosIDc].

45 / 88

slide-46
SLIDE 46

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Redundancy of identifiers

Let the shared document is with initial and final points lb =< 0, NA, NA > and le =< 10, NA, NA >. User U1 (with s = 1 and initial clock c = 0) begins

user 2 site 2 (id1, x) (id2, y) Delete (id1, x) user 1 site 1 Insert (id1, x) Insert (id2, y) Delete (id1, x) p=<9, 1, 1> q

46 / 88

slide-47
SLIDE 47

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Redundancy of identifiers

It is possible that, boundary ≥ interval/N In this case, step=min(interval/N, boundary)=interval/N It permits that for N = 1, step=9 Algorithm returns an identifier p =< 9, 1, 1 > such that

{lb, p, le} = {< 0, NA, NA >, < 9, 1, 1 >, < 10, NA, NA >}

Let user 1 inserts another character "y" after "x" and an identifier ”q” b/w p =< 9, 1, 1 >, le =< 10, NA, NA > Let user 2 removes character "x", then it is not sure to perform the desired operation.

47 / 88

slide-48
SLIDE 48

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Redundancy of identifiers

It is possible that, boundary ≥ interval/N In this case, step=min(interval/N, boundary)=interval/N It permits that for N = 1, step=9 Algorithm returns an identifier p =< 9, 1, 1 > such that

{lb, p, le} = {< 0, NA, NA >, < 9, 1, 1 >, < 10, NA, NA >}

Let user 1 inserts another character "y" after "x" and an identifier ”q” b/w p =< 9, 1, 1 >, le =< 10, NA, NA > Let user 2 removes character "x", then it is not sure to perform the desired operation.

48 / 88

slide-49
SLIDE 49

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Redundancy of identifiers

It is possible that, boundary ≥ interval/N In this case, step=min(interval/N, boundary)=interval/N It permits that for N = 1, step=9 Algorithm returns an identifier p =< 9, 1, 1 > such that

{lb, p, le} = {< 0, NA, NA >, < 9, 1, 1 >, < 10, NA, NA >}

Let user 1 inserts another character "y" after "x" and an identifier ”q” b/w p =< 9, 1, 1 >, le =< 10, NA, NA > Let user 2 removes character "x", then it is not sure to perform the desired operation.

49 / 88

slide-50
SLIDE 50

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Redundancy of identifiers

It is possible that, boundary ≥ interval/N In this case, step=min(interval/N, boundary)=interval/N It permits that for N = 1, step=9 Algorithm returns an identifier p =< 9, 1, 1 > such that

{lb, p, le} = {< 0, NA, NA >, < 9, 1, 1 >, < 10, NA, NA >}

Let user 1 inserts another character "y" after "x" and an identifier ”q” b/w p =< 9, 1, 1 >, le =< 10, NA, NA > Let user 2 removes character "x", then it is not sure to perform the desired operation.

50 / 88

slide-51
SLIDE 51

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Errors.........

Infinite Iteration 1... For two identifiers with same values of i, Algorithm does not generate any new identifier due to the reason that interval = −1. 2... Proposed formula does not work in certain cases Example p = k1, 4, 7k2, 9, 5 and q = k3, 5, 3k4, 3, 6k5, 3, 9 with assumption BASE = 100, boundary = 10 and k1 = k2 = k3 = k4 = k5 = k To insert N lines between two lines identified by p and q, prefix(q, 1) − prefix(p, 1) − 1 =

  • −1

if k3 = k1 if k3 = k1 + 1

51 / 88

slide-52
SLIDE 52

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Errors.........

Infinite Iteration 1... For two identifiers with same values of i, Algorithm does not generate any new identifier due to the reason that interval = −1. 2... Proposed formula does not work in certain cases Example p = k1, 4, 7k2, 9, 5 and q = k3, 5, 3k4, 3, 6k5, 3, 9 with assumption BASE = 100, boundary = 10 and k1 = k2 = k3 = k4 = k5 = k To insert N lines between two lines identified by p and q, prefix(q, 1) − prefix(p, 1) − 1 =

  • −1

if k3 = k1 if k3 = k1 + 1

52 / 88

slide-53
SLIDE 53

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Precision control technique

Default Precision Rounding Precision Precision for USIDs Pd pr P€

Basic principle pr < pǫ < pd

53 / 88

slide-54
SLIDE 54

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

User/site identifiers (USIDs)

Pattern USID → 0.00 . . . 0pr+1d1d2 . . . dpr where pr ≥ 1, pǫ ≥ pr + µ, µ ≥ 2, µ ∈ N Example

0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009

Keeping this pattern, we are able to generate 9 × 10w different epsilons with w = pr − 1. For pr ≥ 1 The minimum value of epsilon is 1 × 10−(pr+2) The maximum value is 0.00 . . . 0pr+199 . . . 9pr Property |USID|pr = 0

54 / 88

slide-55
SLIDE 55

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

User/site identifiers (USIDs)

Pattern USID → 0.00 . . . 0pr+1d1d2 . . . dpr where pr ≥ 1, pǫ ≥ pr + µ, µ ≥ 2, µ ∈ N Example

0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009

Keeping this pattern, we are able to generate 9 × 10w different epsilons with w = pr − 1. For pr ≥ 1 The minimum value of epsilon is 1 × 10−(pr+2) The maximum value is 0.00 . . . 0pr+199 . . . 9pr Property |USID|pr = 0

55 / 88

slide-56
SLIDE 56

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

User/site identifiers (USIDs)

Pattern USID → 0.00 . . . 0pr+1d1d2 . . . dpr where pr ≥ 1, pǫ ≥ pr + µ, µ ≥ 2, µ ∈ N Example

0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009

Keeping this pattern, we are able to generate 9 × 10w different epsilons with w = pr − 1. For pr ≥ 1 The minimum value of epsilon is 1 × 10−(pr+2) The maximum value is 0.00 . . . 0pr+199 . . . 9pr Property |USID|pr = 0

56 / 88

slide-57
SLIDE 57

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Generating character/line identifiers LCIDs

Require

1

Points computed for one user must be different from points computed for others

2

Set of points computed for each user must be an ordered set

3

It should be possible to compute cardinality for the set of points. We modified the classical midpoint formula (a + b)/2, for an interval I = [ a, b ] with 0 ≤ a < b such that ∀ x, y ∈ I f (x, y) = x + y − x 2 − ǫ with x < y (2)

57 / 88

slide-58
SLIDE 58

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Generating character/line identifiers LCIDs

Require

1

Points computed for one user must be different from points computed for others

2

Set of points computed for each user must be an ordered set

3

It should be possible to compute cardinality for the set of points. We modified the classical midpoint formula (a + b)/2, for an interval I = [ a, b ] with 0 ≤ a < b such that ∀ x, y ∈ I f (x, y) = x + y − x 2 − ǫ with x < y (2)

58 / 88

slide-59
SLIDE 59

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Algorithm outlines

Assume that an interval I = [ a, b ], 0 ≤ a < b, presents shared document or a and b are two LCIDs corresponding to two characters/lines. To compute new LCIDs, we proceed as follows: Outlines

1

Round a and b over the precision pr

2

Evaluate ∇ = |b|pr −|a|pr 2 and round it over pr

3

If ∇ > USIDmax then go to the next step

4

p :=

  • |a|pr + ∇
  • pr − USID

5

Verify that p a and p b.

59 / 88

slide-60
SLIDE 60

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Algorithm outlines

Assume that an interval I = [ a, b ], 0 ≤ a < b, presents shared document or a and b are two LCIDs corresponding to two characters/lines. To compute new LCIDs, we proceed as follows: Outlines

1

Round a and b over the precision pr

2

Evaluate ∇ = |b|pr −|a|pr 2 and round it over pr

3

If ∇ > USIDmax then go to the next step

4

p :=

  • |a|pr + ∇
  • pr − USID

5

Verify that p a and p b.

60 / 88

slide-61
SLIDE 61

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Uniqueness of LCIDs

Theorem Let two participants are assigned with two different USIDs (ǫi, ǫj such that ǫi < ǫj, for 0 < i < j). Then for two operations performed by two participants respectively, two different LCIDs will be generated (over the interval I = [ a, b ] with 0 ≤ a < b). Example

User Unique Identifiers U1 0.099 0.199 0.299 0.399 0.499 0.599 0.699 0.799 0.899 0.999 U2 0.098 0.198 0.298 0.398 0.498 0.598 0.698 0.798 0.898 0.998 U3 0.097 0.197 0.297 0.397 0.497 0.597 0.697 0.797 0.897 0.997 U4 0.096 0.196 0.296 0.396 0.496 0.596 0.696 0.796 0.896 0.996 U5 0.095 0.195 0.295 0.395 0.495 0.595 0.695 0.795 0.895 0.995 U6 0.094 0.194 0.294 0.394 0.494 0.594 0.694 0.794 0.894 0.994

61 / 88

slide-62
SLIDE 62

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Inserting single character

x 0.292 m 0.392 y 0.492 z 0.992 b 1 x 0.292 y 0.492 z 0.992 b 1 Algo

Insertion of 'm' between two characters 'x' & 'y' indexed by identifiers 0.292 and 0.492 Characters Identifiers process Unit

62 / 88

slide-63
SLIDE 63

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Explanation

A L G O R I T H M S I N G L E U S E R P1 EMPTY DOCUMENT p3 p1 p2 p4 p3 p5 p1 p6 p2 p7 p p4 p p3 p p5 p p1 p p6 p p2 p p7 p [B,...,p,p,p,...p1,...,p,p,p,...E] updating first point

63 / 88

slide-64
SLIDE 64

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Cardinality

Let I = [ a, b ], 0 ≤ a < b and γ = |b − a| with γ > 0. Then for the precision pr, local cardinality that a user can attain is computed as Formula Cl =

      

γ × 10pr if b > a ≥ 0, for a, b ∈ N (γ1 × 10pr ) − 1 if b > a > 0, for a, b ∈ R and γ1 = |γ|pr such that pr < pǫ < pd

64 / 88

slide-65
SLIDE 65

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Cardinality

Let I = [ a, b ], 0 ≤ a < b and γ = |b − a| with γ > 0. Then for the precision pr, local cardinality that a user can attain is computed as Formula Cl =

      

γ × 10pr if b > a ≥ 0, for a, b ∈ N (γ1 × 10pr ) − 1 if b > a > 0, for a, b ∈ R and γ1 = |γ|pr such that pr < pǫ < pd

65 / 88

slide-66
SLIDE 66

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Example Suppose that I1 = [0, 1], pr = 3, USIDmin = 0.00001, and USIDmax = 0.0000999. The local cardinality of a set of LCIDs, that single user with USID = 0.0000439 can attain, is computed by Cl = 1 ∗ 103 = 1000. Example If the same user wants to compute local cardinality of LCIDs between two LCIDs (already computed by him). For instance, let I2 = [0.7609561, 0.8139561] then γ1 = 0.053 and Cl = (0.053 ∗ 103) − 1 = 52.

66 / 88

slide-67
SLIDE 67

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Example Suppose that I1 = [0, 1], pr = 3, USIDmin = 0.00001, and USIDmax = 0.0000999. The local cardinality of a set of LCIDs, that single user with USID = 0.0000439 can attain, is computed by Cl = 1 ∗ 103 = 1000. Example If the same user wants to compute local cardinality of LCIDs between two LCIDs (already computed by him). For instance, let I2 = [0.7609561, 0.8139561] then γ1 = 0.053 and Cl = (0.053 ∗ 103) − 1 = 52.

67 / 88

slide-68
SLIDE 68

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Assuring order preservation

U3 site 1 U1 site 3 U3 site 2 U2 user updating 0.007 0.001 0.004 characters identifiers End Beg 0.499 1 A End Beg A B 1 0.499 0.799 X End B Beg Y A 0.293 1 0.799 0.296 0.499 X End B T Beg Y S A 0.293 1 0.799 0.696 0.296 0.393 0.499 X End B T Beg Y S 0.293 1 0.799 0.696 0.296 0.393

68 / 88

slide-69
SLIDE 69

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Some properties

Bijection property Let S′ be the set defined over the interval I = [ a, b ], 0 ≤ a < b, as S′ = { n′ 10pr | n′ ∈ N, a < n′ ≤ β, β = γ ∗ 10pr } where γ is the length of the interval I with |γ|pr > 0. For 1 ≤ k ≤ n, n ∈ N, let ǫk be one of the USIDs then the function fk : S′ − → S′′ defined by fk(x′) = x′ − ǫk, ∀ x′ ∈ S′, is a bijection.

69 / 88

slide-70
SLIDE 70

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Some properties

Bijection property Let S′ be the set defined over the interval I = [ a, b ], 0 ≤ a < b, as S′ = { n′ 10pr | n′ ∈ N, a < n′ ≤ β, β = γ ∗ 10pr } where γ is the length of the interval I with |γ|pr > 0. For 1 ≤ k ≤ n, n ∈ N, let ǫk be one of the USIDs then the function fk : S′ − → S′′ defined by fk(x′) = x′ − ǫk, ∀ x′ ∈ S′, is a bijection.

70 / 88

slide-71
SLIDE 71

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Some properties

One of the closure properties Let Si, Sj and Sk be the set of LCIDs generated for users Ui, Uj and Uk with USIDs, ǫi, ǫj and ǫk over the interval I = [ a, b ], 0 ≤ a < b respectively. Then for any two points x ∈ Si, y ∈ Sj, x < y and for ǫj < ǫk.

  • |x|pr +
  • |y|pr − |x|pr

2

  • pr
  • pr

− ǫk ∈ Sk

71 / 88

slide-72
SLIDE 72

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Some properties

One of the closure properties Let Si, Sj and Sk be the set of LCIDs generated for users Ui, Uj and Uk with USIDs, ǫi, ǫj and ǫk over the interval I = [ a, b ], 0 ≤ a < b respectively. Then for any two points x ∈ Si, y ∈ Sj, x < y and for ǫj < ǫk.

  • |x|pr +
  • |y|pr − |x|pr

2

  • pr
  • pr

− ǫk ∈ Sk

72 / 88

slide-73
SLIDE 73

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Analysis of the function

1

Under rounding conditions.

2

Under floating point arithmetic.

3

Without rounding conditions, Proposed function works nicely.

I

pe ǫi ǫ Cd(fc) Cd(f1) Cd(f1) − Cd(fc)

[0, 0.01] 3 0.003 0.003 3 33 30 [0, 0.01] 4 0.0003 0.0003 33 243 210 [0, 0.01] 5 0.00003 0.00003 257 2216 1959 [0, 0.01] 6 0.000003 0.000003 2049 19380 17331 [0, 0.0001] 7 0.0000003 0.0000003 257 2216 1959 [0, 0.0001] 8 0.00000003 0.00000003 2049 19580 17371 [0, 0.0001] 9 0.000000003 0.000000003 32769 165039 132270

73 / 88

slide-74
SLIDE 74

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Exchange of points

Delayed exchange of points Users modify/edit shared document one by one and sends updates to all other users. It requires to verify the validity of the algorithm for the points including the points that user has received. Under this environment, we studied two cases.

1

Random participation

2

Ordered participation

Effect on global cardinality This environment may prevent global cardinality in appro- aching to its upper bound.

74 / 88

slide-75
SLIDE 75

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Exchange of points

Delayed exchange of points Users modify/edit shared document one by one and sends updates to all other users. It requires to verify the validity of the algorithm for the points including the points that user has received. Under this environment, we studied two cases.

1

Random participation

2

Ordered participation

Effect on global cardinality This environment may prevent global cardinality in appro- aching to its upper bound.

75 / 88

slide-76
SLIDE 76

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Exchange of points

Delayed exchange of points Users modify/edit shared document one by one and sends updates to all other users. It requires to verify the validity of the algorithm for the points including the points that user has received. Under this environment, we studied two cases.

1

Random participation

2

Ordered participation

Effect on global cardinality This environment may prevent global cardinality in appro- aching to its upper bound.

76 / 88

slide-77
SLIDE 77

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Exchange of points

Real time exchange of points Contrary to the delayed exchange environment, we propose this environment. Under this environment, the identifiers are not required to compute on the basis of remote points and all participants are supposed to be active. Two situations Under this environment, we studied two cases.

1

Random participation

2

Ordered participation

77 / 88

slide-78
SLIDE 78

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Exchange of points

Real time exchange of points Contrary to the delayed exchange environment, we propose this environment. Under this environment, the identifiers are not required to compute on the basis of remote points and all participants are supposed to be active. Two situations Under this environment, we studied two cases.

1

Random participation

2

Ordered participation

78 / 88

slide-79
SLIDE 79

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Model (Maximizing global cardinality)

Updates

Effect on global cardinality This environment makes it possible that global cardinality could reach its upper bound.

79 / 88

slide-80
SLIDE 80

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Outline

1

General introduction Speeding up computations Optimizing indexed communications

2

Sequential break down of operations Problem description Contributions

3

Decentralized collaborative editing system Problem description Contributions

4

Conclusions Summary Research directions

80 / 88

slide-81
SLIDE 81

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Further work

We contributed in advancing the capabilities of

1

Sequential computation and

2

Distributed systems But still a lot of work is to be done both in

1

Sequential break-down of operations

2

Decentralized collaborative editing system Dispersion problem The removal of point(s) creates the possibility of insertion

  • f point(s).

Each removal does not assure The insertion of new point(s).

81 / 88

slide-82
SLIDE 82

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Further work

We contributed in advancing the capabilities of

1

Sequential computation and

2

Distributed systems But still a lot of work is to be done both in

1

Sequential break-down of operations

2

Decentralized collaborative editing system Dispersion problem The removal of point(s) creates the possibility of insertion

  • f point(s).

Each removal does not assure The insertion of new point(s).

82 / 88

slide-83
SLIDE 83

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Further work

We contributed in advancing the capabilities of

1

Sequential computation and

2

Distributed systems But still a lot of work is to be done both in

1

Sequential break-down of operations

2

Decentralized collaborative editing system Dispersion problem The removal of point(s) creates the possibility of insertion

  • f point(s).

Each removal does not assure The insertion of new point(s).

83 / 88

slide-84
SLIDE 84

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Further work

We contributed in advancing the capabilities of

1

Sequential computation and

2

Distributed systems But still a lot of work is to be done both in

1

Sequential break-down of operations

2

Decentralized collaborative editing system Dispersion problem The removal of point(s) creates the possibility of insertion

  • f point(s).

Each removal does not assure The insertion of new point(s).

84 / 88

slide-85
SLIDE 85

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions p1 p2 p3 p4 p5 p6 p7 p8 p9 User/Site User/Site User/Site update p1 p2 p4 p5 p6 p8 p9 R e j e c t e d R e j e c t e d User/Site

Algorithm to generate LCIDs Dispersion Mechanism

p1 p2 p4 p5 p6 p8 p9 A P P L I E D p1 p2 mp4 mp5 mp6 p8 p9 User/Site A c c e p t e d One of the possible updates This Time

85 / 88

slide-86
SLIDE 86

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Modification/extension for IDC

Limitations Combinatorial results and counter examples show that the in situ strategies have certain limitations. Modifications Modification of the idea is required so that the investigated draw backs could be removed. Extensions Extension of the idea is required to deal with general cases and the real implementation is required.

86 / 88

slide-87
SLIDE 87

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

Questions?

87 / 88

slide-88
SLIDE 88

General introduction

Speeding up computations Optimizing indexed communications

Sequential break down of

  • perations

Problem description Contributions

Decentralized collaborative editing system

Problem description Contributions

Conclusions

Summary Research directions

References

Serge Burckel. The parallel-sequential duality : Matrices and graphs. CoRR, abs/0709.4397, 2007. Nuno Preguiça, Joan Manuel Marquès, Marc Shapiro, and Mihai Leţia. A commutative replicated data type for cooperative editing. Distributed Computing Systems, International Conference

  • n, 0:395–403, 2009.

Stéphane Weiss, Pascal Urso, and Pascal Molli. Logoot: A scalable optimistic replication algorithm for collaborative editing on p2p networks. In ICDCS, pages 404–412. IEEE Computer Society, 2009.

88 / 88