Subject: [ftpext] "Distributed Transfer Support for FTP"

From: Daniel Stenberg <[email-masked]>
Date: Wed, 10 Nov 2010 10:11:12 +0100 (CET)

Hi

I just noticed this and thought people in this group might be interested:

Abstract
          This document specifies new File Transfer Protocol (FTP)
          commands to allow for a distributed FTP server to operate
          correctly. The purpose is to address an issue in the FTP
          Protocol which causes a truely distributed FTP server from
          being possible.

 	http://tools.ietf.org/html/draft-dd-pret-00
-- 

  / daniel.haxx.se

---

From: "Alun Jones" <[email-masked]>
Date: Fri, 12 Nov 2010 08:47:03 -0800

This seems a little related to the HOST extension.

For those situations where the HOST extension would not apply, I think it's
more appropriate (and better backward compatibility) for clients to CWD
before transfer (so as to avoid paths in the transfer command), and for the
server to ensure that different back-end services are hosted in different
[virtual] subdirectories from one another.

Perhaps I don't understand the nature of the problem, or the solutions that
already exist.

Alun.
~~~~

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of Daniel Stenberg
> Sent: Wednesday, November 10, 2010 1:11 AM
> To: [email-masked]
> Subject: [ftpext] "Distributed Transfer Support for FTP"
> 
> Hi
> 
> _______________________________________________
> ftpext mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/ftpext

---

From: Damin Daster <[email-masked]>
Date: Fri, 12 Nov 2010 14:11:29 -0500

I might as well introduce this now;

This draft is meant to extend FTP in a way that allows for a distributed 
server. That is, a set of servers which act together as a single FTP site.

Distributed FTP Servers have many great benefits:
Disk Sharing (one "giant" filesystem)
Bandwidth Aggregation
Load-Balancing
Geo-Balancing (something similar to CDN?)
High-Availability for FTP Site (multi-mastered)
High-Availability for Files (one file on multiple slaves)

Here´s the basic idea...
A Distributed FTP site is a group of servers; masters and slaves
Masters hold a List of files. (and know where each file is)
Slaves transfer and store files.

If a client wants to download a file;
It connects to a master.
It tells the master it wants to download a file...
The master determines what slave has that file and instructs that slave 
and the client to connect to each other (depends on PASV or PORT)
The slave then sends the file DIRECTLY to the client.

Why this isn´t possible now;
FTP initiates a connection before we know what will be transferred 
through it.
If the master doesn´t know what the user is going to ask for, how would 
it know who it should instruct to connect?

The solution;
The client should tell the master what it wants before it asks to connect.
The master can then make an educated choice on who should connect.

Compatibility;
The proposal is very unobtrusive, backwards compatible, and forwards 
compatible for the most part.

Of course let me know if you see any problems or have any questions.