Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA,...

22
HAL Id: inria-00071218 https://hal.inria.fr/inria-00071218 Submitted on 23 May 2006 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Optimistic Replication for Massive Collaborative Editing Gérald Oster, Pascal Urso, Pascal Molli, Hala Skaf-Molli, Abdessamad Imine To cite this version: Gérald Oster, Pascal Urso, Pascal Molli, Hala Skaf-Molli, Abdessamad Imine. Optimistic Replication for Massive Collaborative Editing. [Research Report] RR-5719, INRIA. 2005, pp.18. inria-00071218

Transcript of Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA,...

Page 1: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

HAL Id: inria-00071218https://hal.inria.fr/inria-00071218

Submitted on 23 May 2006

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.

Optimistic Replication for Massive Collaborative EditingGérald Oster, Pascal Urso, Pascal Molli, Hala Skaf-Molli, Abdessamad Imine

To cite this version:Gérald Oster, Pascal Urso, Pascal Molli, Hala Skaf-Molli, Abdessamad Imine. Optimistic Replicationfor Massive Collaborative Editing. [Research Report] RR-5719, INRIA. 2005, pp.18. �inria-00071218�

Page 2: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

ISS

N 0

249-

6399

ap por t de r ech er ch e

Thèmes COG et SYM

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Optimistic Replication for Massive CollaborativeEditing

Gérald Oster — Pascal Urso — Pascal Molli — Hala Molli — Abdessamad Imine

N° 5719

Octobre 2005

Page 3: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,
Page 4: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

Unité de recherche INRIA LorraineLORIA, Technopôle de Nancy-Brabois, Campus scientifique,

615, rue du Jardin Botanique, BP 101, 54602 Villers-Lès-Nancy (France)Téléphone : +33 3 83 59 30 00 — Télécopie : +33 3 83 27 83 19

���������������� ����������� ����������������! "�#$��&%#�(')�#�����#*+���,�����&%#�.-0/��1�2����3

46587:9<;>=@?BA�C:D87∗ EGF 9<AIHJ9<;LK�7IANM † EGF 9OAIHP9O;RQ0MS;T;>U ‡ E,V 9<;T9WQ@MS;T;>U § EGXZY =,DJANA:9<[\9<=

] [^UT_,D¶

`�a�b:c6d�egf�hjikd:lnmpojqsr"mOt<e�l�b:c6d�e#u�vPwyx{z|l&z~}�end:lnmOt<e�l�b:c6d�e#e&t<c��,vP�|z��p��d�e����vJ�1d:l�en��f�hjh�d:lnfR�jm{m<�1m

�n�J�{�,vP�&l#�{dj��d�u�a�d:��u�a�d�x������<���Wr"hgu:l�vP�{��d��y�y�y�Zr ���Z�$�Jw�d�e

�+�� �¡�¢8£{¤�¡y¥ �¦xB��d�u�d:xplRl&z|c6d�e�§�¨©z|ªOz|�,d��Sz«�ja$�Pe�vP�2d:x�d��¬l&a�d�­R��tBl�v®c¬�Pe�e�z|¯�d#u�vP�|�«�J�2vP���Jl&z|¯�dd��Sz|l&z|x{w�°¬q\vP��dBe&�,d�u:z«�J�|�|t�§±z|l�a$�Pe®�{d:c6vPx�e&l&���Jl�d��²­�a$�Jl�u��Jx³�2d6�Pu�a{z�d:¯�d��²­�z|l&a@�´c¬�Pe�e&z|¯�du�vP�|�«�J�,vP���Jl&z|¯�d¬dIµGvP�&l�°¶q·�Pe�e�z|¯�dBu�vP�|�«�J�2vP���Jl&z|¯�d¶d��Sz|l&z|x{w^z|cB�{�|z�d�e�e�u��J�«�J�{z|�|z|l¸t³a�v¹­�d:¯�d:��§��,d�e1ºe�z|cBz�e&l&z�uL��d:�{�|z�u��Jl&z�vPxBe�u��J��d�e��,vOvP�&�|tjz|xZl&a�d�­�z��{dR�J��d��S°»hn�{l&z|cBz�e&l&z�u���d:�{�|z�u��Jl&z�vPx6vJµ,d:��e¼�,d:l&l�d:��,d:�1}½vP�&c¬�Jx�u�d6�{�{lZa$�Pe�e�d:¯�d:��d+�S����­��$�Pu�ªSeZ}½vP�®c¬�Jz|xpl��Jz|x{z|x{w²u�vPx�e&z�e�l�d:x�u:t�°¾�¸x@l&a{z�e®�$�J�,d:��§­Rd��{��vP�,vye�dZ�6x�d:­�vP�{l&z|cBz�e&l&z�u���d:�{�|z�u��Jl&z�vPx³�J�|w�vP�&z|l&a{c¿}½vP��c¬�Pe�e�z|¯�d�u�vP�|�«�J�,vP���Jl&z|¯�d�d��Sz|l&z|x{wu��J�|��d��^¨Àhjhg`j°$�¦l#z�e��{d�e�z|wyx�d��Wl�v¬e�u��J��dy§$�Pe#­Rd:�|���Pe�l�v+d:x�e&�{��d�d:¯�d:xOl&�$�J��u�vPx�e�z�e&l�d:x�u:tW�Jx��z|xOl�d:xpl&z�vPx·�{��d�e�d:�&¯y�Jl&z�vPx±°R�¦l#z�e�z|cB�,vP�&l��Jxplgl�vB�,vPz|xplgvP�{l�l&a$�Jl#¨Àhjhg`!dIÁ¬u:z�d:x�u:tW�{vOd�e#x�vPl�{d:�,d:x��^vPx·�Bxp�{c��2d:�ÂvJ}»e&z|l�d�en�Jx��\u��Jx^�,d®�{d:�{��v�t�d��·vPx·�B¯�d:�&t¾�«�J�&w�d®�{�{��d®�,d�d:�1ºÃl�vJºÃ�,d�d:�x�d:l¦­�vP�&ª,°ÄWÅ�Æ,Ç�È�É ¢8Ê� y¥ �nd��J�±l&z|c6djwy��vP�{�O­R�J��dy§2vP�{l&z|cBz�e&l&z�u®��d:�{�|z�u��Jl&z�vPx±§2vP�2d:���Jl&z�vPx$�J�¼l&���Jx�e1}½vP�&c¬�8ºl&z�vPx±§���d:�{�|z�u��Jl�d��^���Jl��Bu�vPx�e&z�e�l�d:x�u:t

∗ Ë2ÌGÍ�͆ Ë2ÌGÍ�͇ Ë2ÌGÍ�ͧ Ë2ÌGÍ�Ͷ Ì,Î�Ï8ϹнÏ

Page 5: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

���������� ��������#� �����������{���k�¶�����©������/��&�����#� ��#������*¶���,�����&%#����#$��&%#�

��  � � � ¥�� � ¨Àz|ª<z|�,d��Sz«�³� vP�{¯�d:�&l6�«�·¯�vPz�d��·�������Sz|l&z�vPx)u�vP�|�«�J�,vP���Jl&z|¯�d¾c¬�Pe�e&z|¯�dy° �»�|��d�·c6vPxOl&����dW�O��� �{x dIµ,vP�&l6u�vP�|�«�J�,vP���Jl&z~}jc¬�Pe�e&z~}n�,d:�{lB�{��v<�S�{z|��d´�{x�d¾d:x�u:t<u:��vP�����Sz�dW�O�{z#d�e&l�J�P�&vP�{����� ap�{z�e��Jx�e����O�{z|¯P�J��d:xOl�° � dÂ�$�Pe�e��Jw�d��Z������u�a�d:�|��d��S�^e&tSe&l�b:c6dj�������Sz|l&z�vPx\u�vP�|�«�J�,vP���Jl&z~}d�e�l��{�&z|c6vP���Sz«�J���2vP�{�n�������Sz|l&z�vPx·u�vP�|�«�J�,vP���Jl&z|¯�dZc¬�Pe�e&z|¯�dy° � d�ene&tSe&l�b:c6d�en�$�Pe���ege&�{���«�6���:�{�|z~ºu��Jl&z�vPx¬�2d�e�e�z|cBz�e&l�d��{d�e»�{vPx{x���d�e»x�d�e�vPxpl»�$�PeL�P���J�{l���e��gx�vPl&��d#u�vPxpl�d��Sl�dy°LmOz � �Â���:�{�|z�u��Jl&z�vPxvP�{l&z|cBz�e�l�d¬vJµ,��d6�{dBc6d:z|�|��d:�{��d�e��2d:�1}½vP�&c¬�Jx�u�d�e�§�d:�|��d¬e�vP�Sµ,��d6��� �{x²�{��vP�{��b:c6d+����u:�{�&��d:xplZ�{dc¬�Jz|xOl&z�d:xpl��{dÂ�«�Zu�vPa��:��d:x�u�dj�{d�e��{vPx{x���d�e����:�{�|z��O����d�e�° �gvP��eR�{��vP�2vye�vPx�e��{x^�J�|w�vP�&z|l&a{c6dj�{d���:�{�|z�u��Jl&z�vPx vP�{l&z|cBz�e&l�d��2vP�{�n�������Sz|l&z�vPx³u�vP�|�«�J�2vP���Jl&z|¯�d�c¬�Pe�e&z|¯�dy°#�¦� d�e&lgu�vPx�!:�\�,vP�{�g�Pe�e&�{��d:��«�´u�vPxO¯�d:�&w�d:x�u�d+�{d�e��{vPx{x���d�e�§ �«�¶�{����e�d:�&¯P�Jl&z�vPx0�{d�e�z|xpl�d:xOl&z�vPx�e�d:l®��d��$�Pe�e��Jw�d"�´������u�a�d:�|��dy°fRd:l��J�|w�vP�&z|l&a{c6dÂx�dg�#�:�2d:x��¶�$�PeR�S�¶x�vPc��{��dÂ�{dne&z|l�d�e�d:lR�2d:�{l%$:l&��dÂ�#�:�{��v�t&�Âe&�{�R�{x+����e�d��J��$�Jz|�'�Z�$�Jz|�(�Z�«�J�&w�d)��u�a�d:�|��dy°*!É ¡�  Ç ¤,+ �  ²¥ �»�Sz|l�d:�{��e�l�d:cB��e®���-�:��e�§ ���:�{�|z�u��Jl&z�vPx@vP�{l&z|cBz�e&l�dy§¼l&���Jx�e1}½vP�&c"��d�e�vP���:���Jl&z�vPxSºx�d:�|��d�e¹§�u�vPa��:��d:x�u�d®�{d�e��{vPx{x���d�e����:�$�J�&l&z�d�e

Page 6: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� �����������������������

! " �n�$�,�j/ �� �����#�

fRvP�|�«�J�,vP���Jl&z|¯�d´d��Sz|l&z|x{w �J�|��v¹­#eZ��e�d:��e®l�v·d��Sz|l�l&a�d¶e��Jc6d6l�d��Sl®}���vPc c��{�|l&z|�{��d´e&z|l�d�eZ�Pu:��vye�e�¦xpl�d:�&x�d:l�°$#�vP��d��{�JcB�{��dy§J��d�u�d:xpl&�|t�u�vP�|�«�J�2vP���Jl&z|¯�dRd��Sz|l&z|x{wg�J�|��v¹­�d��Z¨Àz|ª<z|�,d��Sz«��%|�'&�(pl�vnu�vP�|��d�u:lc6vP��dgl&a$�Jx³�y§*)y�y�S§ �y�y�B�J�&l&z�u:��d�e�z|x¶c6vP��dÂl&a$�Jx³���y���«�Jx{wy�$�Jw�d�e¹°»q\vP��d�v¹¯�d:��§{l&a$�Jx³�+ �cBz|�|�|z�vPxvJ}±�$�Jw�dn��d��O��d�e&l�eL�,d:������t�§<c6vP��d�l&a$�Jx,&�§ �y�y��u�a$�Jx{w�d�e��J��d�c¬�P�{dgd:¯�d:�&t¬����t¬�ptBc6vP��dnl&a$�Jx���S§ �y�y� �Pu:l&z|¯�d¶­��&z|l�d:��e-% ��(¸°·`�ap��e�§�¨©z|ª<z|�2d��Sz«�^z�eB�Jx d����JcB�{��d´vJ}�c¬�Pe�e&z|¯�d¶u�vP�|�«�J�2vP���Jl&z|¯�dd��Sz|l&z|x{w�°

m<u��J�«�J�{z|�|z|l¸tBz�e�vPx�d#vJ}2l&a�d�ª�d:t�z�e�e&��d�e�}�vP��c¬�Pe�e&z|¯�d�u�vP�|�«�J�2vP���Jl&z|¯�d�d��Sz|l&z|x{w�°�#�vP�Ld����JcB�{��dy§¨©z|ª<z|�2d��Sz«�·��e�d�e6� ���Jl��J�$�Pe�d¾�2d�e�e&z|cBz�e&l&z�u´��d:�{�|z�u��Jl&z�vPx©�J�{�{��v��Pu�a.%|��(¸° `�aO��e¬�J�|��u�a$�Jx{w�d�e�J��d^��vP�{l�d��ÀvPx �²e&z|x{wy��d^c¬�Pe&l�d:�´���Jl��J�$�Pe�d^l&a$�Jl+�{��vP�$�Jwp�Jl�d�e´u�a$�Jx{w�d�e¶l�v0e&�«��¯�d�e¶­�z|l&a{z|x�Sz�e�l&�&z|�{�{l�d��·�Jl�vPcBz�u�l&���Jx�e��Pu:l&z�vPx�e�°nfRvPx�e�d��p��d:xOl&�|t�§�l&a�d�c¬�Pe&l�d:�g���Jl��J�$�Pe�d�z�eÂ�6u�vPx{w�d�e�l&z�vPx�,vPz|xpl�l&a$�Jl#�|z|cBz|l�e�e�u��J�«�J�{z|�|z|l¦tWvJ}�l&a{z�en�J�{�{��v��Pu�a/%|���0(¸°�¨Àz|ª<z|�,d��Sz«����d:�|z�d�e�vPx-1Ã�{�&�{l��J� }�vP��u�d�1l�v�a$�Jx��S��d�l&a{z�e���v��P�G°

hnx6l&a�d�vPx�d�a$�Jx��G§Ol&a�d#vP�{l&z|cBz�e&l&z�u���d:�{�|z�u��Jl&z�vPx´�J�{�{��v��Pu�a2% �3(�wy��d��Jl&�|tZz|cB�{��v¹¯�d�eR�2d:�1}½vP�1ºc¬�Jx�u�d�e¹°��¦lLu��Jx6�,d��{d:�{��v�t�d��+vPx6�,d�d:�1ºÃl�vJºÃ�2d�d:��x�d:l¸­�vP�&ª¬�Jx��¬e�u��J��d�e»­�z|l&a¬u�a�d��J�¬��d�e�vP�{��u�d�e¹°hnx·l&a�dZvPl&a�d:�ga$�Jx��G§2z|lgz�e�c6vP��dZ�Sz~Á¬u:�{�|lÂl�v+d:x�e��{��d�u�vPx�e&z�e�l�d:x�u:t�°g` ���P�Sz|l&z�vPx$�J�|�|t�§Gl&a�dZvP�Sºl&z|cBz�e�l&z�un��d:�{�|z�u��Jl&z�vPx\e&t<e�l�d:c6eRd:x�e��{��dgd:¯�d:xOl&�$�J�±u�vPx�e&z�e&l�d:x�u:t¶zð dy°���d:�{�|z�u��Pe�u��Jx¾�Sz|¯�d:�&w�dÂ�{�{lc���e&l�u�vPxO¯�d:�&w�d®­�a�d:x^e&tSe&l�d:c.z�e�z��S��dy°

hn�{l&z|cBz�e&l&z�uR��d:�{�|z�u��Jl&z�vPxBz�e¼e&�{z|l�d���}½vP��u�vP�|�«�J�,vP���Jl&z|¯�d�d��Sz|l&z|x{w�°»f54jm6% �0(¸§P��d��J�~ºÃl&z|c6dRwy��vP�{�d��Sz|l�vP��e7%* {§Â�y�'(��J��d w�vOv<��d����JcB�{��d�eWvJ}�vP�{l&z|cBz�e�l&z�u³��d:�{�|z�u��Jl&z�vPx��J�|w�vP�&z|l&a{c6e\�J�{�{�|z�d�� l�vu�vP�|�«�J�,vP���Jl&z|¯�d´d��Sz|l&z|x{w�°98gv�­Rd:¯�d:��§»l&a�d�e�d+e&tSe&l�d:c6e�a$��¯�d¶x�vPl��,d�d:x �{d�e�z|wyx�d��²}½vP��c¬�Pe�e&z|¯�du�vP�|�«�J�,vP���Jl&z|¯�dRd��Sz|l&z|x{w�°�fRvPx�e�d��p��d:xOl&�|t�§Pl&a�d:tÂvJ}�l�d:x���d��O�{z|��d���u�d:xpl&���J�Se&z|l�dy§P��l�vPl��J�OvP���{d:�&z|x{w�§�´u�vPx�e�d:x�e&��e®vP�j¯�d�u:l�vP��u:��v<u�ªSe�°B`�a�d�e�d�­Rd:�|�»ªOx�v¹­�x²c6d�u�a$�Jx{z�e�c6e�vP���J�|w�vP�&z|l&a{c6eZ�J��d�x�vPl�{d�e�z|wyx�d��´}�vP���Z�«�J�&w�d®xp�{c��,d:�nvJ}�e&z|l�d�e�°

`�a�d¾c¬�Jz|x z�e�e&��d¶}½vP�Bc¬�Pe�e&z|¯�d¾u�vP�|�«�J�,vP���Jl&z|¯�d^d��Sz|l&z|x{w0e�t<e&l�d:c6e¹§»�$�Pe�d�� vPx)vP�{l&z|cBz�e�l&z�u��d:�{�|z�u��Jl&z�vPx±§<z�e�l�v�d:x�e&�{��d#d:¯�d:xOl&�$�J�2u�vPx�e&z�e�l�d:x�u:tB�Jx��+e�u��J�«�J�{z|�|z|l¸t�°Rm<vÂ}½�J��§OvPx{�|t;:ne�d:x�d:lR�Jx��< �jm+d:x�e&�{��dg�2vPl&aWd:¯�d:xOl&�$�J� u�vPx�e&z�e&l�d:x�u:t´�Jx��¾e�u��J�«�J�{z|�|z|l¸t�°58nv¹­�d:¯�d:��§{l&a�d:t´�J��dÂx�vPl�e��{z|l�d��}½vP�#u�vP�|�«�J�,vP���Jl&z|¯�d�d��Sz|l&z|x{w�°

¨Àhjhg`�z�e��Jx^vP�{l&z|cBz�e&l&z�u®��d:�{�|z�u��Jl&z�vPx·�J�|w�vP�&z|l&a{c(�{d�e�z|wyx�d��´}�vP��c¬�Pe�e&z|¯�dju�vP�|�«�J�2vP���Jl&z|¯�dd��Sz|l&z|x{w�°��¦l¼�{v<d�e x�vPl���d��O�{z|��dLl&a�dRu�d:xpl&���J�{e&z|l�dy§Jl�vPl��J�SvP���{d:�&z|x{w�§yu�vPx�e�d:x�e&��e�vP� ¯�d�u:l�vP��u:��v<u�ªSe�°�¦lL�{v<d�e»x�vPl»��e�d#l&a�d�xO�{c��,d:�RvJ} e&z|l�d�e��PeLz|l�eL�$�J���Jc6d:l�d:��°��¸l»z�e��{d�e&z|wyx�d��+l�vj�2d��{d:�{��v�t�d��¶vPx��¯�d:�&t6�«�J�&w�dg�,d�d:�1ºÃl�vJºÃ�2d�d:��x�d:l¦­�vP�&ª,°»�¸x¶l&a�d�vP�&t�§S¨Àhjhg` u��Jx¾e&�{�{�2vP�&lR¨©z|ªOz|�,d��Sz«�Zd��Sz|l&z|x{w­�z|l&a �Jx@vP�{l&z|cBz�e&l&z�u¬��d:�{�|z�u��Jl&z�vPx �J�{�{��v��Pu�a±°=#{�{l&a�d:�&c6vP��dy§�¨Àhjhg`�u�vP�{���@�J�|��v¹­ c¬�Pe�e&z|¯�du�vP�|�«�J�,vP���Jl&z|¯�d��J�{�{�|z�u��Jl&z�vPx e���u�a·�Pen¨©z|ªOz|�,d��Sz«�Bl�v¬�2d®�{d:�{��v¹t�d�� vPx·�6u�a�d��J�\�,d�d:�1ºÃl�vJºÃ�,d�d:�x�d:l¦­�vP�&ª¾­�z|l&aW�,d:l&l�d:���,d:�1}�vP�&c¬�Jx�u�d�e�°

>?>A@�BDC�EGF�H

Page 7: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

& � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

e&z|l�d¬�� ���#f <Â� �

e&z|l�d��� ���#f <� �

o1=ins(2,”12”) o2=del(3)

A12BCDE ABDE

����� Р@���� @������ @ ��� � ! � ��� ��@"$# � %�! �'&

e&z|l�dB�� ���#f <� �

e&z|l�d®�� ����f <Â� �

o1=ins(2,”12”) o1=ins(2,”12”)

A12BCDE A12BCDE

o2=del(3) o2=del(3)

A1BCDE A1BCDE

� % � �*@(��� @(��� � @��(� �)! � ��� ��@

#�z|wy�{��d6�+*»�¦xpl�d:xOl&z�vPx^¯<z�vP�«�Jl&z�vPxW�{��vP�{��d:c

`�a{z�e¬�$�J�,d:�¬}½v<u:��e�d�e¬vPx©e�d��p��d:x�u�d·vJ}�u�a$�J���Pu:l�d:��e´�{�{l+z|l+z�e+u:��d��J�+l&a$�Jl¶l&a�d\¨Àhjhg`}����Jc6d:­�vP�&ª@u��Jx@e&�{�{�,vP�&lZ�JxOt³�|z|x�d��J�Ze&l&�&��u:l&�{��dy°^`�ap��e��¾�|z|x�d��J��e&l&�&��u:l&�{��d¬u��Jx@�2d¬c6vP��du�vPcB�{��d��6dy° w�°�z|x+�n}½vP�&c�vJ}±�Jx¬vP���{d:��d��6l&��d�d�l&a$�Jl�u��Jx6�2d�c¬�J�{�,d��Bz|xOl�v��g�|z|x�d��J��e�l&�&��u:l&�{��dy°

m<d�u:l&z�vPx+�Âwyz|¯�d�eL�Jx¬v¹¯�d:�&¯Oz�d:­ÀvJ}2l&a�d�¨Àhjhg`À�J�{�{��v��Pu�a±°�m<d�u:l&z�vPx� Â�{d�e�u:�&z|�2d�e�}½vP�&c¬�J�|�|tl&a�d�¨Àhjhg`0}T���Jc6d:­RvP�&ª®z|x�u:�|���Sz|x{wÂl&a�dR�J�|w�vP�&z|l&a{c6e��Jx���l&a�d�d����JcB�{��d�e�°�m<d�u:l&z�vPx &n�{��d�e�d:xpl�e�²}½vP�&c¬�J�Âd:¯y�J�|�$�Jl&z�vPx�vJ}�u�vP�&��d�u:l&x�d�e�e¾vJ}�¨Àhjhg` �J�|w�vP�&z|l&a{c6e�°�m<d�u:l&z�vPx��0�{��d�e�d:xOl�e´l&a�d��d:�«�Jl�d���­�vP�&ªSe�°»m<d�u:l&z�vPx;)�e&�{cBc¬�J�&z�e�d�e¼u�vPxOl&�&z|�{�{l&z�vPx�e»vJ}�l&a�dL�$�J�,d:���Jx���wyz|¯�d�e��Jx�v¹¯�d:�&¯Oz�d:­vJ}�vP�{��}��{l&�{��dj­�vP�&ª,°

, - �j���/.!���Z�2���# 10

`�a�dnl&���P�Sz|l&z�vPx$�J�±vP�{l&z|cBz�e&l&z�un��d:�{�|z�u��Jl&z�vPx^�J�{�{��v��Pu�a�d�e��{vZd:x�e&�{��dÂd:¯�d:xpl&�$�J�Gu�vPx�e&z�e&l�d:x�u:t9% �0(¸°`�aO��e�§{z|xWu�vP�|�«�J�,vP���Jl&z|¯�d�d��Sz|l&z|x{w�§{��d��J� l&z|c6djwy��vP�{�^d��Sz|l�vP��e��{d)2�x�d®l&a�dÂx�vPl&z�vPx^vJ}�z|xOl�d:xpl&z�vPx�{��d�e�d:�&¯P�Jl&z�vPx %|����(¸°Z�¦lgc6d��Jx�e®l&a$�Jl®­�a�d:x0�Jx²vP�2d:���Jl&z�vPx³z�e®��dIº¸d��Sd�u:�{l�d��³vPx³��d:c6vPl�d6e�z|l�d�e�§z|l�egdIµGd�u:l�egvPx·l&a�d�w�d:x�d:���Jl&z�vPx e�l��Jl�dZ�J��d��{��d�e�d:�&¯�d��G°Â`»t<�{z�u��J�|�|t�§,�&�{��d�ej�Pe43¸l&a�d��«�Pe&lg­��&z|l�d:�­�z|x�e�1´�{v x�vPl6�{��d�e�d:�&¯�d¾z|xpl�d:xOl&z�vPx±° #�vP�+d��{�JcB�{��dy§Rz|x ¨©z|ªOz|�,d��Sz«�·­�a�d:x l¸­Rv²��e�d:��e¬d��Sz|lu�vPx�u:�{�&��d:xOl&�|t¬l&a�dne��Jc6dn�J�&l&z�u:��dy§Ol&a�d52�x$�J�,�J�&l&z�u:��d�­�z|�|�p� ��e�lLu�vPxpl��Jz|x¾u�a$�Jx{w�d�e�}���vPc�l&a�d��«�Pe&l­��&z|l�d:��° fRvPx�e�d��p��d:xOl&�|t�§»l&a{z�e��&�{��d¶¯<z�vP�«�Jl�d�e�l&a�d¶z|xOl�d:xpl&z�vPx�e¬vJ}nl&a�d62���e�lZ­��&z|l�d:��°0q·�JxO�$�J�c6d:�&wyz|x{w¬z�e#�{vPx�d����,vye&l�d:�&z�vP�&zG��e&z|x{w6¯�d:��e�z�vPx{x{z|x{w¬c¬�Jx$�Jw�d:c6d:xpl�°

`�a�d�z|xpl�d:xOl&z�vPxSºÃ¯Oz�vP�«�Jl&z�vPx��{��vP�{��d:c a$�PeG�,d�d:x®z|xOl&��vO�S��u�d���z|xjl&a�d»��� < :jfR�^�J�{�{��v��Pu�a,%|����(¸°mO�{�{�,vye�dBl&a$�Jl�l¸­Rv\e&z|l�d�e�e&a$�J��d+�We&l&�&z|x{w\u�vPxOl��Jz|x{z|x{w � ���#f <g� �87 uI}&°62�wy�{��d\� 7 �:9;9I°WmOz|l�d�¶z|x�e�d:�&l�e � ��� � �Jl��,vye&z|l&z�vPx)� �Jx�� vP�{l��Jz|x�e � �Z���<��f <Â� � ° `�ap��e¹§Le&z|l�d �´a$�PeBd��{d�u:�{l�d��

Ð>= > Ð�Î

Page 8: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� �

vP�,d:���Jl&z�vPxo1 = ins(2, ”12”)

­�z|l&a²l&a�d�z|xpl�d:xOl&z�vPx@l�v¾z|x�e�d:�&l � ��� � �2d:l¦­�d�d:x � � � �Jx�� � � �|°mO�{�{�,vye�dÂl&a$�Jl#e&z|l�dj���{d:��d:l�d�e#vPx�dju�a$�J���Pu:l�d:�g�Jl��,vye&z|l&z�vPx ��Jx��WvP�{l��Jz|x�e � ��� <g� � °�mOz|l�d®�a$�Pe�d��Sd�u:�{l�d��WvP�,d:���Jl&z�vPx

o2 = del(3)­�z|l&aWl&a�djz|xpl�d:xOl&z�vPx\l�vB�{d:��d:l�d�l&a�dju�a$�J���Pu:l�d:� � f'�|°��¸}

­Rd�d��Sd�u:�{l�dR�,vPl&a�vP�,d:���Jl&z�vPx�e»�Jx��Z�{��d�e�d:�&¯�dRz|xpl�d:xOl&z�vPx�e�§�­Rd�c���e&l�vP�{l��Jz|x � �����<� <Â� � ° �R�{lz~}�­Rd®��e�d�l&a�d�e�d:�&z«�J�|z � �Jl&z�vPx·�{��vPl�vOu�vP�ç$z|l�c¬��tWe�d:�&z«�J�|z � d o1

�,dI}�vP��do2°�`�a�d�2�x$�J�¼��d�e&�{�|lnz|x

l&a{z�e�u��Pe�dgz�e � �Z����f <Â� � 7 uI}&° 2�wy�{��dB� 7 � 9;9I°LfRvPxp¯�d:�&w�d:x�u�djz�e��Pu�a{z�d:¯�d��¾�{�{l�l&a�dnz|xOl�d:xpl&z�vPx�ezð dy°�vP�,d:���Jl&z�vPx\dIµGd�u:l�e�§��J��djx�vPl��{��d�e�d:�&¯�d��G°

�¸x©l&a{z�e¾d��{�JcB�{��dy§nz|xpl�d:xOl&z�vPx �{��d�e�d:�&¯y�Jl&z�vPx�c6d��Jx�e´l&a$�Jl´z~} � ��� � a$�Pe´�,d�d:x©z|x�e�d:�&l�d���,d:l¸­Rd�d:x � � �$�Jx�� � � �|§{l&a�d:xWl&a{z�envP���{d:�&z|x{w ′A′ ≺ ”12” ≺′ B′ c���e&l��2dj�{��d�e�d:�&¯�d��¾}½vP���Jxpt}��{�&l&a�d:��e&l��Jl�d�e¹°

�¸x^vP���{d:�nl�v¬d:x�e&�{��d�z|xpl�d:xOl&z�vPx·�{��d�e�d:�&¯P�Jl&z�vPx±§�¨Àhjhg` l&���Jx�e&�«�Jl�d�eg�{�&z|cBz|l&z|¯�d�l�d��<lgd��Sz|l1ºz|x{w�vP�,d:���Jl&z�vPx�e z|xpl�v vP���{d:�&z|x{w�e�° `�a�d:��dI}½vP��d z|x�e&l�d��P��vJ}+d��{d�u:�{l&z|x{w��Jx��!�{��v��P�{u��Pe&l&z|x{winsert(2, ”12”)

§<z|lLd��{d�u:�{l�d�einsert(2, ”12”)

�Jx��6�{��v��P�{u��Pe&l�einsert(′A′ ≺ ”12” ≺′ B′)

°¨©a�d:x)l&a�d�e�d^vP�,d:���Jl&z�vPx�e´�J��d^z|xpl�d:wy���Jl�d��G§�¨Àhjhg` z|x�e�d:�&l�e � ��� � �,d:l¸­Rd�d:x�� � ���Jx�� � � �|°8gd:x�u�dy§,l&a�d 2���e&lÂu�vP�&��d�u:l&x�d�e�e®u:�&z|l�d:�&z�vPx²vJ}Ll&a�dZ¨Àhjhg` �J�{�{��v��Pu�a³z�e ��� � �� ��� ���� �� �+����0������ ��$°

���{��vP�{��d:c c¬��t³vOu�u:�{��z~}R­RdB��d�u�d:z|¯�dinsert(′A′ ≺ ”12” ≺′ B′)

�Jx�� � �'�±a$�Pe®�,d�d:x��v<u��J�|�|t²�{d:��d:l�d��G° �¸x@l&a�d¬¨Àhjhg` �J�{�{��v��Pu�a±§(� � �±­�z|�|��d��<z�e&l��2d�u��J��e�d¶�\u�a$�J���Pu:l�d:��z�e�x�vPl�{d:��d:l�d��G°L�n�Jl&a�d:��§{z|l�z�e�c¬�J�&ª�d��·�Pe�z|xp¯<z�e&z|�{��dy°

�L�Pu�aÀz|x�e�d:�&l6vP�2d:���Jl&z�vPxÀw�d:x�d:���Jl�d�e6l¦­�v²x�d:­(vP���{d:�6��d:�«�Jl&z�vPx�e&a{z|��e�§Ra�v�­Rd:¯�d:��§�z|l6�{v<d�ex�vPl¶w�d:x�d:���Jl�d³�³l�vPl��J�ÂvP���{d:��§��1��e&l¶�0�$�J�&l&z«�J�ÂvPx�dy°.#�vP�´d����JcB�{��dy§#u�vPx�e&z��{d:�´l&a{��d�d\e�z|l�d�e­�a�d:��dgd��Pu�a´e&z|l�d�w�d:x�d:���Jl�d�eRvPx�dgvP�,d:���Jl&z�vPx´�Pe��{��d�e�d:xpl�d��+z|x 2�wy�{��dg� 7 �:9I°��n�|�$��d:�«�Jl&z�vPx�e&a{z|��e�,d:l¸­Rd�d:x6u�a$�J���Pu:l�d:��eL�J��dR��d:�{��d�e�d:xOl�d��Bz|xZl&a�d 8Â�Pe�e�dR�Sz«�Jwy���Jc 7 �Pe��{d:�{z�u:l�d����pt�2�wy�{��d#� 7 � 9;9I°#���vPc.l&a�dj�Sz«�Jwy���JcW§{­�dju��Jx¾x�vPl&z�u�dÂl&a$�Jl�l&a�dje&l��Jl�d�e#��d�e&�2d�u:l&z|x{wBz|xOl�d:xpl&z�vPx�eg�J��dÂl&a�dÂ�|z|x�d��J�d��Sl�d:x�e&z�vPx�eÂvJ}Ll&a�d��$�J�&l&z«�J��vP���{d:�gzð dy° � �� S���J� � § � �� y�S�:� � § � �y�� S�:� � °j�¦x vP���{d:�gl�v´�Pu�a{z�d:¯�du�vPxO¯�d:�&w�d:x�u�dy§2�J�|�±e�z|l�d�e�c���e&l�a$��¯�d®l&a�djeN�Jc6dj�|z|x�d��J��d��Sl�d:x�e&z�vPx±°

�L�Pu�a l&z|c6d¾�Jx vP�2d:���Jl&z�vPx z�e���d�u�d:z|¯�d��G§��^x�d:­��|z|x�d��J�Bd��Sl�d:x�e&z�vPx z�eZu�vPcB�{�{l�d��G°0`�a{z�eu�vPcB�{�{l��Jl&z�vPx@c���e&l��2d � �� � ��D���gzð dy°�l&a�dBx�d:­ �|z|x�d��J��d��Sl�d:x�e&z�vPx³c���e�l®�2dBu�vPcB�$�Jl&z|�{��d­�z|l&a²�J�|���{��d:¯<z�vP��ejvPx�d�e�° #�vP�jd����JcB�{��dy§Gz~}(� � �2­R�PeÂ�{�«�Pu�d�� �,dI}�vP��d � ���|§,l&a�d:x²�+x�d:­��|z|x�d��J�d��Sl�d:x�e&z�vPx¾u��Jx{x�vPl��{�«�Pu�d � ���<�2dI}½vP��d � � �|°�`±���P�Sz|l&z�vPx$�J�|�|t�§2��l�vP�,vP��vPwyz�u��J�±e�vP�&l�z�eR��e�d��¶l�v 2�x���B�|z|x�d��J��d��<l�d:x�e�z�vPx\vJ}»���$�J�&l&z«�J�¼vP���{d:��d��\e�d:l�°58gv�­Rd:¯�d:��§$u:�«�Pe�e�z�u��J� l�vP�,vP��vPwyz�u��J�¼e�vP�&l#z�e#x�vPlc6vPx�vPl�vPx{z�uZ�Jx��¾u�vPx�e�d��O��d:xpl&�|t�§�x�vPlne&�{z|l��J�{��djz|xWl&a{z�e#u�vPxOl�d��<l�°

`�a�d³u�a$�J�|��d:x{w�d0vJ}Zl&a�d ¨Àhjhg`¿}T���Jc6d:­RvP�&ª z�e´l�v d:x�e&�{��d³u�vPxp¯�d:�&w�d:x�u�d0�pt©��e&z|x{w)�c6vPx�vPl�vPx{z�u\�|z|x�d��J�+d��Sl�d:x�e&z�vPx)}T�{x�u:l&z�vPx±°�`�aO��e�§�­�a�d:x)¨Àhjhg` ��d�u�d:z|¯�d�e¶x�d:­(u�a$�J���Pu:l�d:�c§�z|l¶z|x�e�d:�&l�e´z|l¶�2d:l¦­�d�d:x

x�Jx��

yzð dy°

x ≺ c ≺ y° 8gv�­�d:¯�d:��§nl&a�d:��d·c¬��tÀ�2d·e�vPc6d

vPl&a�d:��u�a$�J���Pu:l�d:��eR�2d:l¦­�d�d:xx�Jx��

y§�u�vPx�u:�{�&��d:xpl&�|t¬z|x�e�d:�&l�d��6vP�»�{��d:¯<z�vP��e&�|tB�{d:��d:l�d��G°�`�ap��e�§

cc���e&l´�,dW�{�«�Pu�d�� e�vPc6d:­�a�d:��d³�Jc6vPx{w l&a�d�e�d\u�a$�J���Pu:l�d:��e�°k` v �{��d��Jª l&a�d·l&z�d\�2d:l¦­�d�d:x

>?>A@�BDC�EGF�H

Page 9: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

) � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

l¦­�v´�{x�vP���{d:��d��²u�a$�J���Pu:l�d:��ej¨Àhjhg`���e�d�e®�¬l�vPl��J�»vP���{d:�j�$�Pe�d�� vPx l&a�d��{x{z��O��dBu�a$�J���Pu:l�d:�z��{d:xOl&z 2$d:��°=8nv¹­�d:¯�d:��§�l�v^�Pu�a{z�d:¯�d+u�vPxO¯�d:�&w�d:x�u�dy§ ��� 6�6'��� +� � � � � � ��2� � � � ��

c������� �

��� � � �� � '� ������ <�A��� ���� �� ����� � � ��� �� �� ��� ��� ��� � �G� �� �I°

- ���� �®�,����� )�����

�¦x³l&a{z�e®e�d�u:l&z�vPx±§ ­�dB�{��d�e�d:xpl®l&a�dB¨Àhjhg` c6vO�{d:���Jx��²z|l�e��J�|w�vP�&z|l&a{c6e�°B¨²d�}½vP�&c¬�J�|�|t �{dIº2�x�d^l&a�d\���Jl��0e&l&�&��u:l&�{��d\��e�d�� �Ot ¨Àhjhg`¿�Jx��)l&a�d\vP���{d:�+��d:�«�Jl&z�vPx�e+��e�d�� l�v²�|z|x�d��J�&z � du�a$�J���Pu:l�d:��e�° #�z|x$�J�|�|t�§{­Rd®�{d�e�u:�&z|�,djl&a�d®�J�|w�vP�&z|l&a{c6en��e�d��´�pt´l&a�dj¨Àhjhg` }����Jc6d:­�vP�&ª,°

� wy��vP�{�¬d��Sz|l�vP��z�e»u�vPx�e�z�e&l�d:xpl�z~}±�Jx��BvPx{�|t�z~}&§Pz|l»e��Jl&z�e'2$d�e»l&a�dR}�vP�|��v¹­�z|x{w®l¸­Rvj�{��vP�2d:�&l&z�d�e�*� É�����Å ¢�� Å�� ¤ Å)¨©a�d:x l&a�dBe��Jc6dBe�d:ljvJ}RvP�,d:���Jl&z�vPx�eja$�PeÂ�,d�d:x²d��Sd�u:�{l�d��²�Jl��J�|��e&z|l�d�e¹§±�J�|�

u�vP�{z�d�e�vJ}�l&a�dje&a$�J��d��W�{v<u:�{c6d:xplÂ�J��djz��{d:xpl&z�u��J�ð��� ¡ Å�� ¡�� É���� ¢ Å   Å ¢ � £S¡�� É�� #$vP�L�Jxpt�vP�,d:���Jl&z�vPx

O§yl&a�d�dIµGd�u:l�e�vJ}2d��{d�u:�{l&z|x{w�h �Jl��J�|�{e&z|l�d�e

�J��djl&a�dje��Jc6d��Pe#l&a�d®dIµ,d�u:l�e�vJ}�d��{d�u:�{l&z|x{wOz|xWz|l�e#w�d:x�d:���Jl&z�vPx\e&l��Jl�dy°

� �"! #%$'&($*),+ -/.�0

¨Àhjhg`�c¬�Jx$�Jw�d�eB¨Àº¸u�a$�J���Pu:l�d:��e6�pt@d:x�u��J��e��{�«�Jl&z|x{w³l&a�d´�P�{�Sz|l&z�vPx$�J��z|xS}½vP�&c¬�Jl&z�vPx)�J�,vP�{lu�a$�J���Pu:l�d:��e�zð dy°�z��{d:xOl&z 2$d:��§$¯<z�e&z|�{z|�|z|l¦t´�Jx��WvP���{d:����d:�«�Jl&z�vPx±°1¾Å32�� �>¡�� É'�5456 ¨)º¸u�a$�J���Pu:l�d:�

c� � �87 �� � �9� � �

< id, v, α, idcp, idcn > : � �� ; id

� � ��� � � �� ��� 7 �� �� ��� ��� ����� �G� ��=<; v ∈ {True, False}

��� ����� ��� ��� � ��� ��� ����� �G� �� � ���+�� � ��� �; α

� � ��� ��� ��� � ��'��� �����?�����>�D �� ��� �? �G� ��� ����� �G� �� �; idcp

������ � � �� ��� 7 '� �� ��� � � ��+� @� �BA�� ��� ��� � �+� �� ��c<

; idcn

�� ��� ������ ��� 7 �� �� ��� � DC��EA�� ��� ����� �G� '� ��c<

`�a�d��{��d:¯<z�vP��eL�Jx��Zl&a�dRx�d��<l�¨Àº¸u�a$�J���Pu:l�d:��e�vJ}c�J��dRl&a�dR¨Àº¸u�a$�J���Pu:l�d:��e»�,d:l¸­Rd�d:xB­�a{z�u�a

ca$�Pe��,d�d:xWz|x�e�d:�&l�d��G°

1¾Å32�� �>¡�� É'�,FHGI� � � ��+� @� �JA�� ��� ��� � �G� ��� ��c�� � �� � ��

CP (c)<EGI� 5� �C��KA�� �L� ����� �G� ��

��c� � � �� �� ��

CN (c)<

�L�Pu�aWe&z|l�dsa$�Pe��{x{z��O��dgz��{d:xpl&z 2$d:�

numSites§<��vPwyz�u��J�±u:��v<u�ª

Hs§Se�d��O��d:x�u�d

stringsvJ}

¨Àº¸u�a$�J���Pu:l�d:��en�Jx��+�,v<vP�2vJ}��2d:x��Sz|x{wBvP�,d:���Jl&z�vPx�epools

°�`�a�dÂe&z|l�dgz��{d:xpl&z 2$d:���Jx��¶l&a�dÂ��v<u��J�u:��v<u�ª¾�J��dj��e�d��´l�v6z��{d:xpl&z~}�t´u�a$�J���Pu:l�d:��e�z|x^�B�{x{z��p��d­���t�°1¾Å32�� �>¡�� É'��MN6 u�a$�J���Pu:l�d:��z��{d:xOl&z 2$d:�-� � � �����

(ns, ng) : � �� ns��;��� ;� � �� ��� 7 ��6 ��6�

����� ��� �ng

��,� � ���9� � ��� �O� �6� ��=<PAQ� �� �RA�� ��� ��� � �+� �� �� � �� �� � � ��/ �� � ��� s

� ������ � �� ��� 7 '��� �

(numSites,Hs)<

Ð>= > Ð�Î

Page 10: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� �

�L�Pu�aBl&z|c6d#�n¨Àº¸u�a$�J���Pu:l�d:�»z�e�w�d:x�d:���Jl�d��6vPxBe&z|l�ds§Pl&a�d���vOu��J�{u:��v<u�ª

Hsz�e�z|x�u:��d:c6d:xpl�d��G°

mOz|x�u�dnumSite

z�e��{x{z��p��dy§�l&a�dÂ�$�Jz|��}�vP�&c6en���{x{z��p��dÂz��{d:xOl&z 2$d:��}½vP����u�a$�J���Pu:l�d:��°

1¾Å32�� �>¡�� É'��� 6¿¨Àº¸e&l&�&z|x{w � �2��� �� � '���� �G��L� '� �� ���A�� �L� ����� �G� �� �Cbc1c2 . . . cnCe

: � ��� Cb

��� �Ce

��� ���� 2� � �G����� A�� ��� ����� �G� �� ��� � <�< : ����� � � �'� ��� � � �� ��� 7 �� ��� ��� ���� �����;��� � �����D�D�����=��� ����� �� ������, �� ��� �+�L�D�� ��=<

¨²d®�{d)2�x�djl&a�dg}½vP�|��v�­�z|x{w6}��{x�u:l&z�vPx�e�}½vP�#e�d��O��d:x�u�dS

* |S|

�{d:x�vPl�d�e#l&a�dÂ��d:x{wyl&a·vJ}�e�d��O��d:x�u�dS°

S[p]�{d:x�vPl�d�e�l&a�d#d:��d:c6d:xpl��Jl»l&a�d��,vye&z|l&z�vPx

pz|x

S°¼¨²d�e&l��Jl�d�l&a$�Jl�l&a�d 2���e&lLd:��d:c6d:xOl

vJ}�e�d��p��d:x�u�dSz�en�Jl��2vye&z|l&z�vPx·�B�Jx��¾l&a�dj�«�Pe&l#d:��d:c6d:xOl�z�e��Jl��,vye&z|l&z�vPx

|S| − 1°

pos(S, c)��d:l&�{�&x�e#l&a�dj�,vye&z|l&z�vPxWvJ}�d:��d:c6d:xpl

cz|x

S�Pen�Zx$�Jl&�{���J� xp�{c��2d:��°

insert(S, c, p)z|x�e�d:�&l�e#d:��d:c6d:xpl

cz|x

S�Jl#�2vye�z|l&z�vPx

subseq(S, c, d)��d:l&�{�&x�eZl&a�d¶�$�J�&lBvJ}�e�d��O��d:x�u�d

S�,d:l¸­�d�d:x l&a�d¶d:��d:c6d:xpl�e

c�Jx��

d7 d��Su:�|���Sz|x{w+u��Jx��W� 9I° contains(S, c)

��d:l&�{�&x�e�l&�&��djz~}cu��JxW�,dg}�vP�{x��´z|x

S`�a�dZ}�vP�|��v¹­�z|x{w´}T�{x�u:l&z�vPx�e��J��d���e�d��\l�v´�|z|x{ª\l&a�d�¨)º¸e�l&�&z|x{w¶­�z|l&a³l&a�dBe�l&�&z|x{w¾l&a$�Jlj��e�d:�­�z|�|�¼d:¯�d:xpl&�$�J�|t¾e�d�dy° value(S)

z�e�l&a�d6��d:�{��d�e�d:xpl��Jl&z�vPx vJ}S

7 zð dy°¾l&a�d+e�d��p��d:x�u�d+vJ}�¯Oz�e&z|�{��d¶�J�|�{a$�J�2d:l&z�u��J�¯P�J�|��d�e)9I° ithV isible(S, i)

z�eith

¯<z�e&z|�{��dju�a$�J���Pu:l�d:�gvJ}S°

`�a�dÂ}�vP�|��v¹­�z|x{w6l¸­Rv¬vP�,d:���Jl&z�vPx�e#�{�,���Jl�d��Z¨Àº¸e&l&�&z|x{w *� �  ��1¤� z|x�e�d:�&l�e6¨Àº¸u�a$�J���Pu:l�d:�

c�,d:l¸­Rd�d:xÀz|l�e¬�{��d:¯Oz�vP��e¶�Jx�� x�d��Sl¬u�a$�J���Pu:l�d:��e+�{x��{d:�¬l&a�d

u�vPx��Sz|l&z�vPx^l&a$�Jl#l&a�dÂ�{��d:¯<z�vP��en�Jx��Wx�d��<l#u�a$�J���Pu:l�d:��end��Sz�e&l�°Ê Å +��1¤� �{d:��d:l�d�e#¨Àº¸u�a$�J���Pu:l�d:�

c�{��v¹¯Oz��Sz|x{w+l&a$�Jl

cd��<z�e&l�e¹°

� ��� ���3-/.����

1¾Å32�� �>¡�� É'������� � � ��+ ��� ��� � ��� �;� ���� � : BA�� ��� ����� �G� �� ��<a ≺ b

� � ��� � �� ��� � � �?��� �� DC�� �'���6�-�GG� �� ��� ��� � �+� ����

c0, c1, ...ci

��� ��� ��� ���a = c0, b = ci

��� �CN (cj) = cj+1

��

cj = CP (Cj+1)�G �� �����

0 ≤ j ≤ i<

­�a�d:��d≺z�e��6�{z|x$�J�&t´��d:�«�Jl&z�vPx·v¹¯�d:��l&a�d®e�d:lnvJ}�¨Àº¸u�a$�J���Pu:l�d:��e¹°

≺z�e�z|�&��d��$d��Sz|¯�dy§$l&���JxSº

e�z|l&z|¯�d®�Jx��^�Pe&t<cBc6d:l&�&z�uy°»`�ap��e�§≺z�e��Be&l&�&z�u:l��$�J�&l&z«�J��vP���{d:��°

` v�vP�{l��Jz|xW��e&l&�&z|x{w�}���vPc�l&a{z�eR�$�J�&l&z«�J�GvP���{d:��§<­�dga$��¯�dÂl�v 2�x��´���|z|x�d��J��d��Sl�d:x�e&z�vPx 7 zð dy°�Zl�vPl��J�¼vP���{d:� 9I°

1¾Å32�� �>¡�� É'� �"! '�S� ;�6�+�L�D�� �� � ��� ���� ����� ��

≤S

�� � �7 � ��=���a ≤S b

� � ��� �- ��D�#�� �

pos(S, a) ≤ pos(S, b)

>?>A@�BDC�EGF�H

Page 11: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

� � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

¨Àa�d:x x�v³�{��d�u�d��{d:x�u�d^��d:�«�Jl&z�vPx)u��Jx �,d¾d�e&l��J�{�|z�e&a�d�� �,d:l¸­Rd�d:x)l¸­Rv0u�a$�J���Pu:l�d:��e�§Rz|lBz�ex�d�u�d�e�e��J�&t³l�v\vP���{d:��l&a�d:cW°2#{�{�&l&a�d:�&c6vP��dy§»l�v\d:x�e&�{��d´u�vPxp¯�d:�&w�d:x�u�dy§Ll&a{z�e�vP���{d:��c���e�l��,dz|x��{d:�,d:x��{d:xpl+}���vPc l&a�dWe&l��Jl�dWvJ}Âl&a�d^e�z|l�d�e�° #�vP�+l&a{z�e6�{�{�&�,vye�dy§L­RdW��e�dWl&a�dWu�a$�J���Pu:l�d:��ez��{d:xOl&z 2$d:��°

1¾Å32�� �>¡�� É'��� ! '�a��� �

b� � : QA�� ��� ��� � �G� �� � : ����� ��� ���5���� � �+������������ ��� 7 �� � (nsa, nga)��� �

(nsb, ngb)<a <id b

� � ��� �6 ��D�#� � � �����nsa < nsb

�� ��� �nsa = nsb

��� �nga < ngb

<

� � � � 0�� + � &��/) �¨©a�d:x¾�®e&z|l�dnw�d:x�d:���Jl�d�e#�Jx¶vP�,d:���Jl&z�vPx±§<l&a{z�e�vP�2d:���Jl&z�vPx¶z�eRz|xpl�d:wy���Jl�d��¶��vOu��J�|�|t�§<�{��v��P�{u��Pe&l�d���Jx��+l&a�d:x´z|xpl�d:wy���Jl�d��¾�Ot+�J�|�GvPl&a�d:��e&z|l�d�e�°�`�a�dg��d��Pe�vPx¬}½vP�Rl&a�dn��v<u��J�2z|xpl�d:wy���Jl&z�vPxWz�eRl�v�l��Jª�dz|xOl�v¬�Pu�u�vP�{xplnl&a�djz|xp¯<z�e&z|�{��d®u�a$�J���Pu:l�d:��e�l&a$�Jlg�J��dÂ�{��d:¯Oz�vP��e&�|t¾�{d:��d:l�d��G°

Å��¼Å ¢J£S¡�� É'��� #$vP�+�Jx)vP�,d:���Jl&z�vPxop§type(op)

�{d:x�vPl�d�e¬z|l�eBl¸t<�2d+*del

vP�ins

° �n��e�v{§char(op)

�{d:x�vPl�d�e�l&a�dju�a$�J���Pu:l�d:�gc¬�Jx{z|�{�{�«�Jl�d��W�Ot+l&a�d®vP�,d:���Jl&z�vPx±°¨Àa�d:x³�Jx^��e�d:�gz|xpl�d:���Pu:l�e­�z|l&a·l&a�dj}����Jc6d:­�vP�&ª,§Ge��8a�d�vPx{�|t^e�d�d�e

value(S)°Âm<v{§�­�a�d:x

�Jx z|x�e�d:�&l�vP�,d:���Jl&z�vPx z�e�w�d:x�d:���Jl�d�� l&a�d´��e�d:�1ºÃz|xpl�d:�1}Ã�Pu�dWvPx{�|t e�a�v�­#eBl&a�d´¯<z�e&z|�{��d¶�2vye�z|l&z�vPx�Jx��´l&a�d®�J�|�{a$�J�,d:l&z�u��J�±¯y�J�|��djvJ}¼l&a�dju�a$�J���Pu:l�d:�#l�v��2dgz|x�e�d:�&l�d��G° #�vP��z|x�e&l��Jx�u�dy§

ins(2, a)z|x

”xyz”z�e�l&���Jx�e��«�Jl�d��¾z|xpl�v

ins(x ≺ a ≺ y)°

Å��¼Å ¢J£S¡ Å3���   7pos, α

9Hs := Hs + 1+ Å ¡

cp := ithV isible(stringS , pos)§

cn := ithV isible(stringS , pos + 1)§

wchar :=< (numSites,Hs), T rue, α, cp.id, cn.id >�L� ¡ Å �$¢J£S¡ Å3���   7wchar, cp, cn

9�¼¢ É £{Ê�¤�£{ �¡

ins(wchar)

mOz|cBz|�«�J�&�|t�§L­�a�d:x)� �{d:��d:l�d¾vP�,d:���Jl&z�vPx z�e�w�d:x�d:���Jl�d��G§Rz|l�z�e�x�d�u�d�e�e��J�&t l�v ��d:l&�&z�d:¯�d´l&a�d¨Àº¸u�a$�J���Pu:l�d:��}T��vPc.l&a{z�e��2vye�z|l&z�vPx±° Å��¼Å ¢J£S¡ Å31¾Å + 7

pos9

+ Å ¡wchar := ithV isible(strings, pos)�L� ¡ Å �$¢J£S¡ Å31¾Å + 7

wchar9

�¼¢ É £{Ê�¤�£{ �¡del(wchar)

Ð>= > Ð�Î

Page 12: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� �

�¶Å ¤ Å�� ¡�� É�� mOz|l�d�e¶c¬��t ��d�u�d:z|¯�d\vP�,d:���Jl&z�vPx�e¶­�z|l&aÀ�{xO¯�d:�&z 2$d�� �{��d�u�vPx��Sz|l&z�vPx�e�°!�¸xÀl&a$�Jlu��Pe�dy§Sl&a�d

isExecutable}��{x�u:l&z�vPx^u�a�d�u�ª<e��{��d�u�vPx��Sz|l&z�vPx�envJ}»�Jx^vP�,d:���Jl&z�vPx±°

�T ���� Å ¤ ±¡�£{� + Å 7op

9+ Å ¡

c := char(op)���type(op) = del

¡� Å��¢ Å ¡�¼¢ �

contains(strings, c)Å +T  Å¢ Å ¡�¼¢ �

contains(strings, CP (c))£ � Ê

contains(stringS, CN (c))Å�� Ê ���` v6�{d��J�±­�z|l&a^�2d:x��Sz|x{w¬vP�,d:���Jl&z�vPx�e�d��Pu�a^e&z|l�dÂc¬�Jz|xOl��Jz|x�eg���,v<vP�,vJ}�vP�,d:���Jl&z�vPx�e�°

�¶Å ¤ Å�� ¡�� É�� 7op

9£{Ê�Ê

op¡ É

pools

#�vP�®z|x�e&l��Jx�u�dy§��¾e&z|l�dBd��{d�u:�{l�d�edel(c)

vPx{�|t z~}cz�e®�{��d�e�d:xOl�°¬�¸}

cz�ejx�vPl��{��d�e�d:xpl�§¼l&a�d

z|xOl�d:wy���Jl&z�vPx\vJ}�l&a�d®vP�,d:���Jl&z�vPxWz�e#�{d:�«��t�d��^�{xpl&z|�cz�e��{��d�e�d:xpl�°

* £O� � 7 9+ ÉGÉ�2�� Ê

op� �

pools � ¤��²¡�¼£S¡E�T ���� Å ¤, ¡�£{� + Å 7

op9

+ Å ¡c := char(op)���

type(op) = del¡� Å��

��� ¡ Å �$¢J£S¡ Å31¾Å + 7c

9Å +T  Å

��� ¡ Å �$¢J£S¡ Å3���   7c, CP (c), CN (c)

9Å�� Ê ���

Å�� Ê + ÉGÉ��

��� ¡ Å �$¢J£S¡�� É�� `¼v´z|xpl�d:wy���Jl�d¬�Jx³vP�,d:���Jl&z�vPxdel(c)

§±­�dBe�d:lgl&a�d�¯Oz�e�z|�{��d ���Jw¾vJ}Ru�a$�J���Pu:l�d:�cl�v

False§Sz|�&��d�e��2d�u:l&z|¯�d:�|t¾vJ}�l&a�dj�{��d:¯Oz�vP��e#¯P�J�|��dy°

��� ¡ Å �$¢J£S¡ Å31¾Å + 7c

9c.v := False

` v·z|xpl�d:wy���Jl�dW�Jx vP�2d:���Jl&z�vPxins(c)

z|xstrings

§�­Rd+x�d�d�� l�v·�{�«�Pu�dc�Jc6vPx{w²�J�|��l&a�d

u�a$�J���Pu:l�d:��e��2d:l¦­�d�d:xcp�Jx��

cn°�`�a�d�e�d�u�a$�J���Pu:l�d:��e�u��Jx+�,d#�{��d:¯<z�vP��e&�|t6�{d:��d:l�d��¶u�a$�J���Pu:l�d:��e

vP��l&a�d¬vPx�d�e®z|x�e�d:�&l�d��²�pt³u�vPx�u:�{�&��d:xOlZvP�,d:���Jl&z�vPx�e�°¶¨Àa�d:x@vP�2d:���Jl&z�vPxins(c)

z�e�d��{d�u:�{l�d��vPx^�6e&z|l�dy§S�{��vOu�d��S�{��d

IntegrateIns(c, cp, cn)z�e#d��Sd�u:�{l�d��G°

>?>A@�BDC�EGF�H

Page 13: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

��� � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

e&z|l�d6�� �J� �

e&z|l�d��� �J� �

e�z|l�d � �J� �

op1 = ins(a ≺ 1 ≺ b)

--[[[[[[[[[[[[[[[[[[[[[[[op2 = ins(a ≺ 2 ≺ b)

��>>>

>>>>

>>>>

>>>>

>

}}{{{{

{{{{

{{{{

{{{{

{{{{

{{{{

a1b a2b op1

op3 = ins(a ≺ 3 ≺ 1)

))SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS a1b

a31b op2

op2 a12b

a312b op3

a312b���)��� � @�� # � ��� @�� " � # ��� � ! � #�� � #��

3Cp(3)

������

���� Cn(3)

��===

====

a 1Cp(1)

ooCn(1)

// b

2Cp(2)

ggNNNNNNNNNNNNNNCn(2)

@@��������

� % �Cp

� @ �Cn

# �'! � ��� ��@ �� � "�

#�z|wy�{��d�� *»���J�&l&z«�J�¼vP���{d:�&z|x{w�e

��� ¡ Å �$¢J£S¡ Å3���   7c, cp, cn

9+ Å ¡

S := strings+ Å ¡S′ := subseq(S, cp, cn)���

S′ = ∅¡� Å��

insert(S, c, pos(S, cn))Å +T  Å+ Å ¡

L := cpd0d1 . . . dmcn

È � Å ¢ Åd0 . . . dm

£{¢ Å ¡� Ũ

−u�a$�J� � �

S′ �¼¤ �0¡�¼£S¡

CP (di) ≤S cp

£ � Êcn ≤S CN (di)+ Å ¡

i := 1È � � + Å 7i < |L| − 1

9 £ � Ê 7L[i] <id c

9 Ê Éi := i + 1Å�� Ê È � � + Å

��� ¡ Å �$¢J£S¡ Å3���   7c§L[i − 1]

§L[i]

9Å�� Ê ���

Ð>= > Ð�Î

Page 14: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� �y�

`�a�d��J�|w�vP�&z|l&a{c vP���{d:��e�u�a$�J���Pu:l�d:��e�­�z|l&a<id

­�a�d:x6x�vj�{��d�u�d��{d:x�u�d���d:�«�Jl&z�vPx≺z�eL��¯P�Jz|�~º

�J�{��dy°S′ z�egl&a�d�e�d��p��d:x�u�dZvJ}Ru�a$�J���Pu:l�d:��ej�,d:l¸­�d�d:x cp

�Jx��cn

°Âz~}S′ d:cB�{l¸t�§ c z�egz|x�e�d:�&l�d���,d:l¸­Rd�d:x

cp

�Jx��cn

°hnl&a�d:�&­�z�e�dy§±¨Àhjhg`kc¬�Jª�d�e��´u�vP�pt vJ}

S′ z|x L�Jx�� ��d:c6v�¯�d�e®}T��vPc

L�J�|�»u�a$�J���Pu:l�d:��e

ci

­�z|l&aCp(ci)

vP�Cn(ci)

�,d:l¸­Rd�d:xcp

�Jx��cn

°�¨²djd��<�{�«�Jz|xWl&a{z�e�u�a�vPz�u�dj­�z|l&a 2�wy�{��d�� 7 �:9I°¨©a�d:x

op2z�e�z|xOl�d:wy���Jl�d�� vPx e&z|l�d= S§

op2e�d�d´vPx{�|t0l&a�d´e&l&�&z|x{w � �S�:� � ° f�a$�J���Pu:l�d:��� � ��z�e

u�vPcB�$�J��d�� l�v u�a$�J���Pu:l�d:���|� ���Jx��@l&a�d:x z|x�e�d:�&l�d�� �8}�l�d:� �|� �|°³¨©a�d:xop2

z�eZz|xpl�d:wy���Jl�d��)vPxe�z|l�d+�y§

op2e�d�d�l&a�dZe�l&�&z|x{w � �� S�:� � °�` v´�,d�e&�{��dZl�v¶c¬�Jª�dZl&a�d�e��Jc6d�u�a�vPz�u�d�l&a$�Jx³vPx³e&z|l�d

�S§ � � ��c���e&l+u�vPcB�$�J��d�� 2���e&l6­�z|l&a©u�a$�J���Pu:l�d:� �|� ���Jx�� c¬��tO�,dWx�d��Sl6­�z|l&a©u�a$�J���Pu:l�d:� �* �|°¨Àhjhg`À�{d:l�d�u:l�eLl&a$�Jl'�* �yc���e�lLx�vPlL�,d#u�vPcB�$�J��d��+l�v"� � ���,d�u��J��e�d

Cn(3)z�e»�,d:l¸­Rd�d:x

Cp(2)�Jx��Cn(2)

7 uI}�2�wy�{��d^� 7 � 9;9I°)`�ap��e�§�z|l6u��Jx)d��Sz�e&l6�Jx�vPl&a�d:�+e&z|l�d´­�a�d:��dWu�a$�J���Pu:l�d:� � � ��z�ez|xOl�d:wy���Jl�d��¶�Jx��¬u�a$�J���Pu:l�d:� �* �yz�e�x�vPlLt�d:lR�J�&�&z|¯�d��+�Pe�z|x 2�wy�{��dg� 7 �:9�vPx¬e�z|l�d S°��Rt6�J�{�{�|t<z|x{wl&a{z�e¬e&l&���Jl�d:wyt�§L­RdW�J��d¾e&�{��d´l&a$�Jl¬�J�|�#u�a$�J���Pu:l�d:��e+z|x

L�J��d¾e�vP�&l�d�� �Ot@l&a�d

<id

��d:�«�Jl&z�vPx±°�gd��Sl�§�¨Àhjhg` a$�Peg�1��e&lZl�v^z|x�e�d:�&l

cz|x l&a{z�e�e�vP�&l�d�� �|z�e&l�°³�¸}

iz�eZl&a�d¶z|x�e�d:�&l��,vye&z|l&z�vPx vJ}

cz|x

L§�¨Àhjhg` c¬�Jª�d�e6�\��d�u:�{��e&z|¯�d¾u��J�|��l�v z|xpl�d:�&wp�Jl�d��{�¦x�e 7

c§L[i − 1]

§L[i]

9Z­�a�d:��d¶l&a�de��{��e�d��p��d:x�u�dn�,vP�{x��{d��+�Ot

[L[i− 1]§L[i]]

z�eRe&l&�&z�u:l&�|t¬e&a�vP�&l�d:�Rl&a$�Jx´l&a�dne�d��O��d:x�u�dn�2vP�{x��{d���Ot

[Cp, Cn]°

� ��� ��� $ )�� 0 .

mO�{�{�,vye�d´l&a$�JlBl&a{��d�dWe�z|l�d�e6�J��d¾z|x l&a�d´z|x{z|l&z«�J��e&l��Jl�d �cbce

� ° ¨²d¾u�vPx�e&z��{d:�6l&a�d¾e�u�d:x$�J�&z�ve�a�v�­�x©�pt 2�wy�{��d� 7 �:9I° �¦l¬w�d:x�d:���Jl�d�e¶l&a�d·vP���{d:�&z|x{w�e¶�{d:�{z�u:l�d��©�Ot l&a�d98Â�Pe�e�dW�Sz«�Jwy���Jc7 2�wy�{��d 7 � 9;9I°»¨²d®�J��e�vB�Pe�e&�{c6dgl&a$�Jl

<id

��d:�«�Jl&z�vPx¾z�e��{d)2�x�d��W�PeR}�vP�|��v¹­#e�* �|� �<id

� � �<id�* �

<id

� &��|°

��� ¡ Å �$¢J£S¡�� É��)É���� �>¡ Å M ��mOz|l�d� ���d�u�d:z|¯�d�eo1�Jx��+l&a�d:x¶w�d:x�d:���Jl�d�e

o3�Jx��

o4°�`�ap��e¹§{e&z|l�d

Zw�d:l�e#z|x¾l&a�d®e�l��Jl�d �cb314ce

� °�¸l�z|xpl�d:wy���Jl�d�e

o2 = ins(cb ≺ 2 ≺ ce)° � � �Gc���e&l��2d+�J�&���Jx{w�d�� �Jc6vPx{w·u�a$�J���Pu:l�d:��e

�2d:l¦­�d�d:xcb

�Jx��ce

°g`�ap��e®�Jc6vPx{w � S�'& � ­�a{z�u�a²�J��d��{�{lÂz|xS′ ° Cn(3)

�Jx��Cp(4)�J��d¶�2d:l¦­�d�d:x

cb

�Jx��ce

e�v·vPx{�|t �|� ����d:c¬�Jz|x�e�z|xL°·¨Àhjhg` u�vPcB�$�J��d�e � � �¼l�v �|� �

�Pu�u�vP���Sz|x{wWl�v¶��d:�«�Jl&z�vPx<id

° �|� �<id

� � �Gl&a�d:��dI}½vP��d � � �2c���e�lj�2dZz|x�e�d:�&l�d��²�8}�l�d:� �|� �|°�¸xOl�d:wy���Jl&z�vPx¬�{��v<u�d��S�{��d�z�e»u��J�|��d��¬��d�u:�{��e&z|¯�d:�|t��2d:l¦­�d�d:x �|� ���Jx��

ce

°»hnx{�|t� &��y��d:c¬�Jz|x�ez|x

L° � � �$c���e&lÂ�2d�z|x�e�d:�&l�d��·�2dI}½vP��d� &��,�Pe � � �

<id

� &��|°Â`�ap��e � � �2c���e&lÂ�,d�z|x�e�d:�&l�d���2d:l¦­�d�d:x �|� �$�Jx�� � &��|°#�z|x$�J�|�|t�§�e&l��Jl�d®vJ}LmOz|l�d Z�,d�u�vPc6d�e �

cb3124ce

� °��� ¡ Å �$¢J£S¡�� É��)É���� �>¡ ÅBF ��mOz|l�d��Zw�d:x�d:���Jl�d�e

o2l�vBw�d:l#e&l��Jl�d �

cb2ce

� °

>?>A@�BDC�EGF�H

Page 15: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

��� � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

e&z|l�dB��+�

e&z|l�d®��+�

e&z|l�d �+�

o1 = ins(cb ≺ 1 ≺ ce)

((QQQQQQQQQQQQQQQQQQ

--[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[o2 = ins(cb ≺ 2 ≺ ce)

��

2 1

12 o3 = ins(cb ≺ 3 ≺ 1)

ssggggggggggggg

312 o4 = ins(1 ≺ 4 ≺ ce)

ssffffffffffff

3124 314

3124

���)� �� � & " !�� ��� � @ � # � �

2

''OOOOOOOOOOOOOO

cb

77oooooooooooooo

��???

????

?// 1

��>>>

>>>>

// ce

3

@@�������4

??��������

� % ��� � �� � � � � � # � &

�¸l�z|xpl�d:wy���Jl�d�eo1 = ins(cb ≺ 1 ≺ ce)

° �|� �¼�Jx�� � � �±a$��¯�d¬l&a�d+e��Jc6dB�{��d:¯<z�vP��eZ�Jx��x�d��<lRu�a$�J���Pu:l�d:��e�° �|� ��c���e�lRvP���{d:��d��+­�z|l&a � � �<�Pu�u�vP���Sz|x{wZl�v���d:�«�Jl&z�vPx

<id

°��ge �|� �<id� � �|§��|� �Sz�e�z|x�e�d:�&l�d��W�2dI}½vP��d"� � �|°LmOz|l�d��Za$�Pe�l&a�dje&l��Jl�d �

cb12ce

� °

Ð>= > Ð�Î

Page 16: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� �+

�¸l¶z|xpl�d:wy���Jl�d�eo3 = ins(cb ≺ 3 ≺ 1)

°k�ne+l&a�d:��d·z�e¶x�v@u�a$�J���Pu:l�d:�¾�2d:l¦­�d�d:x�z|l�e�{���Jx�u�a�d�e�§ �* �Sz�e#e&z|cB�{�|t´z|x�e�d:�&l�d��G°�mOz|l�d���vP�{l��Jz|x�e�e&l��Jl�d �

cb312ce

� °�¸ljz|xOl�d:wy���Jl�d�e

o4 = ins(1 ≺ 4 ≺ ce)° � &��,c���e&l®�,d�u�vPcB�$�J��d��²­�z|l&a � � �±�Pu�u�vP���Sz|x{w

l�v<id

°��ge)� � �<id

� &��|§�� &��Sc���e&l#�,djz|x�e�d:�&l�d��^�8}�l�d:�)� � �|°»`�ap��e¹§{z|l#c���e�l#�2dÂz|x�e�d:�&l�d���2d:l¦­�d�d:x � � �$�Jx��

ce

°#�z|x$�J�|�|t�§�e&z|l�d��Zw�d:l�e�z|x\e&l��Jl�d �

cb3124ce

� °��� ¡ Å �$¢J£S¡�� É��)É���� �>¡ Å%4 ��mOz|l�d´��w�d:x�d:���Jl�d�e

o1l�v+vP�{l��Jz|x³e&l��Jl�d �

cb1ce

� °Â�¸�&��d�e��2d�u:l&z|¯�d:�|tvJ}�l&a�dR�J�&�&z|¯y�J�OvP���{d:��vJ}

o2§o3�Jx��

o4§J¨Àhjhg` u�vPcB�{�{l�d�e

cb3124ce

° �¦xZ�J�|�Su��Pe�d�e�§8l&a�d2�x$�J��e&l&�&z|x{w�z�e � S����& � §Ol&ap��eRu�vPxp¯�d:�&w�d:x�u�dÂ�Jx��6z|xOl�d:xpl&z�vPx´�{��d�e�d:�&¯y�Jl&z�vPx¶�J��d�d:x�e��{��d��G°

� ')���2�2�� ���Z��$

� � ÅOÉ ¢ Å � 4 GI� ��� � �������� � ������ � ��������� �� � �� � ��� ��� �=<

� ¢ ÉGÉ � 4 � �� + �� ��� � �� ��� � ��� �G��� ���<GI� ��� � �� ����� � � 3 � � �� � ��)� ��� ��� )�?� � ��� �; ��D�#� � � �?��� � �L� ������� � ����� �� � �� � �� ��

� ������� �G��� �D� �G��� �� ��=< GI��� � � ��� � � � � ��� ��D�#� � � : � '�>� � �� � �� � � �S′ ��� � L = cpcn

< �L = cpcn

� ������� ��� ��� � �G� �� ��� ��� ��S′ � ��� ����� � � �� �� ���G �� �� ��� � �� ���G �� ��� S′ < 6 � � ������>�

��� 7 ���'� ��� � ������� �� ��� ����� �G� '�;� G� : �� cp

��� �cn

� ��� ����� � � ��+� @��� ��� ��� DC�� ��� ����� �G� �� � (� ������� ��

S′ <JGI� ���� � � � �(� �+;��� ��� ��� � �+� ���� � ����;� ��� � �� '� ��� �-�� � ������� �G� ���� ��=<GI�3� � � ��� �� ����9����� ����'��� ��� ��� � �G� �� � ��

L< � ��� =�� ����� � ���� � ����� � �=� �� �� �

�'��� ���G���#�;� � ����� �� � �D� �G��L� '� �� ��� �,��� ��� � �� ����� � � '� � ��� ��� �=<

��� ¡ Å�� ¡�� É�� � ¢ Å   Å ¢ � £S¡�� É�� hn�{�G�|z|x�d��J�&z � �Jl&z�vPxZvP���{d:�±c���e&l±��d�e&�,d�u:lGl&a�d��{��d�u�d��{d:x�u�d�vP���{d:��{d)2�x�d��W­�a�d:x^vP�2d:���Jl&z�vPx�eg�J��djw�d:x�d:���Jl�d��G°

� � ÅOÉ ¢ Å � F�� �� ����� ��≤s

��� ���� � � A8� � G ��/ � ���2� ��� � � �;�=� �� ����6�C�� ��D� � ��/ �� ��� � �� ����� ��

≺<

� ¢ ÉGÉ � F�� �� �� � ���� �� ��-��� � �������� �� � 0 �,� �� � +��� ���2��'������� ��≺<�GI� ��6� ���� ���� �� � �

��D��� � +��� 7 ��9��� �� @��� �IntegrateIns

< GI� ;�� � ��� � ���� �� �� ��� ��� � �+� ��c��;��� : � ��� � �� � � ��������� �G'����� �� � '� : �� CP (c)

��� �CN (c)

< GI�3� �≤s

� � �6� ��� ���� �C�� �� ���� �� ��≺<

8nv¹­�d:¯�d:��§»d:x�e&�{�&z|x{w z|xOl�d:xpl&z�vPx �{��d�e�d:�&¯y�Jl&z�vPx z�e�x�vPlBe&�SÁ¬u:z�d:xOl�°2#$vP��z|x�e&l��Jx�u�dy§»z~}#l¸­�ve�z|l�d�e6z|x�e�d:�&l´u�vPx�u:�{�&��d:xpl&�|t�� ���R�Jx�� � t��»�,d:l¸­�d�d:x l&a�d\e��Jc6d^u�a$�J���Pu:l�d:��e � � ���Jx���� ���|§�l&a�d��d�e��{�|l&z|x{w e&l&�&z|x{w�e¶u��Jx)�,d � ���St<� � �Jx�� � ��t,�S� � ° `�a�d�e�d^l¸­Rv@�|z|x�d��J�´d��Sl�d:x�e&z�vPx�e+eN�Jl&z�e1}Ttz|xOl�d:xpl&z�vPx\�{��d�e�d:�&¯P�Jl&z�vPx\�{�{l#�{vBx�vPl�u�vPxO¯�d:�&w�dy°

>?>A@�BDC�EGF�H

Page 17: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�'& � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

� É�����Å ¢�� Å�� ¤ Å ¨²dZ�{v+x�vPlna$��¯�dZ�¬c¬�Jxp�$�J���{��v<vJ}�vJ}Lu�vPxp¯�d:�&w�d:x�u�dy°j`¼v+¯�d:�&z~}�t¾l&a�dZu�vP�1º��d�u:l&x�d�e�e�vJ}#vP�{�Z�J�|w�vP�&z|l&a{cW§�­�d¬a$��¯�d¬��e�d��³l&a�d¬` � f�c6v<�{d:�~º¸u�a�d�u�ª�d:�BvPx@�^e&�,d�u:z 2$u��Jl&z�vPxc6v<�{d:��d��·vPx·l&a�dZ` � ��� e��2d�u:z 2$u��Jl&z�vPx �«�Jx{wy�$�Jw�d-%|�+)�(¸°'�nvPl�d�l&a$�Jljq\v<�{d:�~º¸u�a�d�u�ªOz|x{w´l�d�u�aSºx{z��O��d�e��J��d¬�$�J�&l&z�u:�{�«�J�&�|t e&�{z|l�d��0l�v\¯�d:�&z~}�t²u�vPx�u:�{�&��d:xpl6e&tSe&l�d:c6e�°¾¨©z|l&a l&a�d+` � f c6v<�{d:�u�a�d�u�ª�d:�#­RdÂa$��¯�d¯�d:�&z 2$d��W���,vP�{x��{d��´c6vO�{d:�±vJ}�¨Àhjhg`j°{�¸x´�{���Pu:l&z�u�dy§Sz|l�z�eRz|cB�2vye�e&z|�{��dÂl�vl�d�e�l��¾e&tSe&l�d:c­�z|l&a@�´�«�J�&w�dBxO�{c��,d:��vJ}�e&z|l�d�e��Jx��²u�a$�J���Pu:l�d:��e��S��dBl�v´l&a�dB}½�Jc6vP��e�e&l��Jl�dd��S�{��vye&z�vPx �{��vP�{��d:cW°���Å%�2Å ¢@� 2�Å Ê ¤ É'���2Å ¢ � Å�� ¤ Å � ¡ É � É ¼¢¾ ��>¡ Å  ¾£ � Ê 2 ��Å ¤�� £{¢ Ç£{¤�¡ Å ¢J  �\�¦ljl�vOvPª²�J�,vP�{l®l¸­Rv^­Rd�d:ª<e�­�z|l&a �¾��d:xpl&z|�{c 7 � 9�& fR� :

2.80GHz°¾`�a�d6` � �

e��2d�u:z 2$u��Jl&z�vPxWa$�Pe#�2d�d:x^�{d�e�u:�&z|�2d��¾z|x¾c6vP��d��{d:l��Jz|��e#z|x¾l&a�djl�d�u�a{x{z�u��J� ��d:�,vP�&l %*)0(L°fRvPxp¯�d:�&w�d:x�u�d®��d��O�{z|��d�e�l&a$�Jl�l¦­�v6u�a$�J���Pu:l�d:��e�vPx¾l¸­Rv6e&z|l�d�e��J��dÂ�|z|x�d��J�&z � d��Wz|x¾l&a�dje��Jc6d

vP���{d:��°�`�a�d#u�vPxO¯�d:�&w�d:x�u�dnu:�&z|l�d:�&z«�®z�e»d:x�e&�{��d��B�Ot�l&a�d�}½�Pu:lLl&a$�JlLd:¯�d:�&t�w�d:x�d:���Jl�d��¬u�a$�J���Pu:l�d:�­�z|�|� �2dÂz|x�e�d:�&l�d��Wz|xWd:¯�d:�&t´e�z|l�dy°

� É�����Å ¤y¡�¼¢ Å%4 !?'�S1

��� �S2

� =� : 5A�� �������� ��� � ����� � ����� �� ��� � : ��� ? �� �� ��� ��� ��<� �� ���'��� � ����� �� ��� ��� � �+� ����

{c, d}��� � �5� � �D���� �� �� ���=� ��� ��� : � '�

c ≤S1d ⇔ c ≤S2

d

` v���d��S��u�d®�{d�e&z|wyxWu�vPcB�{��d��Sz|l¸t¾vJ}�l&a�d®e&�,d�u:z 2$u��Jl&z�vPx^�Jx��´l�v6�Pu�u�d:��d:���Jl�d®¯�d:�&z 2$u��Jl&z�vPx^vJ}l&a�d+�{��vP�,vye�d�� c6vO�{d:�ç�­Rd+a$��¯�d¶c¬�P�{d+l¦­�v³e&�|z|wyaOl�w�d:x�d:���J�|z � �Jl&z�vPx�e�°@hn�,d:���Jl&z�vPx del

�Jx��z|l�e®z|xpl�d:wy���Jl&z�vPx �{v´x�vPl��J�{�2d��J��z|x³l&a�dBc6vO�{d:��e&z|x�u�d�l&a{z�e�vP�,d:���Jl&z�vPx0�{v<d�ejx�vPl��8µGd�u:ljl&a�d�|z|x�d��J�&z � �Jl&z�vPxWvP���{d:��° 8nv¹­�d:¯�d:��§Sl�vZe&z|c��{�«�Jl�dj�{d:��d:l&z�vPx¾vJ}¼u�a$�J���Pu:l�d:��e�§{­�dj�J�|��v¹­©w�d:x�d:���Jl&z�vPxvJ}

ins(cp ≺ c ≺ cn)z|x

Sl&a$�Jl���d��p�{z|��d�e�vPx{�|t

cp ≤S cnzð dy°»�Pe�z~}¼l&a�dgu�a$�J���Pu:l�d:��e��,d:l¸­�d�d:x

cp

�Jx��cn

­�d:��d��{d:��d:l�d��G°`�a�dje�d�u�vPx��¾w�d:x�d:���J�|z � �Jl&z�vPx·�Pe�e&�{c6d�e�l&a$�Jl�u�a$�J���Pu:l�d:��eg�J��dj��d:�{��d�e�d:xOl�d��We&z|cB�{�|t¶�pt¾�Jx

z��{d:xOl&z 2$d:��° `�ap��e¬�Pu�u�vP���Sz|x{w0l�v\l&a{z�e6c6vO�{d:��w�d:x�d:���J�|z � �Jl&z�vPxÀ�JxOt e�z|l�d¾u��Jx w�d:x�d:���Jl�dW�Jxptu�a$�J���Pu:l�d:��z��{d:xOl&z 2$d:��°

`�a�d¶` � f c6v<�{d:�~º¸u�a�d�u�ª�d:�6a$�Pe�}�vP�{x�� �Jx d:�&��vP��z|x �\�{��d:¯<z�vP��eZx$�Jz|¯�d+¯�d:��e�z�vPx vJ}nl&a�dz|xOl�d:wy���Jl&z�vPx �J�|w�vP�&z|l&a{cW°��¦xWl&a{z�e�¯�d:��e&z�vPx±§�­Rd��Sz��¾x�vPl 2��|l�d:�

S′ l�v¬vP�{l��Jz|x L°»¨²d�l&a�vP�{wyapl

l&a$�Jl#e�z|x�u�d®�J�|�Gl&a�dju�a$�J���Pu:l�d:��e#�,d:l¸­Rd�d:xcp�Jx��

cn­�d:��dju�vPx�u:�{�&��d:xOl�l�v

c­�dje&z|cB�{�|t¶a$��¯�d

l�vBvP���{d:��l&a�d:c(�Pu�u�vP���Sz|x{w6l�v<id

°�`�a�djc6v<�{d:�±u�a�d�u�ª�d:��a$�Pe�}½vP�{x��^��u�vP�{xOl�d:�nd����JcB�{��djz|xl&a�dje�u�d:x$�J�&z�v��{��d�e�d:xpl�d��¾z|x 2�wy�{��d®� 7 � 9I°L`�a{z�e#u�vP�{xpl�d:�1º¸d����JcB�{��d®­��Pe�a�d:�|�2d��´��e�l�vB�{d�e�z|wyxl&a�dju:�{�&��d:xOl�¯�d:��e&z�vPx\vJ}�l&a�djz|xOl�d:wy���Jl&z�vPx·�J�|w�vP�&z|l&a{cW°

� ������������/ À���'�j

q �Pe�e&z|¯�d�u�vP�|�«�J�2vP���Jl&z|¯�dBd��Sz|l&z|x{w´��d��O�{z|��d�eÂe�u��J�«�J�{z|�|z|l¸t�§±u�vPxO¯�d:�&w�d:x�u�d6�Jx��·z|xpl�d:xpl&z�vPx³�{��d�e�d:�1º¯y�Jl&z�vPx±°

Ð>= > Ð�Î

Page 18: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� ���

�¸x¾l&a�djvP�,d:���Jl&z�vPx$�J� l&���Jx�e1}½vP�&c¬�Jl&z�vPx·�J�{�{��v��Pu�a±§$vPx{�|t¶l&a�d�m <Â` �J�|w�vP�&z|l&a{c % �0(¼d:x�e��{��d�eu�vPxO¯�d:�&w�d:x�u�d6�Jx��^z|xOl�d:xpl&z�vPx³�{��d�e�d:�&¯y�Jl&z�vPx±° 8nv¹­�d:¯�d:��§,z|lg��e�d�e�¯�d�u:l�vP�Âu:��v<u�ªSe�°�`�a{z�egz�enx�vPl�J�{�{��vP�{�&z«�Jl�d��2d�u��J��e�d�z|xBl&a{z�eLu�vPxOl�d��<l»l&a�dn�Pu:l&�$�J�$xp�{c��2d:�RvJ},e�z|l�d�e�z�e»�O�{z|l�d��«�J�&w�d��Jx��Bl&a�d:tu�vPc6dg�Jx��6w�v®�St<x$�JcBz�u��J�|�|t�°�hnx6l&a�dnvPl&a�d:�La$�Jx��G§O¨Àhjhg`)�{v<d�e»x�vPl���d��p�{z|��d�¯�d�u:l�vP��u:��v<u�ªSe�,d�u��J��e�dÂz|l#z�e#x�vPl���e�djl&a�dÂxp�{c��2d:�gvJ}�e�z|l�d�e��Pe��Z�$�J���Jc6d:l�d:��°

��x�vPl&a�d:��d����JcB�{��dy§ � u�d¹f��{�,d=% &�(��J��e�v¾d:x�e&�{��d�e®u�vPxO¯�d:�&w�d:x�u�d¶�Jx��²z|xpl�d:xpl&z�vPx@�{��d�e�d:�&¯y�8ºl&z�vPx±° �R�{l��¦u�d¹f��{�,d®c6d:�&w�d�enu�vPx�u:�{�&��d:xplÂvP�2d:���Jl&z�vPx�envPx\vPx�d®e�z|l�dy°L�¦l�c6d��Jx�e�l&a$�Jln�J�|�¼u�vPxSºu:�{�&��d:xOl�vP�2d:���Jl&z�vPx�e�c���e&l��,dge�d:xpl�vPx¶vPx�dge&z|l�d�}�vP�Rc6d:�&wyz|x{w�°»`�a�d:x±§<l&a�dnc6d:�&w�d��+��vPwZc���e�l�,d��Sz�e��$�Jl�u�a�d��¶l�vZ�J�|�,e&z|l�d�e�°»fRvPx�e�d��O��d:xpl&�|t�§��J�|�2e&z|l�d�e�c���e&l��,d�u�vPx{x�d�u:l�d��´�S�{�&z|x{w���d�u�vPx�u:z|�~ºz«�Jl&z�vPx³�Jx��^}T��v � d:x·�{xpl&z|����d�u�vPx�u:z|�|z«�Jl&z�vPx³z�en�{vPx�dy°g`�a�d�e�dZu�vPx�e&l&���Jz|xpl�ej�J��d�x�vPlgu�vPcB�$�Jl&z|�{��d­�z|l&a³�,d�d:�1ºÃl�vJºÃ�,d�d:�®x�d:l¸­RvP�&ª<e�°¬fRvPcB�$�J��d��0l�v¾�¦u�d¹f��{�,dy§G¨Àhjhg`k�{��vP�,vye�d�e��¶�Sz�e&l&�&z|�{�{l�d��c6d:�&w�dy°³�¦lZ��d:�|z�d�eBvPx � � �� �� ��D� �+�|z|x�d��J�&z � �Jl&z�vPx }��{x�u:l&z�vPx±°²�¸}��¦u�d¹f��{�,d¶�|z|x�d��J�&z � d�eBu�vPxSºu:�{�&��d:xOlBvP�2d:���Jl&z�vPx�e�§»z|l�e��|z|x�d��J�&z � �Jl&z�vPx }��{x�u:l&z�vPx z�e�x�vPlZc6vPx�vPl�vPx{z�uy°0fRvPx�e�d��O��d:xpl&��d:t�§Lz|l�ec6d:�&wyz|x{w+vP�2d:���Jl&z�vPx\c���e&l#�,dju�vPcB�{�{l�d��WvPx^vPx�d�e&z|l�dy°

#{�{�&l&a�d:�&c6vP��dy§+����t�vP�6%|����(���d:�|z�d�e vPx®l&a�d��{�&z|c¬�J�&tje&z|l�d�l�v#d:xS}½vP��u�d�l&a�d�wy��vP�$�J�Ou�vPxOl&z|xp��vP��evP���{d:�gvPx\���{��d)2#�^vJ}�a{z�e&l�vP�&t�°�`�a{z�e#�{��d)2#�¾z�ene&a$�J��d��W�Ot¾�J�|��e&z|l�d�e�° ����t�vP�^c¬�Jz|xOl��Jz|x�egl&a{z�ewy��vP�$�J��u�vPxOl&z|xp��vP��e6vP���{d:����e&z|x{w³�W�{�&z|c¬�J�&t e&z|l�dy°�8nv¹­�d:¯�d:��§Ll&a{z�eZe�z|l�d¬��d:�{��d�e�d:xOl�e¬�J��e�v �u�vPx{w�d�e�l&z�vPxW�2vPz|xOl�°

:ne�d:x�d:l2% �0(gd:x�e&�{��d�e¶u�vPxp¯�d:�&w�d:x�u�dy§nz|xpl�d:xOl&z�vPx�eW�Jx��)e�u��J�«�J�{z|�|z|l¦t�° �R�{l¾�J�|l&a�vP�{wyaÀz|l+z�e�^wy��vP�{�p­��J��dWl�v<vP�ç�z|lBu��Jx{x�vPlB�2d¶u�vPx�e&z��{d:��d�� �PeB�^u�vP�|�«�J�,vP���Jl&z|¯�dWd��Sz|l&z|x{w l�v<vP�ð³`�a{z�e�z�e�,d�u��J��e�d®�;:ge�d:x�d:l�c6d�e�eN�Jw�dju��Jx{x�vPl��,djd��Sz|l�d��G°

`�a�d6`�a�vPc¬�Pe � ej­��&z|l�dB�&�{��d %|�+ �(»z�eja�d���¯<z|�|t ��e�d�� z|x0d:�{z��{d:cBz�u¬�J�|w�vP�&z|l&a{c6e�l�vW�Pu�a{z�d:¯�du�vPxO¯�d:�&w�d:x�u�dy°»` vjd:x�e��{��dRe�u��J�«�J�{z|�|z|l¸t�`�a�vPc¬�Pe � e�­��&z|l�d��&�{��d�x�d�d��{e�l�vÂz|cB�{��d:c6d:xplLl&a�dRe�l&���Jl1ºd:wyt�vJ} 3 � �Pe&l�¨³�&z|l�d:��¨©z|x�e 1�°?8gv�­Rd:¯�d:��§�l&a{z�e�e&l&���Jl�d:wytZ�{vOd�e�x�vPl�d:x�e&�{��dRz|xpl�d:xOl&z�vPx6�{��d�e�d:�&¯y�8ºl&z�vPx±°LfRvPx�e�d��p��d:xOl&�|t�§Sz|l�z�e�x�vPl��,vye�e&z|�{��d�l�v��{�{z|���¾�®c¬�Pe�e&z|¯�dgu�vP�|�«�J�2vP���Jl&z|¯�dÂd��Sz|l&z|x{wBe&tSe&l�d:c­�z|l&a\`�a�vPc¬�Pe#­��&z|l�dj�&�{��dy°

f54jm % ��(�z�e®�¶�,vP�{�{�«�J�®u�vPx 2�wy�{���Jl&z�vPx²c¬�Jx$�Jw�d:c6d:xpl�l�vOvP�ðZ�¸lÂ��d:�|z�d�e®vPx0�Jx²vP�{l&z|cBz�e�l&z�u��d:�{�|z�u��Jl&z�vPxB�J�|w�vP�&z|l&a{c�l�v�d:x�e&�{��d�u�vPxp¯�d:�&w�d:x�u�dy°��¦l¼�J��e�v���e�d�e���u�d:xpl&���J�Se�d:�&¯�d:� l&a$�Jl�d:xS}�vP��u�d�e�¶wy��vP�$�J�»u�vPxOl&z|xp��vP��eZvP���{d:��°;#�vP��d����JcB�{��dy§±z~}

ne&z|l�d�e®�{��vO�S��u�d¬�¶u�a$�Jx{w�dy§¼�S�{�&z|x{wW��vP�{x��

�+vPx{�|t²vPx�d¬e&z|l�d¬­�z|�|�L�,d+�J�{��d¬l�vW�{�{�{�|z�e&a z|l�e�u�a$�Jx{w�d�e�° <g�{�&z|x{w·��vP�{x��@�^�J�|�RvPl&a�d:�Ze�z|l�d�ea$��¯�dZl�v+�{�,���Jl�dZl&a�d:z|�Â��d:�{�|z�u��S° <g�{�&z|x{w¶��vP�{x�� S§,vPx{�|t\vPx�d�e&z|l�d�­�z|�|���2d��J�{��dZl�v´u�vPcBcBz|l�Jx��¶e�vZvPx±°�`�ap��e�§{u�vPxO¯�d:�&w�d:x�u�dj­�z|�|�2�2dÂ�Pu�a{z�d:¯�d��´z|x

2n− 1��vP�{x��{e�°LfRvPcB�$�J��d��´l�vBf54jm2§

¨Àhjhg` u�vPxp¯�d:�&w�d�enz|xWvPx�dj��vP�{x��G°�¸x e&�{cBc¬�J�&t�§R¨Àhjhg` z�eBl&a�dWvPx{�|t vP�{l&z|cBz�e&l&z�u¾��d:�{�|z�u��Jl&z�vPx �J�|w�vP�&z|l&a{c l&a$�Jl+d:x�e��{��d�e

u�vPxO¯�d:�&w�d:x�u�dy§�z|xpl�d:xOl&z�vPx �{��d�e�d:�&¯P�Jl&z�vPx �Jx��0e�u��J�«�J�{z|�|z|l¸t�°^�¦l®��d��O�{z|��d�e�x�v\¯�d�u:l�vP��u:��v<u�ªSe��Pem <Â`j°0:�x{�|z|ª�dR�¦u�d¹f��{�,dy§Jz|l ��d:�|z�d�e�vPx����Sz�e&l&�&z|�{�{l�d���c6d:�&w�dy°�q·vP��d�v�¯�d:��§P¨Àhjhg` �{v<d�e x�vPl¼��dIº�O�{z|��d#�n�{�&z|c¬�J�&tBe&z|l�d#�Pe ����t�vP�±°�:nx{�|z|ª�d�e&t<e�l�d:c6e��$�Pe�d��BvPx6`�a�vPc¬�Pe � e�­��&z|l�d��&�{��dy§p¨Àhjhg`

>?>A@�BDC�EGF�H

Page 19: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�+) � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

d:x�e��{��d�ejz|xpl�d:xOl&z�vPx�e��{��d�e�d:�&¯y�Jl&z�vPx±° #�z|x$�J�|�|t�§ u�vPcB�$�J��d��0l�v^f54jm2§±¨Àhjhg` u�vPxp¯�d:�&w�d�e�z|x)���vP�{x��G°

���|��l&a�d�e�d´u�a$�J���Pu:l�d:�&z�e�l&z�u�e¬c¬�Jª�d´¨Àhjhg` l&a�d´vPx{�|t �J�|w�vP�&z|l&a{c e&�{z|l��J�{��d+}�vP�Bc¬�Pe�e&z|¯�du�vP�|�«�J�,vP���Jl&z|¯�d�d��Sz|l&z|x{w�°

� ')�#�Z ¼���Z$���#�

¨Àhjhg` z�e¬�{d�e&z|wyx�d�� }�vP�¬c¬�Pe�e&z|¯�dWu�vP�|�«�J�,vP���Jl&z|¯�d\d��Sz|l&z|x{w�° ���Pe�d��ÀvPxÀ� c6vPx�vPl�vPx{z�u\�|z|xSºd��J�&z � �Jl&z�vPx0}T�{x�u:l&z�vPx±§¼z|l�d:x�e&�{��d�e�u�vPxp¯�d:�&w�d:x�u�d¾�Jx��³z|xOl�d:xpl&z�vPx �{��d�e�d:�&¯P�Jl&z�vPx±°¶�¦l��{vOd�e®x�vPl�{d:�,d:x��·vPx·�BxO�{c��,d:�jvJ}Le&z|l�d�eg�Jx��\u��Jx\a$�Jx��S��d�¯�d:�&tW�«�J�&w�d��2d�d:�1ºÃl�vJºÃ�,d�d:�Âx�d:l¸­�vP�&ªSe�°n`�a�d�{��vP�,vye�d��´¨Àhjhg` }T���Jc6d:­RvP�&ª¶a$�Pe#�2d�d:x¾}½vP�&c¬�J�|�|t¶¯�d:�&z 2$d��W­�z|l&aWc6v<�{d:�±u�a�d�u�ªOz|x{w¶l�vOvP��e¹°

�ne¶�²�{��v<vJ}�vJ}�u�vPx�u�d:�{l�§�­�d\a$��¯�d\z|cB�{��d:c6d:xpl�d�� �0e&z|cB�{��d\¨Àhjhg`(d��Sz|l�vP�¶z|x��O��¯y��{d:�{��v¹t�d��0vPx@�¾c��{�|l&z�u��Pe&l�x�d:l¸­�vP�&ª,°¶�¸l�u��Jx0�2dB�{v¹­�x{��v��P�{d��²}���vPc������������� � � �������������� ������������������ �������°

hn�{�Lu:�{�&��d:xplR­�vP�&ªBz|x�u:�|���{d�e»}T�{�&l&a�d:��¯�d:�&z 2$u��Jl&z�vPx¶vJ},¨Àhjhg`)u�vP�&��d�u:l&x�d�e�e¹§pwy��vP�{�+�{x��{v}½d��Jl&�{��d�e�§Swp�J�&�$�Jw�d�u�vP�|��d�u:l�vP�g�Pe�­Rd:�|�¼�Pe#e&�{�{�,vP�&l�}�vP��l&a�d! gq � l&��d�dy°

" .� ���Z� ����/�3�����n��

mO�,d�u:z«�J�Âl&a$�Jx{ª<e´l�v #���vP��d:xOl#��vP�{z|�|��d·}�vP�´a{z�e´z|cB�{��d:c6d:xOl��Jl&z�vPx�vJ}�¨Àhjhg`z|x }½d:­¿����t<e¹°`�a$�Jx{ªSe�l�v+hn�|z|¯�d:���6q·�J�����Jx�v�¯<z�uÂ}½vP����d:¯Oz�d:­�z|x{w�°

�!�������,���� ���

%|��(�¨Àz|ª<z|�2d��Sz«���n��u�a{z|l�d�u:l&�{��dy° � � � ��� ��� � �%$ &'& �6'� �3< : ���3� �6������3< �� �(& : ���3�)&KA-� �0� �6���� ��* �G'� ��'���:§7 �y�y�y�:9I°% �0( ���&z«�Jx ��d:�&�|z|x�d:��°Lf54®m¶���5*S���J���J�|��d:�|z � z|x{w¾m<vJ}�l¸­��J��d <Âd:¯�d:��vP�{c6d:xpl�°L�¦x8� �� �� ��������� ��

� � �,+�.-®§S¨0�Pe&a{z|wyl�vPx9<Z°2fg°|§G���y�y�S°%* 0(Bf��«�J��d:x�u�d²��°��»�|�|z�e^�Jx���mOz|c6vPx/��°�iÂz|�{��e�° fRvPx�u:�{�&��d:x�u:t�fRvPxpl&��vP�®z|x�ig��vP�{�O­R�J��d

mOt<e&l�d:c6e¹°��¸x � � � �,0 �� ����G�� �� � :§�¯�vP�|�{c6d+���S§S�$�Jw�d�e y�y�21 &p���<§±���y�y�S°% &�(Z��x{x�dIº¸q �J�&z�d43jd:�&c¬�J�&��d�uy§S�nxpl&a�vPxOt¬��v¹­#e&l&��vPx±§Sq·�J��uÂmOa$�J�{z|��v{§S�Jx��+�¼d:l�d:� <g�&��e�u�a�d:�ð

`�a�d¬� u�d¹f��{�2d¬�J�{�{��v��Pu�a l�v¾l&a�d6��d�u�vPx�u:z|�|z«�Jl&z�vPx vJ}#�Sz|¯�d:�&w�d:xplZ��d:�{�|z�u��Pe�°¾�¦x � �� �� �� ������� �� ��� G : '� ��� G���J6 �?� � �<� � ���� � � �� � ���� �'� � � �� ��50��������� ��� � � �� <� �'� ���� ��>���60�� �J§#�gd:­��2vP�&l#�n�N§ :jm<��§{�n�{wy��e&l��y�y�S�y°

Ð>= > Ð�Î

Page 20: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

�������������� ��������� ����������������������� �¹�

% �0( <n� � z#�Jx�� �#�{z � zð²�»��d�e�d:�&¯Oz|x{w³vP�,d:���Jl&z�vPx dIµ,d�u:l�eZ��d:�«�Jl&z�vPx z|x wy��vP�{� d��Sz|l�vP��e�°²�¦x� � �� ����������7 ��2��� ��������6 �?� � ��=�+�� �� �� �� �� <� �'� � �� ��� � � ��'� �� � 3 � �����������

: �� ����� �$� A�� ��� �J§O�$�Jw�d�e &p����1 & )�)S§ �nd:­ oLvP�&ª,§���o�§ :jm<��§��y�y��&�°���fRq ����d�e�e�°%*)0(Bi�����J����hge&l�d:��§����Pe�u��J� :���e�v{§®���Pe�u��J�Zq·vP�|�|zç��Jx������,�{d�e�e��Jc¬�P���¸cBz|x�dy°s�nd��J�

l&z|c6d�wy��vP�{� d��Sz|l�vP��e­�z|l&a�vP�{ljvP�2d:���Jl&z�vPx$�J��l&���Jx�e&}�vP�&c¬�Jl&z�vPx±°j�g�J�{�2vP�&lÂ�{d���d�u�a�d:��u�a�dy§� hg��� � 1O� �g��� � � vP�&���Jz|x�dy§$q ��t¾�y�y�y�S°

% �3(�o��Pe&��e&a{z±mS�Jz|l�v��Jx��´q �J��uÂmOa$�J�{z|��v{°»hn�{l&z|cBz�e&l&z�ug��d:�{�|z�u��Jl&z�vPx±° 6 �?� �� <� �'� ���� � ��� � �������I§ �� 7 ��9)* &p�21<�S�y§2�y�y�y�S°

% �0(Z�#z�u�a�mS�J� � ° �¸xOl�d:���nd:l��gd:­#e(*/:ge�d:x�d:l¾l&���Jx�e&�,vP�&l´}�vP�¾�¦xpl�d:�&x�d:lWe&z|l�d�e�° �¸x � � �,+ .-� ��=�+�� �� �� � �� �� ���� ���I§¼�$�Jw�d�ej�� 21<�y�S§¼mS�Jx³��xOl�vPx{z�v{§G` d����Pe�§ :Âm<�Z§GmO�{cBc6d:�6���y�y�S°:Âm<� �g� Z°

% �0(�¨Àz|ª<z|�2d��Sz«�6mOl��Jl&z�e�l&z�u�e�° � �D� �� ��� � �%$ &'& �6'� �3< : ���3� �6������3< �� �(& : ���3�)& � � ��������������I§ 7 �y�y�y�:9I°%|���0(Bf�a�d:x{w � a�d:x{w�mO�{x+�Jx��+f��«�J��d:x�u�d���°��»�|�|z�e�°2hn�,d:���Jl&z�vPx$�J�$l&���Jx�e1}½vP�&c¬�Jl&z�vPx¬z|xB��d��J�~ºÃl&z|c6d

wy��vP�{�^d��Sz|l�vP��e(*L� e�e&��d�e¹§��J�|w�vP�&z|l&a{c6eg�Jx��·�Pu�a{z�d:¯�d:c6d:xpl�e¹°R�¦x � �� �� ���� ���6 �� ��� ��� � �6 �?� � ��=�G'���� ��6 �� �� +� ��� � �� ��� � � ��'� �� �� + � ���������� A �� � ��� �$� A�� � � �J§S�$�Jw�d�e�y�21 )y�S§��nd:­ oLvP�&ª,§���o�§ :jm<�Z§#�nv¹¯�d:c��,d:�����y�y�S°���fRq ����d�e�e�°

%|�y��(Bf�a�d:x{w � a�d:x{w@mO�{x±§� nz«�PvPaO�$� �yz«�S§�o��Jx�u�aO�{x���a$�Jx{w�§�o»�{x o��Jx{w�§L�Jx��/<j��¯<z�� f�a�d:x±°��u�a{z�d:¯<z|x{wnu�vPxp¯�d:�&w�d:x�u�dy§yu��J��eN�J�|z|l¸tOºÃ�{��d�e�d:�&¯P�Jl&z�vPx��Jx��jz|xpl�d:xOl&z�vPxSºÃ�{��d�e�d:�&¯y�Jl&z�vPxZz|x���d��J�~ºl&z|c6dju�vOvP�,d:���Jl&z|¯�d®d��Sz|l&z|x{w¬e&tSe&l�d:c6e�° 6 �?� G ����� �G� �G��� �� � �� �� <� �'� � '� � � �;��� � �� �� � �G���� �� �LG � � ��J§{� 7 ��9)**)� 21����y�S§�q·�J��u�a@���y�y�S°

%|���0( <gvP�{wy�«�Pe �g°y`¼d:�&�&t�§pq �J�&¯Oz|x6q °P`�a�d:z|c6d:��§�3®�J�&z|x6��d:l�d:��e�d:x±§<���«�Jx �$°�<gd:c6d:��e¹§�q^z|ª�d �$°mO�{��d:z|l � d:��§¼�Jx��@f��J�&� 8Z° 8g�J��e�d:��°Zq �Jx$�Jwyz|x{wW�{�,���Jl�dBu�vPx���z�u:l�e®z|x³�$��t�vP�±§¼�¶­�d��Jª<�|tu�vPx{x�d�u:l�d��^��d:�{�|z�u��Jl�d��\e&l�vP���Jw�d�e&tSe&l�d:cW°R�¸x � � � ����������6 �� ��� 7���� '� ���Q6 �?� ���<� �

� �� ��� � �� � �D�� � ������ ������� )� � � � ��� �'� � � � � � � � ��� �����J§P�$�Jw�d�e#�¹�P�21����y�S°p��fRq(����d�e�e�§���y�y�S°

%|�+ 0(Z��vP�,d:�&l 8Z°S`�a�vPc¬�Pe�°�� e�vP�|�{l&z�vPx´l�vZl&a�dju�vPx�u:�{�&��d:x�u:t¶u�vPxOl&��vP�G�{��vP�{��d:c }�vP��c��{�|l&z|�{��du�vP�pt����Jl��J�$�Pe�d�e�°{�¸x6� �� ������������� �� ��� � � C�� '� ��� �� � � �� +� ��� � �� � �'� '� �� � � ���� ������� �� ���5�� ��=�+�� �� �� � � � � ��� �6+������ �P§S�$�Jw�d�eg��)21 )y�S§ �nd:­ oLvP�&ª2§ �#oB§D:jm<��§2mO�{�&z|x{w�����P�S°��¦�L�»�©fRvPcB�{�{l�d:�jm<vOu:z�d:l¦t�°

%|�'&�(�¨Àz|ª<z|�2d��Sz«�S° l&a�d }T��d�d d:x�u:tSu:��vP�2d��Sz«� l&a$�Jl �JxOt�vPx�d"u��Jx d��Sz|l�° � �D� �� ��� � �%$ &'& : : : < : � �3� � ������3< �� �(&2§ 7 �y�y�y�:9I°

>?>A@�BDC�EGF�H

Page 21: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

��� � ��� '�����?���G ����5�2 ���� ���� �2 ���� � ��� �� � ��

%|���0( 8g�Jz~}½d:x{wjo»�¶�Jx��¬��cBz|x�4L�Ja����Jl�°2`�a�dnu�vye&l�e��Jx��¬�|z|cBz|l�eLvJ} ��¯y�Jz|�«�J�{z|�|z|l¸t6}�vP�»��d:�{�|z�u��Jl�d��e�d:�&¯Oz�u�d�e¹°��¸x � � � ��§S�$�Jw�d�e��y�21 &p�S§��y�y�S�y°

%|�+)0(Z���Jx$�Jwyz�vPl&z�eRq·�Jx�vP�|z�vye»o»�$�Jx6o»�+�Jx�� � d�e&�|z�d � �JcB�,vP�&l�°,q\v<�{d:��u�a�d�u�ªOz|x{w�` � ��� e&�,d�uIºz 2$u��Jl&z�vPx�e�°��¸x8� �� �� ���� ��� �� �� ���� �G� ����� : ��� 0 �������2��� ���D���� 7 �������� �� ��G��� +���� � 86 � �-��� � � �P§<�$�Jw�d�en��&�1 )�)S§±���y�y�S°

Ð>= > Ð�Î

Page 22: Optimistic Replication for Massive Collaborative Editing...Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique,

Unité de recherche INRIA LorraineLORIA, Technopôle de Nancy-Brabois - Campus scientifique

615, rue du Jardin Botanique - BP 101 - 54602 Villers-lès-Nancy Cedex (France)

Unité de recherche INRIA Futurs : Parc Club Orsay Université - ZAC des Vignes4, rue Jacques Monod - 91893 ORSAY Cedex (France)

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France)Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334 Montbonnot Saint-Ismier (France)

Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - BP 105 - 78153 Le Chesnay Cedex (France)Unité de recherche INRIA Sophia Antipolis : 2004, route des Lucioles - BP 93 - 06902 Sophia Antipolis Cedex (France)

ÉditeurINRIA - Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex (France)��������� ���� ���������� ��� ���

ISSN 0249-6399