<div dir="ltr"><div class="gmail_quote">On Fri, Jul 6, 2012 at 1:50 PM, Klaas Freitag <span dir="ltr"><<a href="mailto:freitag@owncloud.com" target="_blank">freitag@owncloud.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 05.07.2012 17:23, Emre Erenoglu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I would like to understand how the client works for the sync job. What I'm<br>
especially interested is to understand if the server side participates in<br>
the "change detection" process, or if it's just the client who access the<br>
server, check status of each file and then compare with what it has locally.<br>
</blockquote>
<br></div>
Currently the client does a check for differences on a regular basis. For that it accesses the server once for every directory to get the list of files in there. So that is not accessing every file, yet it has disadvantages for file trees with lots of directories with little files in.<br>

<br>
I plan the following optimizations basically:<br>
- Get the list of files only once for the whole tree, which results in only one server call.<br>
- Introduce a server notification to the client if something changes so that regular checks can go away.<br>
<br>
I think these two changes basically solve the performance problems, if there are any. </blockquote><div><br></div><div>Thanks Klaas and other's who are brainstorming and discussing on this mail thread. Klaas, these optimizations are nice since I plan to use Owncloud for collaboratively developing  projects but the team members are spread over the world, and we have many levels of directory structures with many files in it.</div>
<div><br></div><div>I would like to learn something. If there's a file which is for example 100 mbyte and one of the clients change it, does the client upload or download the full file to/from the server upon a change, or only the changed portion? This is an issue since in my case the server won't be on a LAN connection but rather a 2 mbps wan link.</div>
<div><br></div><div>If they indeed download/upload only the changed portion, then how will the server & client decide on the changed portion? If the logic is only on client side, then doesn't the client need to read the whole file in server to understand the changed portion? This will be the same as uploading/downloading the whole file.  Doesn't server and client need to do the reading on their ends and decide which portion  of the file to update? (In our example, the file is 100 meg, but it could be 1 gigabyte and you'll understand what I mean).</div>
<div><br></div><div>Or is the owncloud sync function today only meant for fast LAN connection speeds for large files? Is my assumption correct?</div><div><br></div><div>Many Thanks,</div></div>-- <br>Emre<br>
</div>