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

Linhui Sun <lh.sunlinh@gmail.com> Fri, 04 December 2015 03:53 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 1CBF41B2CAE for <storagesync@ietfa.amsl.com>; Thu, 3 Dec 2015 19:53: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 pqL4I9L8zR0j for <storagesync@ietfa.amsl.com>; Thu, 3 Dec 2015 19:53:46 -0800 (PST)
Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (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 3FA311B2CB1 for <storagesync@ietf.org>; Thu, 3 Dec 2015 19:53:44 -0800 (PST)
Received: by wmec201 with SMTP id c201so56109034wme.0 for <storagesync@ietf.org>; Thu, 03 Dec 2015 19:53:42 -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=RtAvqJJipvSEvPloRxLWM+xvsaEdEVTn0zb7Bc9kcfE=; b=c1yhkFqPtW11dT5shS7+dWaG84skuySZQ4MNUM9VSxdXVHReXOIjYX7tDRT+/eH1D7 xXO9/kRyAIBkhWn4JvGMV1qoA08DH+KqGlBU+aSpcNhh/Yowjvx+B5MTRW5nN9jmGuEP JghOIa7FaNJpa+fJEVW+m/HJAzB+XSgpnuSOiDYnt94oXTgrczTzXWqjvw55/+qAhjTE sQh2zZoLwasZmK0ZGieyINdui+iYuuKIpi2/gZIK/wYPgU6WlsN4mN1zHMSs8G8XOhvX nXxfxop0wWbbudiuPium6wPIYVjpvI9z+sCAeKUVi6vWgewPi2+PldTm3vAxU3WU92h7 a2Ew==
X-Received: by 10.194.79.72 with SMTP id h8mr16267962wjx.136.1449201222726; Thu, 03 Dec 2015 19:53:42 -0800 (PST)
MIME-Version: 1.0
Received: by 10.28.27.147 with HTTP; Thu, 3 Dec 2015 19:53:23 -0800 (PST)
In-Reply-To: <1449170047359-e297ed6e-b9fd94e9-570ca980@fugue.com>
References: <mailman.108.1449000023.26068.storagesync@ietf.org> <1449004445.2745758.455126129.5028FD2B@webmail.messagingengine.com> <CAO_YprZhCmUxEf=aGCYL=+CLbjUoD1ifpDFsrS7N40Npo4wr+w@mail.gmail.com> <1449050174.3667910.455617161.12EEE3C5@webmail.messagingengine.com> <1449051540970-b577e6c2-393e54ef-bbe05be4@gmail.com> <1449052128.3674794.455635937.667C3E1F@webmail.messagingengine.com> <CAPpPfeAdrCZcsYZo7=W6N14K4F2LutXN8BFTetikzKZSr8+vVA@mail.gmail.com> <259424f4.2bca.1516717ef55.Coremail.fsong@bjtu.edu.cn> <56600F0A.9000200@tuxed.net> <CAPpPfeDPHGR+vn0=ji9frF2kr+J=YR76g0e7yOndKzz97bxdHQ@mail.gmail.com> <566014EA.2010705@tuxed.net> <CAO_Yprbc9LMc3TmpkKpmN9hUzAix13nfuSRS5Z8jPf6xu8xjNg@mail.gmail.com> <56601F18.8030409@tuxed.net> <CAO_YpraF1UrV49Po9PZx6ZoSbcLm5gRPEKXAdTT3VvPPPWEAfg@mail.gmail.com> <1449153485919-e58fed74-d7eab50a-01b3670c@fugue.com> <D51EEF1B-13C8-4BBB-91C0-1B473D17759C@cern.ch> <1449170047359-e297ed6e-b9fd94e9-570ca980@fugue.com>
From: Linhui Sun <lh.sunlinh@gmail.com>
Date: Fri, 04 Dec 2015 11:53:23 +0800
Message-ID: <CAO_YpraSokj1S5-mZ17nMiN91c+PfHtMfGSjsFZ1zopQ59eUPQ@mail.gmail.com>
To: Ted Lemon <mellon@fugue.com>
Content-Type: multipart/alternative; boundary="047d7bb0499e16b8ce05260a7456"
Archived-At: <http://mailarchive.ietf.org/arch/msg/storagesync/DbpHybLKDWOuYHGIUfs5satQCsU>
Cc: Jakub Moscicki <Jakub.Moscicki@cern.ch>, 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: Fri, 04 Dec 2015 03:53:49 -0000

2015-12-04 3:14 GMT+08:00 Ted Lemon <mellon@fugue.com>:

> Thursday, Dec 3, 2015 1:41 PM Jakub Moscicki wrote:
> > Could you please explain why you think it does not scale? There are
> schemes in which you do not need to propfind the entire remote tree to
> discover changes, only a sequence of propfinds in a direct path leading to
> a changed entity. That’s not optimal for sure (several calls needed,
> depending on the depth of the change) but if it comes to WebDAV itself,
> apart from a bloated XML representation, I do not see much problem.
>
> It doesn't scale because you've just described a lockstep process for
> locating changes; instead of there being one transaction to get the set of
> changes from a known common version, you have multiple steps, and the
> number of steps increases at least logarithmically (I am guessing, since I
> don't know your algorithm) as the number of changes since last sync
> increases or the size of the tree increases.   If you are syncing
> continuously this may not be a big deal, but I don't think that's a
> reasonable assumption.
>
Agree. In my view, the key problem is not about how to reduce the number of
propfinds but how to come up with an improved method to replace the
existing pattern.

>
> This also has the problem that you have no separation of metadata and
> data, and no versioning, which means that you have to have a client-server
> model, and you can't have a distributed peer model.
>
Separation of metadata and data is better. But I don't understand why we
need a distributed peer model. C/S model could still work fine with such
separation.

>
> > Okey, but what you need to remember the client state and pass it on to
> the server to calculate the diff state. Any good ideas how to do that?
>
> Keep the metadata sorted (e.g. by modification time), and do a diff
> whenever a new version is generated.   Versions that have never been shared
> with other peers should be trimmed once they are not the head version.
>  When peer A wants to sync with peer B, it announces the version it has and
> the version it last remembers syncing with peer B.   If Peer B remembers
> that version, then the difference can be computed trivially, O(n), and is
> minimal (n*2 at worst), where n is the number of changes.   If Peer B has
> lost its memory, then it has to send the complete inventory of its head
> version, which Peer A can then compare with its head to see what's changed.


>
> --
> 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
>
>