> From: Jeffrey Mogul <mogul@pa.dec.com>
>
> I grabbed a copy of the Touch and Farber paper cited earlier in
> this thread, which seemed to deal with FTP. This described a
> pre-send selection algorithm of sending everything in the currently
> selected directory. The Boston University system used a simple
> 1-level probablistic model to pick the best candidates for
> pre-send, and used fare less extra bandwidth, though with a higher
> probablity of a cache-miss. There's lots of stuff to tune with
> speculation.
>
> The model that Venkata Padmanabhan and I had been working on is
> a little different from the BU and Touch/Farber models (as far as
> I have been able to learn).
>
Most of our model is similar, except as follows:
> (4) We would modify HTTP to add a new response header
> to carry predictions. Ideally, these should come AFTER
We beleive that predictions need to be signalled not only to HTTP,
but to the client's IP processing mechanism, and to the network.
The problem is that predictions are opportunistic use of available
bandwidth, which must not interfere with other "real" traffic.
As a result, we send them:
- to a different PORT on the client-side cache
- flagged as "droppable" (ABR user-flagged 'red', in ATM terms)
> As far as I can tell, ours differs from the other "prefetch"
> approaches in that we split up the prediction mechanism
> from the control mechanism, since it's not possible to optimize
> both in the same place. The server knows the behavior of clients
Our technique does this too - we have a client-side cache, and a
server-side presender. The client is unaware of the actions of the
client-side cache, and the server is unaware of the actions of the
server-side presender, resulting in transparent operation.
The system looks like:
client--cache-------------------------presender--server
if you split the long-line in different places, this looks like
prefetching client caches:
client--cache--presender-------------------------server
prefetching server caches:
client-------------------------cache--presender--server
prefetching intra-net proxies:
client-------------cache--presender--------------server
etc.
The other advantage is that this requires NO modification to HTTP.
Joe