<div>Hi all , i have been working on UDP hole punching , and now have a fair idea about how it works :)<div>I will be implementing a simple file sharing python script, to transfer a file from a computer behind a NAT</div><div>
to another behind another NAT.</div><div>will keep all posted.</div><div><br></div><div>I have a few ideas / suggestions / questions :</div><div>1. OwnCloud Could be designed to be either </div><div><b>1.1 hosted at a webhost</b>, like goDaddy.com etc. which will make the data available</div>
<div>via static IP / godaddy(et-al) sub-domain. </div><div>Pros : the data is available though an FTP client , or a nice web interface, very easy to code too ! :)</div><div>Cons: 1. High initial cost 2. The user is not in control of the data ( what if the web-server goes down !!)</div>
<div><br></div><div><b>1.2 hosted on the users' computer behind a NAT</b></div><div>Pros: 1. All the data is with the user 2. Computers in local network do not need to access the internet to get the data :)</div><div>
Cons: 1. Difficult to make data available to outside world (NAT hole-punching) or (reverse-proxy)</div><div><b><br></b></div><div><br></div><div>OwnCloud could be designed to be a two part system:</div><div><b>One part</b> resident on the OwnCloud users' home computer behind an always on internet connection </div>
<div>protected behind a NAT. </div><div>This part includes the web based front-end , which ownCloud currently has, which serves any computers in the Local Network.</div><div>Plus the web-based front end can be used by any one who opts for scenario 1.1 above (hosted at a webhost<b>).</b></div>
<div><b><br></b></div><div><b>Part Two </b>could be designed as a sync-client + simple file browser + NAT-hole-puncher + simple file server</div><div>This part is always running on the client's home PC (scenario 1.2 hosted on the users' computer behind a NAT ) </div>
<div>and does the following:</div><div>It runs on any device (netbook , laptop, desktop) where the user wants to edit data (Mobile phones are not included </div><div>as user may just want to access data on the phone (<i>Comments ?</i>)</div>
<div><br></div><div>a) this application running on any computer on the <i>local lan</i> other than the server : requests for files and if the user </div><div>updates the file , sends in the new file back to the server.</div>
<div><br></div><div>b) this application running on any computer outside the NAT : does NAT hole punching , to reach the application running </div><div>on the server and then works normally (first retrieving only the files list , and then retrieving more files as and when a user asks for it)</div>
<div><br></div><div>c) this application running on the server , facilitates NAT hole punching. Serves files to clients, receives updated files</div><div>if any , triggers the <i>file versioning mechanism </i> and then saves the files.</div>
<div><br></div><div>Concerns In general :</div><div>1. Authentication : We could use a share-key encryption mechanism , thus allowing sharing of you cloud resources with your friends :) </div><div>2. Security : We could host OwnCloud inside a Virtual Machine, so in case , someone cracks into the system the damages could</div>
<div>be sandboxed.</div><div>3. File versioning mechanism : Candidates : 1) git 2) Mercurial 3) ZFileSystem (an OS based versioning mechanism)</div><div>If we go with a virtual machine , we could use FreeBSD as a base OS and ZFS as a filesystem based versioning mechanism.</div>
<div>ZFS is open Sourced, and is a server grade technology part of Solaris 10. (video showing ZFS being used in FreeNAS <a href="http://www.youtube.com/watch?v=16v4jNYH0GI">http://www.youtube.com/watch?v=16v4jNYH0GI</a> )</div>
<div><br></div><div>4. WebDav : This afaik doesn't work if the computers are separated by a NAT.</div><div><br></div><div>my 2cents :) Please let me know if my ideas above work towards what OwnCloud is trying to achieve.</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><div><b><br></b></div><div class="gmail_quote">On Mon, Feb 14, 2011 at 4:21 PM, Riccardo Iaconelli <span dir="ltr"><<a href="mailto:riccardo@kde.org" target="_blank">riccardo@kde.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Thursday 03 February 2011 23:41:53 Robin Appelman wrote:<br>
> I experimented a bit with phpSyncML and I managed to get it integrated in<br>
> ownCloud enough to do some basic pim synchronization done.<br>
><br>
> I didn't do to much testing yet but it looks like I could drop google<br>
> calendar faster then I expected<br>
><br>
> I will commit the plugin soon-ish<br>
<br>
</div>This is AWESOME!!!<br>
<br>
Let me know what I can do, if you need any help. :)<br>
<br>
Bye,<br>
<font color="#888888">-Riccardo</font><br>_______________________________________________<br>
Owncloud mailing list<br>
<a href="mailto:Owncloud@kde.org" target="_blank">Owncloud@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/owncloud" target="_blank">https://mail.kde.org/mailman/listinfo/owncloud</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>regards<br>-------<br>Kunal Ghosh<br>Dept of Computer Sc. & Engineering.<br>Sir MVIT<br>Bangalore,India<br><br>permalink: <a href="http://member.acm.org/~kunal.t2" target="_blank">member.acm.org/~kunal.t2</a><br>
<div>Blog:<a href="http://kunalghosh.wordpress.com" target="_blank">kunalghosh.wordpress.com</a><br>Website:<a href="http://www.kunalghosh.net46.net" target="_blank">www.kunalghosh.net46.net</a><br><br></div><br>
</div>