Re: [Storagesync] Some preliminary investigations on ownCloud

Jakub Moscicki <Jakub.Moscicki@cern.ch> Wed, 25 November 2015 17:50 UTC

Return-Path: <Jakub.Moscicki@cern.ch>
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 4CA7E1A86F2 for <storagesync@ietfa.amsl.com>; Wed, 25 Nov 2015 09:50:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, HTML_MESSAGE=0.001, SPF_HELO_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 Gx8awigFyOjX for <storagesync@ietfa.amsl.com>; Wed, 25 Nov 2015 09:50:49 -0800 (PST)
Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0684.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe04::684]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A9A481A86FD for <storagesync@ietf.org>; Wed, 25 Nov 2015 09:50:48 -0800 (PST)
Received: from DB4PR06CA0025.eurprd06.prod.outlook.com (10.160.40.153) by DBXPR06MB414.eurprd06.prod.outlook.com (10.141.14.142) with Microsoft SMTP Server (TLS) id 15.1.331.20; Wed, 25 Nov 2015 17:50:28 +0000
Received: from DB3FFO11FD034.protection.gbl (2a01:111:f400:7e04::110) by DB4PR06CA0025.outlook.office365.com (2a01:111:e400:9851::25) with Microsoft SMTP Server (TLS) id 15.1.331.20 via Frontend Transport; Wed, 25 Nov 2015 17:50:28 +0000
Authentication-Results: spf=pass (sender IP is 188.184.36.50) smtp.mailfrom=cern.ch; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=cern.ch;
Received-SPF: Pass (protection.outlook.com: domain of cern.ch designates 188.184.36.50 as permitted sender) receiver=protection.outlook.com; client-ip=188.184.36.50; helo=CERNMX11.cern.ch;
Received: from CERNMX11.cern.ch (188.184.36.50) by DB3FFO11FD034.mail.protection.outlook.com (10.47.217.65) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Wed, 25 Nov 2015 17:50:28 +0000
Received: from cernfe03.cern.ch (188.184.36.39) by cernmxgwlb4.cern.ch (188.184.36.50) with Microsoft SMTP Server (TLS) id 14.3.158.1; Wed, 25 Nov 2015 18:50:20 +0100
Received: from CERNXCHG51.cern.ch ([fe80::20f7:8173:2da8:398a]) by CERNFE03.cern.ch ([fe80::fce6:ee57:884e:2488%13]) with mapi id 14.03.0174.001; Wed, 25 Nov 2015 18:50:20 +0100
From: Jakub Moscicki <Jakub.Moscicki@cern.ch>
To: Linhui Sun <lh.sunlinh@gmail.com>
Thread-Topic: [Storagesync] Some preliminary investigations on ownCloud
Thread-Index: AQHRJ5AKSwIzN6/UrkiVkC+IcfyVd56s85oA
Date: Wed, 25 Nov 2015 17:50:20 +0000
Message-ID: <71E522FC-C622-4DDE-B444-5CE902980823@cern.ch>
References: <CAO_YprZTz+O-e82hsTgMBOLr645jJqbhtVKngubnLhimyfB2cg@mail.gmail.com>
In-Reply-To: <CAO_YprZTz+O-e82hsTgMBOLr645jJqbhtVKngubnLhimyfB2cg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [177.21.120.55]
Content-Type: multipart/alternative; boundary="_000_71E522FCC6224DDEB4445CE902980823cernch_"
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-Microsoft-Exchange-Diagnostics: 1; DB3FFO11FD034; 1:c149K0c2V+CHkZSk4NRYrpuRK6ukOPuPTW5p9cg4KEeegYw9cZNqafCXPT+3wY6XfsZcnBwsTYXPh5gYswLbLzwpBsuJk2skUpOYjyXZYS8bWhlIzlK55448ekh6BTx2xGF6B1CfYtOxAcgL7nTHcJkBXQrwx2fszzpYFDVHjBRWnvkUSmt9hGe2DiJEkhgIjHvTHsnSyGPF4cnKn2uVOj6DsM0bISrFgwB4BZLB7TwbsIpkCc1K5PjSJBIBa+AE65HlP//hy892V2rcX6DKYKeTyKyXwG2F7LfDLQsuacUhk6PhWMBGbJ/abCQToF2KiMhsgbKHPQXNdHfqhXH7P+mGH6nguwA0C7wbjkw7GWfyfefQuaeEo4xJyUOO3SxPCx8deMebLGJpX0pgS2Vf9NrxkyDXNv/QlQz/HZ+uCLk=
X-Forefront-Antispam-Report: CIP:188.184.36.50; CTRY:CH; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(3000300001)(438002)(199003)(24454002)(189002)(53754006)(512874002)(586003)(189998001)(3846002)(84326002)(6116002)(5004730100002)(87936001)(76176999)(11100500001)(53416004)(5007970100001)(54356999)(102836003)(19580405001)(5001970100001)(2950100001)(2900100001)(66066001)(110136002)(83716003)(74482002)(36756003)(5001920100001)(19580395003)(50986999)(300700001)(92566002)(86362001)(5250100002)(16796002)(26826002)(82746002)(16236675004)(5003600100002)(15975445007)(106116001)(106466001)(19617315012)(6806005)(5008740100001)(33656002)(1220700001)(104396002); DIR:OUT; SFP:1101; SCL:1; SRVR:DBXPR06MB414; H:CERNMX11.cern.ch; FPR:; SPF:Pass; PTR:cernmx11.cern.ch; A:1; MX:1; LANG:en;
X-Microsoft-Exchange-Diagnostics: 1; DBXPR06MB414; 2:UEJaeysgZpGOxkQI1ZedFO3vJ3h1xnwX2Dq/IANA+ehEQ17oPgze6fhbBcMQATiaM5MICjUS6xc9q02kIQvyqTbIOO939Mh9x/Smfn7hrAj87kyKpMlqcqwoTo6olm5H0Q7w33cpFs+eGirhRE9QZw==; 3:WGaZFrRw745lHbTjKqf69TKv9m2a5kYkcvorcCvzlW1umLpbYSPXUVFSF+82LI2XXiYA/LMfYL1Qx8t9ZuO59T6JOK71g+NLlR2xwPE1I6TS8FVnkLFlrJvfIW8tT1fQy6ZWRj5WW+w5qhWMXbta1YNK/FzourW9ZdOVWLxm+lM028Jd4gYnIWQNzAMy1CWD3O/yT97L0aQL1zHfqS8u4HGm4yw72ha+A8V3ZiHcvi8s4jZuPncByiDUpQUq2hARyZm29VMLzomHiryNugpUuw==; 25:6Md4g3zw9ByV2m5vzV6nDHOlZaRsA5Ued/m4frdDceUffzQdS6+iV3uJqQ++plKV88+YHC+ZzqIt/LAp+gFitgF90ZECAdEkm1SK6EI8xaV4sFKpkDsVyQxRnlLakjQQ4/GP5n6UcgGNgu/3wy4HLRM/oWOVgGVg/KICYUO2Jdpuolh6tmLFeK+O/pWzeDIxTO1AY5SOQMWuTgEGZFzRAfKGlgT+tsLDPMLnU8zFwhN+nHq55dF5j45RQgtd9m3/O2V17hmEFQzZQ1P23h4V+A==
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501001); SRVR:DBXPR06MB414;
X-Microsoft-Exchange-Diagnostics: 1; DBXPR06MB414; 20:no5gmrG59pDr3vtBVfwNDd0IFP657SglNcfMZ4LFjuVeoYauKxU3BMdtewjjx7YbOeS2ZhPLTj/uIMZIw4em6E/dygbg1s/aZHU4R1L5jiDcpx2wLz3bECLXv3L5P1T1EvjVsAhZ3dydrBNstgMMAJDtvsOvuLrK5JwmS2SVb5DQ6DB0Ifbte8Nt/NVmJQdMOjhtxukmBs4HviKpyIEvRyc5/6g6qEBxpxh/iMeACielfKpOTevYt+HkyufGuP++eT26AMF5Lnq54PO4TvfNY3CMbPeLlNcJ0tY0uGces06/iOvHngYz/TG2m9gGTzOyoNyM3B5XRwAZQbkhJ6BK+cQZLPXJP8VtuGX0nA30ST69aqnuPR+NuUTRW+rjHKSFH5+NaawqMSyIcHj+0aiaVy2cyfRLhEeZjbCWJAoJCShuqmmiXAXOPHIcRGusvgcwOj/H+XbRME4glBK5bqqIKbomcMqgj2VL3eq4HsXUZ5mD55XLmwqF9JYbWF9I4sbO; 4:aeKz4apXgkUqR3lHOgLaqYzquDqEPfg78Q4PuQVOPseZhoFhQSd4TqoBYWZ3bK6nuG/79Uiy1+BZMx8WlrOVLAFynWPccYQGbcOuppbIp6vaFGdzZEnHglQsdzyq47wuggVirM2+/0DTzJscspMkpUgjMwlrl3LV7VWAVhfBSfn+zrlGHLU9hb9e0o5DV08HRHIs9BYsU/8d7NTD5zjfbJqMCIYqvMsliAbgRuToXKcKY3I1rFmN8jDn8RbH2rboJIUTOTwWSxTZzIsiQDRODkKkC/3AVokORWdRqW1UNDKZ+yQvzqu9mKwlFa03Kbm7WTvej8YGBgi4RvRySDOrzK416QGzaHc1CBYGEVJAIAumzIGQT6D8Ye2aL27ildKNdAsvf6JfTMO3ccQPeJ6lH9i288NfMBuRxVXE4rwQj6TidxPd+SyKHlC8kiRVywkD
X-Microsoft-Antispam-PRVS: <DBXPR06MB4143C0E3B68859349E5476B86050@DBXPR06MB414.eurprd06.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(109460225580195);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001); SRVR:DBXPR06MB414; BCL:0; PCL:0; RULEID:; SRVR:DBXPR06MB414;
X-Forefront-PRVS: 0771670921
X-Microsoft-Exchange-Diagnostics: 1; DBXPR06MB414; 23:q4CUd5gA/5HQHjIbhaufOGwBGkO+fb+nJ1f2iPjSXXhAPa/TtDODNkwWA3k2jGWpB6nCCQvbFODb1Sac490rhrHt+ltxQwl+7hJhilXuietZAKwMB7zgnWl5GOrkEH33ONNKGGFHoYZ659wnL0Li4o1P1QWeCcdC3RPP118sOG20DtWJSZYmwA7YocJnrAs2KDotNSELo+9ywomyyu7fZH15uAflP0KJcof7b2jQj1YSw1ZN6iGf4L3PIW5L1FEMBqUsCh65TtSzWHhNMYxowkSjLr7OryMf6CxK8hQNN4VEe/yAMaDWVM+Je8JcE7cN9XNTImKiikHlX3ks5AAUN6w9wrBZ3cyi596eVqWEj37RYXiG+28p0VBNcx6VIbrn3sjV5nqlrHcHTAcOFNxX0eM/4xIhM13sj+DC8UyynSLoVolZi4aMKdqPTyBqUxTOHt0lT6pkRA0Aizrs8c+lp1YSHKnzIhggEX2AJAGJtWoFSHFUf5AgMrsXQUnrbPXU5YfljDafsbaPgLhY3XO4W7jVMcGEZfDBzS51OWD69FubuZXvHVZEoWpSrxxfNTPS1/p9pKPb5XJxGAx0WvEYlh0mdeyZ8TOTIdVwK0zTpdCpg7u00qIRolKYiJRp+06mmBNpmMHZmwY67zqvB8QfbHUuyUEeWsuauChF6D3oQ1BAPVDN0/k0qMfAcSrfWdoX0AI+3UXxJ7X2ds4Yc1Tv661vd6vgnj3osFFAqUfwfH2DBgZzuVggT//Slq4yP4mLCWzy6dY8ExTQ6bTgiOcTN0HqkTzLxZXAM6tjM/Es809S3g7lQ5jwgvkpFRnkJ7duuzxareAeH4yqEOp0a9Ufpstpq7O+YPPv4xZTIvQsMQbgpzG+ltjuwVfSPLe3rARB32Uc/mudfy+pUfMZvjT0aYY7KEuRdLQICS0BPMinhv+ms2OfOs56w8wsTZirgah55GtqTmlUDiPwArI9iraEMymKsMbFL28o6Lwd9vMkdW76FAfTMF6DuLW/lzMOLbfYzmPft7aJJFbCC9hB6CbAGaJh4aTgXWnFjHxCoyaBB2pWtbexnSBS5JLhAXXa8XPD8fA9CEtUt9DuWm3oS8It782EToByq9+UDlu8zgKyiDWhjaCWo5+QNM1wrhKkCvPGV1mtnaywe6/Cx4M1Y7ftwMH06ZDcOH7djenlVS28kPMa4YHeL9InRWCOTHGvbbWIKHmDtImfaK5YfpdGk9VnyWXDHlvg9hFCLHbDOuEt0ZI3lucRvqITozZZIAw5CjG6iOCXJlEmHQQ0sFw9AkLPmMc7Sn1L3EV3F70vWFKpieYDthGf8RwrUVP7E7j1dxj4
X-Microsoft-Exchange-Diagnostics: 1; DBXPR06MB414; 5:bzrrK/MxiECY5/jbbmdYmKutDNMlciNGrMoLMlv49rkIQNZ6/OEMy8Q9DDMsQpw7s8fQFRdFqrTDjkb6Jez1n3e3WRSu7QsqgM8O9Nm7b9jIj3HmM2Aq4262EJXAiXVl/x2ThscjtAyqDji8miPAgQ==; 24:98wornWE4JNM6UAypDacPNK6Xln3r/zjEwj6qwhr5Aqylmv2H3aRJ4GKdVDRrHlG/dOzO+LFLPeibX+V1uEG/UGYvO+d3dfxGlrbVQRhdsc=
SpamDiagnosticOutput: 1:23
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: cern.ch
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2015 17:50:28.1705 (UTC)
X-MS-Exchange-CrossTenant-Id: c80d3499-4a40-4a8c-986e-abce017d6b19
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c80d3499-4a40-4a8c-986e-abce017d6b19; Ip=[188.184.36.50]; Helo=[CERNMX11.cern.ch]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR06MB414
Archived-At: <http://mailarchive.ietf.org/arch/msg/storagesync/dGOh9Hd706gicdLxZZEe24ul6kk>
Cc: storagesync <storagesync@ietf.org>
Subject: Re: [Storagesync] Some preliminary investigations on ownCloud
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: Wed, 25 Nov 2015 17:50:55 -0000

Hello,

What kind of outcome are you looking for with this analysis? Some research in this area has already been done or is being done as we speak

e.g. "A study of delta-sync and other optimisation in HTTP/Webdav synchonisation protocols"

see "Technology and Research":

http://cs3.ethz.ch/program.html

It would be interesting to see if there is a potential for collaboration. Or maybe we already have some information you are looking for.

Best regards,

Jakub Moscicki

—


On 25 Nov 2015, at 11:45, Linhui Sun <lh.sunlinh@gmail.com<mailto:lh.sunlinh@gmail.com>> wrote:

Hi all,

As I mentioned before, I think the developers could benefit from the IETF standards. The ownCloud (https://owncloud.org/) is just an example. It is developed for those who do not trust commercial storage services and want to build their own network-based storage services. The ownCloud is using WebDAV (RFC4918) to achieve the data sync. IMO, the WebDAV is designed for distributed work but not for the sync. Thus, I made some preliminary investigations on how the ownCloud uses WebDAV for sync purposes. A brief summary of what I've found is in the following, please correct me if I am wrong.

I installed the ownCloud server (v8.2.1) on the CentOS7, and the client is a desktop client on Windows.

1. To find whether there is a change to the synced directory, the client continuously sends PROPFIND to the server at regular intervals (around 34 seconds under my observation). The server will respond a 207 Multi-Status Response to tell whether the main directory has been changed. To perform this regular check, the client will open a new TCP connection to send the PROPFIND, the server will close the existing TCP connection after responding the 207 Multi-Status Response. For the next check, the client will open another new TCP connection.

2. Every time adding (or creating) a new file to the local folder, the client will open a new TCP connection (if there is no connection existing) to send the file asap. The client will first send several PROPFINDs to find out which sub-directory has been changed. And then it sends the file using PUT. The server will respond a 201 Created Response and then terminate the connection. Currently, I haven't found any application layer chunking, all the segmentation are performed by TCP.

3. Every time I delete (or rename) a file locally, the client will also open a new TCP connection to send several PROPFINDs to find out which file has been removed (or renamed). Then it will send DELETE (or MOVE). The server will respond a 204 No Content Response (or 201 Created Response) and then terminate the connection.

4. I open a file and frequently edit and save it (actually this is what I usually do with the Dropbox). The client will send the whole file to the server every time I save the file.

To summarize, it seems that the ownCloud makes heavily use of PROPFIND to achieve the sync process. Each sync operation (e.g. upload, modify and etc.) will start with sending one or more PROPFINDs. And currently, if I add a file to the server (directly from the server side via web interface), the client cannot find the change. I need to interrupt the sync and recover it to make the client be aware of the change and download the newly added file. I'm not sure whether this is caused by the sync mechanism or an improper server configuration. I need to investigate this further and also how the ownCloud works for multiple clients (or devices).

For ISS, I think ownCloud has demonstrated to some extent that similar IETF protocols could be deployed and employed. The intention of this message is to investigate the current state of using WebDAV for sync purposes to see what needs to be improved here and whether we need new protocols.

Comments are welcome : )

Regards,
Linhui


_______________________________________________
Storagesync mailing list
Storagesync@ietf.org<mailto:Storagesync@ietf.org>
https://www.ietf.org/mailman/listinfo/storagesync