W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2004

Re: PATCH, gdiff, and random-access I/O

From: Lisa Dusseault <lisa@osafoundation.org>
Date: Thu, 29 Apr 2004 17:14:43 -0700
Message-Id: <611B6A5B-9A3B-11D8-8BCF-000A95B2BB72@osafoundation.org>
Cc: HTTP working group <ietf-http-wg@w3.org>, Alex Rousskov <rousskov@measurement-factory.com>
To: Justin Chapweske <justin@chapweske.com>

That's great, I see now we're on the same page, except that a new diff 
format ought
to be a completely separate standard from PATCH.  I'd also recommend 
that
somebody who really needs this first investigate to see if the local 
I/O log can
in fact be translated into gdiff (or other existing diff format) -- in 
which case
PATCH could already handle the use case.

Lisa

On Apr 29, 2004, at 4:52 PM, Justin Chapweske wrote:

>> I also have my doubts about random-access I/O support.  The 
>> HTTP/WebDAV
>> model is to do whole-resource operations, and since PATCH is all in 
>> one
>> method that still qualifies.  With WebDAV support, a client would be
>> advised
>> to LOCK the resource and GET it, perform random-access I/O on the 
>> local
>> copy, then PUT/PATCH and UNLOCK the file.  Without WebDAV support,
>> client should do the same but using ETags rather than locks.
>
> The random-access patterns that I am suggesting would still operate as
> an atomic whole-resource operation and using ETags could be implemented
> very efficiently.
>
> To give a motivating use-case, lets look at a memory and storage
> constrained embedded device which wishes to access and modify some
> resource that is larger than the available local storage.
>
> This device may access some subset of the resource via Range requests,
> and then may perform a number of random-access-style I/Os on the
> resource.
>
> One reasonable implementation might be to keep an I/O log of all of the
> operations that were performed on the resource.  Once the device is
> finished with its modifications, the PATCH method would be issued with 
> a
> payload that is basically a replay of the local I/O log.  This approach
> mitigates the need of the embedded device to store any information 
> about
> the original state of the file because it need not do a comparison 
> after
> the fact.  Additionally, the storage/memory requirements are directly
> proportional to the number of new bytes written to the resource and
> waiting to be flushed.
>
> Again, I think the PATCH proposal is a good one, I'm just a bit nervous
> that there aren't enough diverse use cases to make it applicable to a
> large set of problems.
>
> Thanks,
>
> -Justin
>
>
Received on Thursday, 29 April 2004 20:15:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 06:49:30 GMT