- From: Lisa Dusseault <lisa@osafoundation.org>
- Date: Thu, 29 Apr 2004 17:14:43 -0700
- To: Justin Chapweske <justin@chapweske.com>
- Cc: HTTP working group <ietf-http-wg@w3.org>, Alex Rousskov <rousskov@measurement-factory.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 UTC