Re: [Storagesync] Storagesync Digest, Vol 5, Issue 1

Linhui Sun <lh.sunlinh@gmail.com> Mon, 07 December 2015 06:45 UTC

Return-Path: <lh.sunlinh@gmail.com>
X-Original-To: storagesync@ietfa.amsl.com
Delivered-To: storagesync@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 365421B3016 for <storagesync@ietfa.amsl.com>; Sun, 6 Dec 2015 22:45:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TudNbzC325go for <storagesync@ietfa.amsl.com>; Sun, 6 Dec 2015 22:45:45 -0800 (PST)
Received: from mail-wm0-x22d.google.com (mail-wm0-x22d.google.com [IPv6:2a00:1450:400c:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5EDFC1B2FEF for <storagesync@ietf.org>; Sun, 6 Dec 2015 22:45:45 -0800 (PST)
Received: by wmvv187 with SMTP id v187so151479517wmv.1 for <storagesync@ietf.org>; Sun, 06 Dec 2015 22:45:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=jiyLkUcwwfVb7nosHC9/qECUQzW1HZQG9GK57/CH7bE=; b=fkPzWeb0s9jomGS3LdRVjiKdUNKrhiIQ3ScDxMV1zi/3cSFuKSgzRFqpsDVAR+PsTc AuczvblPkWPByoSqj16xQBIfIvq0xrx3m9qCsEhlORhTu1ZrE6PlQCX+VZxVN4CK9lBY REzSKHYhpMTbXIVMBpQgnSHtdQQ71k9hvvl6b0Nel9L55TdkYT0qmi2tkvAzOnTo/Diq zxROOFvipcWLQQ9yR3ntQDznh/TSPbLjxHl62TskLoUEwNT1gUJbXkWZY0olpnzRmv/3 iiMAykJY17rjU+4DfNvDRR2AgzrYYsm9vpQxlCDeaBQshsKEFghZWjYhCFZF/cunyakr K2TQ==
X-Received: by 10.28.89.137 with SMTP id n131mr20017476wmb.9.1449470743956; Sun, 06 Dec 2015 22:45:43 -0800 (PST)
MIME-Version: 1.0
Received: by 10.28.27.147 with HTTP; Sun, 6 Dec 2015 22:45:24 -0800 (PST)
In-Reply-To: <1449459616112-6043cb32-cd69a1f9-1399f1c0@fugue.com>
References: <20151204181110.GA2418@localhost.localdomain> <1449255654746-36498631-5591108f-793d865a@fugue.com> <8F085EBA-F6A4-4FBD-8B8E-1F9AE114FD05@unterwaditzer.net> <CAO_YpraJsDKbOXD9MdxHqeAYTMoiZFyViHX+P2PtD=9hpRz9MQ@mail.gmail.com> <20151206173646.GA6290@localhost.localdomain> <1449447450498-61af5a96-1c461047-3019ac1e@gmail.com> <20151207002020.GA5002@localhost.localdomain> <1449448362292-7d42d496-109559e8-4177b3f9@gmail.com> <20151207003810.GA24130@localhost.localdomain> <1449449404474-72724227-c54ecf87-7d18f3b0@gmail.com> <20151207005426.GA29483@localhost.localdomain> <CAO_YpramyzAZ8hS6aphmBNw2FiKTpesb9uW7uGHtjRH_YkPAJg@mail.gmail.com> <1449452139832-4f314827-a7ecd596-c5312339@fugue.com> <1449454580239-1fd59d90-52f0231b-370f2ef5@gmail.com, > <1449455245871-cb7e86e1-1a0160c5-aa6acce3@fugue.com> <2015120711170621874681@bjtu.edu.cn> <1449459616112-6043cb32-cd69a1f9-1399f1c0@fugue.com>
From: Linhui Sun <lh.sunlinh@gmail.com>
Date: Mon, 07 Dec 2015 14:45:24 +0800
Message-ID: <CAO_Yprbct8wFbS1WFnZZENSp-OruRUk2nRyBv4tNeKv9_CGuCg@mail.gmail.com>
To: Ted Lemon <mellon@fugue.com>
Content-Type: multipart/alternative; boundary="001a1140cdb8ce519d052649342f"
Archived-At: <http://mailarchive.ietf.org/arch/msg/storagesync/YRgwtFIA8OVbTVPHEvfl4xowZn8>
Cc: fsong <fsong@bjtu.edu.cn>, storagesync <storagesync@ietf.org>
Subject: Re: [Storagesync] Storagesync Digest, Vol 5, Issue 1
X-BeenThere: storagesync@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Mechanisms to synchronize client file systems with Internet-based data storage services <storagesync.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storagesync>, <mailto:storagesync-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/storagesync/>
List-Post: <mailto:storagesync@ietf.org>
List-Help: <mailto:storagesync-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storagesync>, <mailto:storagesync-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Dec 2015 06:45:49 -0000

2015-12-07 11:40 GMT+08:00 Ted Lemon <mellon@fugue.com>:

> Sunday, Dec 6, 2015 10:17 PM Fei Song wrote:
> > Can we just treat the requests sent by peer B and peer C based on their
> timestamps (arriving at the server).
> > If the file must be kept as the same version, different modification
> reports can be generated independently with FCFS mode.
> > If this can not be finished automatically, a human intervention will be
> needed.
>
> No, this doesn't work even if you don't care about wiping out changes.
>  Think about this sequence:
>
> 0: File F is at version 0
> 1: Client A syncs to server
> 2: Client B syncs to server
> 3: File f changed on Client A -> Version 0.A
> 4: File f changed on Client B -> Version 0.B
> 5: Client B syncs to server, updating file F to version 0.B, modified time
> = 4
> 6: Client A syncs to server: what happens?
>    a: File updated to version 0.A, modified time=3
>    b: Server overwrites version 0.A with version 0.B, changes in 0.A lost
>    c: Conflict resolution combines versions 0.A and 0.B, producing version
> 1, mod time=6
>
> I think C is the only right answer.   We want conflict resolution to be
> automatic whenever possible, but we do want to do conflict resolution, and
> not just wipe out changes, because those changes may contain real work that
> the user on client A did.
>
Do you mean you want the conflict resolution to be performed every time? If
so, I think this might be a little bit unnecessary since a version conflict
is not very frequently happened (especially for some personal users). The
case you mentioned should definitely be resolved and such offline-to-online
switch could be treated as concurrent conflict in my view.

But a more frequent case is that people update their file just to replace
the previous one, even though there are multiple people working on the same
file. In this case, replacing file according to modification time seems
reasonable. So the key point is how to justify which two/more versions
should trigger the conflict resolution to avoid wiping out real work.

As for the conflict resolution itself, it is very hard to achieve since the
system needs to handle different types of file. GoogleDocs performs well
since it only focuses on the documents. But for a storage service, we don't
know what else types of file will be stored. A popular way I've seen is
just to keep all the conflicted versions (named by different peers) in the
storage.

>
>
> --
> Sent from Whiteout Mail - https://whiteout.io
>
> My PGP key: https://keys.whiteout.io/mellon@fugue.com
>
> _______________________________________________
> Storagesync mailing list
> Storagesync@ietf.org
> https://www.ietf.org/mailman/listinfo/storagesync
>
>