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

fsong@bjtu.edu.cn Thu, 03 December 2015 09:04 UTC

Return-Path: <fsong@bjtu.edu.cn>
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 A871C1B32F3 for <storagesync@ietfa.amsl.com>; Thu, 3 Dec 2015 01:04:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.79
X-Spam-Level:
X-Spam-Status: No, score=0.79 tagged_above=-999 required=5 tests=[AC_DIV_BONANZA=0.001, BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_PSBL=2.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 qUN5YibYKUZA for <storagesync@ietfa.amsl.com>; Thu, 3 Dec 2015 01:04:06 -0800 (PST)
Received: from bjtu.edu.cn (mail.bjtu.edu.cn [218.249.29.198]) by ietfa.amsl.com (Postfix) with ESMTP id 3E1F01B32F1 for <storagesync@ietf.org>; Thu, 3 Dec 2015 01:04:05 -0800 (PST)
Received: by ajax-webmail-Jdweb3 (Coremail) ; Thu, 3 Dec 2015 17:06:40 +0800 (GMT+08:00)
Date: Thu, 03 Dec 2015 17:06:40 +0800
From: fsong@bjtu.edu.cn
To: Michiel de Jong <mbdejong@mozilla.com>
Message-ID: <259424f4.2bca.1516717ef55.Coremail.fsong@bjtu.edu.cn>
In-Reply-To: <CAPpPfeAdrCZcsYZo7=W6N14K4F2LutXN8BFTetikzKZSr8+vVA@mail.gmail.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>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_Part_41233_1733010373.1449133600595"
X-Originating-IP: [106.2.233.19]
X-Priority: 3
X-Mailer: Coremail Webmail Server Version XT2.1.11 dev build 20150107(58648.7033.6860) Copyright (c) 2002-2015 www.mailtech.cn bjtu
X-SendMailWithSms: false
X-CM-TRANSID: d55wygAHhAYgBmBWkLYFAA--.3438W
X-CM-SenderInfo: aytwlqpemw3hxhgxhubq/1tbiAQIMB1R9XjYYmwAJsD
X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU=
Archived-At: <http://mailarchive.ietf.org/arch/msg/storagesync/fQmnmW96zag2npnFMi86shvuhHQ>
Cc: Linhui Sun <lh.sunlinh@gmail.com>, storagesync <storagesync@ietf.org>, fkooman@tuxed.net, Hugo González Labrador <ietf@hugo.labkode.com>
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: Thu, 03 Dec 2015 09:04:09 -0000

Hi

 

If we really want to discuss the Pros and Cons of WebDAV, can we mark these three reasons as disadvantages of WebDAV? any support for that?

 

For the target of our ISS group, whether the WebDAV can be reused is critical.

-----原始邮件-----
发件人: "Michiel de Jong" <mbdejong@mozilla.com>
发送时间: 2015年12月2日 星期三
收件人: "Hugo González Labrador" <ietf@hugo.labkode.com>
抄送: "Linhui Sun" <lh.sunlinh@gmail.com>, storagesync <storagesync@ietf.org>, fkooman@tuxed.net
主题: Re: [Storagesync] Storagesync Digest, Vol 5, Issue 1


Hi all!


Thanks for all your reactions to the remoteStorage Internet-Draft.


We get the question about WebDAV a lot, in the next version we should add a remark about it in the intro. The folder descriptions returned when you GET a URL that ends with a / are indeed a deviation from the XML returned by WebDAV server, and this is just because nowadays JSON is easier to use than XML for developers, both client-side and server-side.


The fact that we don't require servers to support WebDAV's custom verbs like PROPPATCH etc. is for three reasons:

1) it's a lot of work to implement this without using an existing WebDAV library

2) in practice, a lot of WebDAV servers get it wrong, or don't implement all of WebDAV. It's very annoying for client implementers to have to deal with servers that e.g. chose not to implement LOCK and UNLOCK.

3) we don't really need all these advanced features on top of standard HTTP, just supporting GET/PUT/DELETE for resources, and adding a simple folder description format, is enough for most applications.


Other than that, the remoteStorage Internet-Draft specifies a *lot* more than just how each HTTP verb should behave:

* requiring support for OAuth implicit-grant flow

* requiring ETag support and nested versioning (i.e. the folder's ETag changes if anything within that folder changes)

* requiring CORS headers

* requiring a WebFinger announcement for service discovery


It would be easy to add these three things on top of WebDAV, instead of putting them on top of our minimal GET/PUT/DELETE API definition. In fact, we could probably separate it into two Internet-Drafts: one for the 'RESTful folders' API which is our simplification of WebDAV, and a second one for OAuth/ETags/CORS/WebFinger on top of either WebDAV or 'RESTful folders' or whatever other HTTP-based API you want.



On Wed, Dec 2, 2015 at 11:28 AM, Hugo González Labrador <ietf@hugo.labkode.com> wrote:

 
 
 
On Wed, Dec 2, 2015, at 11:18 AM, Linhui Sun wrote:

Hi

 
On 周三, 12月 2, 2015 at 17:56, Hugo González Labrador <ietf@hugo.labkode.com> wrote:

 
 
 
On Wed, Dec 2, 2015, at 08:20 AM, Linhui Sun wrote:

Hi

 
2015-12-02 5:14 GMT+08:00 Hugo González Labrador <ietf@hugo.labkode.com>:

Hi,

 
from my point of view the remoteStorage project addresses a subset of

the use cases of the  WebDAV specification.

 
The main difference I can observe is that the specification is built on

REST instead of XML-based communication.

 
I personally like much more REST than WebDAV because it is more

developer friendly and it is faster to develop.

 Maybe the remoteStorage API becomes the next WebDAV :)

 
However, the remoteStorage API does not provide a way of synchronising

data, this task is delegated to the developers.

Is there a plan to provide such feature based on the outcome of this

draft?

I'm a little bit confused why you say the remoteStorage does not provide that. Is that because remoteStorage does not perform like a typical sync services (e.g. dropbox...) or you are saying something else?

Yes, because it does not offer synchronisation capabilities.

Got it. And What I am wondering is that do we need to include those capabilities in a base specifications. Since it is hard to standardize the capabilities like dedup or delta. Maybe a better way is to define those in a separate specification,


Thanks for giving these examples - so by 'synchronisation capabilities' you mean 1) deduplication and 2) delta updates? Anything else or is that an exhaustive list?

something like extensions. For a base document, we just need to define how to perform sync operations.

 
Yes, I agree that may be an extension of this draft could handle the synchronisation part.

 


Our Internet-Draft is heavily focused on the world wide web, whose URLs are not content-addressable, we can't change that. So that architecture is not very friendly to deduplication, compared to for instance BitTorrent. As you already said, developers can still dedupe on the server-side when storing blobs to disk, and can also dedupe on the client side before creating the resources the client uploads.


As far as I know, delta updates are not supported by the ETag system - you cannot do a range request to find out if certain bytes within a document have changed. However, the folder system we define does encourage you, for instance when you develop a To Do List app, put each task on its own document, and then query the folder to see which of them changed, instead of putting them all in one big document and retrieving the whole document each time.



Cheers,

Michiel.



 
 
BTW, I want to introduce ClawIO (http://clawio.github.io), a research

project to benchmark different synchronisation protocols against

different data backends with special attention to provide a common sync

API.

 
A common API for different sync protocols is being created based on the

architecture specified in this draft (control and data servers) and the

I cannot find a distributed architecture in this draft. It seems that they handle metadata and content data together, just like a normal web service.

 
ClawIO is fully distributed. Every logical unit is a different server than be scaled out. Data and Metadata channels are independent from each other and reside on different servers.

That is widely employed in popular sync services. And that is also beneficial to privacy to some extent. But in the context of sync in browser (which is mainly considered in the remoteStorage), I don't know whether this is reasonable. But I think we should deploy distributed architecture although it will make things complicated.

 
Of course, the remoteStorage is targeted to browsers, so syncing does not make too much sense in this case.

With the rise of Linux container micro-service based architectures, the deployment of  such highly complex systems should become easier and faster.

 
Best,

 
Hugo
 
Regards,

Linhui 

 
 
Regards,

Linhui

one from the CERN EOS project (management, disk and queue servers).

 
The Phase I has implemented the ownCloud Sync Protocol and Phase II will

implement the SeaFile Sync Protocol.

The choice of these protocols among others is because they are really

opposed to each other in terms of syncing (delta vs non-delta,

state-based vs log/event/git-based sync …), so finding a common approach

is more challenging.

 
Providing a base specification/architecture to measure the feasibility

of this draft is one of the objectives of the project.

 
I believe that the work being done here and in ClawIO are supplementary

to each other and I think mutual collaboration could be beneficial for

both sides.

 
Also, if there is interest, the remoteStorage API can be added to

ClawIO.

 
Best regards,

 
Hugo Gonzalez Labrador

 
On Tue, Dec 1, 2015, at 09:00 PM, storagesync-request@ietf.org wrote:

> Send Storagesync mailing list submissions to

>       storagesync@ietf.org

>

> To subscribe or unsubscribe via the World Wide Web, visit

>       https://www.ietf.org/mailman/listinfo/storagesync

> or, via email, send a message with subject or body 'help' to

>       storagesync-request@ietf.org

>

> You can reach the person managing the list at

>       storagesync-owner@ietf.org

>

> When replying, please edit your Subject line so it is more specific

> than "Re: Contents of Storagesync digest..."

> Today's Topics:

>

>    1. New version of draft-dejong-remotestorage    Internet-Draft

>       available (Michiel de Jong)

>    2. Re: New version of draft-dejong-remotestorage Internet-Draft

>       available (Gihan Dias)

>    3. Re: New version of draft-dejong-remotestorage Internet-Draft

>       available (Fei Song)

> _______________________________________________

> Storagesync mailing list

> Storagesync@ietf.org

> https://www.ietf.org/mailman/listinfo/storagesync

> Email had 3 attachments:

> + [Storagesync] New version of draft-dejong-remotestorage

> Internet-Draft available

>   2k (message/rfc822)

> + Re: [Storagesync] New version of draft-dejong-remotestorage

> Internet-Draft available

>   1k (message/rfc822)

> + Re: [Storagesync] New version of draft-dejong-remotestorage

> Internet-Draft available

>   2k (message/rfc822)

 
_______________________________________________

Storagesync mailing list

Storagesync@ietf.org

https://www.ietf.org/mailman/listinfo/storagesync