Re: [ftpext] COMB command IETF draft proposal

Van Glass <vglass@jscape.com> Wed, 08 June 2011 20:15 UTC

Return-Path: <vglass@jscape.com>
X-Original-To: ftpext@ietfa.amsl.com
Delivered-To: ftpext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB6D521F85C6 for <ftpext@ietfa.amsl.com>; Wed, 8 Jun 2011 13:15:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.977
X-Spam-Level:
X-Spam-Status: No, score=-2.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3Nb+W2XLaWJ6 for <ftpext@ietfa.amsl.com>; Wed, 8 Jun 2011 13:15:30 -0700 (PDT)
Received: from mail-yx0-f172.google.com (mail-yx0-f172.google.com [209.85.213.172]) by ietfa.amsl.com (Postfix) with ESMTP id 32B4321F85C5 for <ftpext@ietf.org>; Wed, 8 Jun 2011 13:15:30 -0700 (PDT)
Received: by yxm34 with SMTP id 34so568779yxm.31 for <ftpext@ietf.org>; Wed, 08 Jun 2011 13:15:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.236.195.65 with SMTP id o41mr2558493yhn.337.1307564129192; Wed, 08 Jun 2011 13:15:29 -0700 (PDT)
Received: by 10.236.153.7 with HTTP; Wed, 8 Jun 2011 13:15:29 -0700 (PDT)
In-Reply-To: <F15941D3C8A2D54D92B341C20CACDF2311AC51B359@exchange>
References: <F15941D3C8A2D54D92B341C20CACDF2311AC408AB1@exchange> <01AA9EC92749BF4894AC2B3039EA4A2C1946D58A@CH1PRD0302MB131.namprd03.prod.outlook.com> <F15941D3C8A2D54D92B341C20CACDF2311AC51B359@exchange>
Date: Wed, 08 Jun 2011 14:15:29 -0600
Message-ID: <BANLkTina+ZF97cgQrJp7yGWcsWmY4eOuEQ@mail.gmail.com>
From: Van Glass <vglass@jscape.com>
To: Robert Oslin <rto@globalscape.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: "ftpext@ietf.org" <ftpext@ietf.org>, Robert McMurray <robmcm@microsoft.com>
Subject: Re: [ftpext] COMB command IETF draft proposal
X-BeenThere: ftpext@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <ftpext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ftpext>, <mailto:ftpext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ftpext>
List-Post: <mailto:ftpext@ietf.org>
List-Help: <mailto:ftpext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ftpext>, <mailto:ftpext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Jun 2011 20:15:31 -0000

I think that having the server perform the delete tasks is preferred
for the simple reason that this would reduce the number of commands
going across the command channel.  We have not yet implemented COMB
but would like to pursue it.  With that said I'm curious to know your
experience COMBing a large number of files or very large files.  Have
you experienced any issues where the COMBine process on the server
side takes a long amount of time, possibly resulting in a command
channel timeout on the client side?

Thanks,

Van Glass
JSCAPE
Managed File Transfer and Network Solutions
http://www.jscape.com




On Wed, Jun 8, 2011 at 1:59 PM, Robert Oslin <rto@globalscape.com> wrote:
> Thanks for the feedback! Issuing a hash (or XCRC until HASH is formally ratified) makes a lot of sense and will be inserted as a strongly recommended practice (i.e. SHOULD). As for the delete operation, I would be careful to make it mandatory of the client, rather leaving it open to interpretation, as there are many ways for the server to execute the combine operation, which may or may not result in the original parts being available for deletion. For example a rudimentary concatenate operation by the server on ascii type files (which would be quite slow) would result in each part being removed by nature of the concatenation operation, hence a subsequent delete operation would result in 5xx errors returned to the client on each DELE request. Perhaps it would be wise to recommend that the client check for parts post operation and do cleanup if any parts remain? In our particular implementation (and in the handful of servers that support COMB so far), it is the server that does
>  the cleanup as a function of the combine operation. Let me know if that makes sense, or if not, then how to deal with the myriad ways in which servers may go about combining files and how to deal with corner cases.
>
> Robert Oslin
>
> -----Original Message-----
> From: Robert McMurray [mailto:robmcm@microsoft.com]
> Sent: Wednesday, June 08, 2011 2:11 PM
> To: Robert Oslin; ftpext@ietf.org
> Subject: RE: [ftpext] COMB command IETF draft proposal
>
> Thanks, Robert.
>
> I like the idea behind the COMB command; I could see where this could be quite useful for transferring large files.
>
> One consideration that I have in your draft is verbiage that "The server-FTP process SHOULD delete each of the parts identified by the COMB command once the target file is created." I would think that the cleanup behavior for partial files would be left to the client, since the remaining parts of the draft place the responsibility on the client for splitting the file and keeping track of the parts. For example:
>
>      C> STOR foo.txt
>      S> 226 Transfer complete.
>      C> STOR bar.txt
>      S> 226 Transfer complete.
>      C> COMB foobar.txt foo.txt bar.txt
>      S> 250 COMB command successful.
>      C> DELE foo.txt
>      S> 250 DELE command successful.
>      C> DELE bar.txt
>      S> 250 DELE command successful.
>
> As you mentioned in your draft, it would be advantageous if COMB was used with the HASH command to verify data integrity before the client takes care of the deletion tasks. For example:
>
>      C> OPTS HASH MD5
>      S> 200 MD5
>      C> STOR foo.txt
>      S> 226 Transfer complete.
>      C> STOR bar.txt
>      S> 226 Transfer complete.
>      C> COMB foobar.txt foo.txt bar.txt
>      S> 250 COMB command successful.
>      C> HASH foobar.txt
>      S> 213 MD5 426f62526f636b73 foobar.txt
>      C> DELE foo.txt
>      S> 250 DELE command successful.
>      C> DELE bar.txt
>      S> 250 DELE command successful.
>
> Thanks again.
>
> Robert McMurray
> robmcm@microsoft.com
>
> ------------------------------
> From: Robert Oslin [mailto:rto@globalscape.com]
> Sent: Wednesday, June 08, 2011 9:15 AM
> To: ftpext@ietf.org
> Subject: [ftpext] COMB command IETF draft proposal
>
> "Any submission to the IETF intended by the Contributor for publication as all or part of an IETF Internet-Draft or RFC and any statement made within the context of an IETF activity is considered an "IETF Contribution".
>
> It only took me 10+ years, but here's my contribution the FTP ext community (attached).
>
> Essentially an early draft to ratify the commonly used COMB command for support of multi-part (a.k.a accelerated) uploads. I welcome comments/questions from the community. Ideally redlining the document (or via comments in the doc). I will resubmit using formal IETF draft (in ASCII) once I've addressed all comments/questions in the MS Word version (hope that's ok and doesn't break and IETF rules).
>
> Thanks,
>
> Robert Oslin
> Director of Product Management
> Tel: 1 (210) 293-7902
> Fax: 1 (210) 690-8824
> Send me large files securely
>
> www.globalscape.com
>    (NYSE Amex:GSB) *This communication, including attachments, is for the exclusive use of the addressee and may contain proprietary, confidential or privileged information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this communication and destroy all copies.
>
>
> _______________________________________________
> ftpext mailing list
> ftpext@ietf.org
> https://www.ietf.org/mailman/listinfo/ftpext
>