My intuition is that, at the moment, the primary contributor to
delay for the average web user (on a 14.4 or 28.8 modem) is the
long transmission time over the "tail circuit" dialup link.
Prefetching is therefore mostly a way of hiding this part of
the latency. Since these links are typically private to a
given client, and are paid for by the minute, not by the packet,
it makes sense to try to use as much of their bandwidth as possible.
This assumes that the available bandwidth between ISPs is large
enough to cover N*28.8K bits/sec when N users are actively using
the Web, but presumably one would not prefetch infinitely into
the future; that is, there would still be plenty of "think time"
per active user.
You write:
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)
but then you also write:
The other advantage is that this requires NO modification to HTTP.
This seems inconsistent to me. Use of a different port and
requiring network-level priority settings definitely means
changes to the HTTP spec, and almost certainly would require
major changes to proxies, routers, etc.
Of course, one could get into an argument over whether prefetching
or presending is more wasteful of bandwidth (for a given reduction
in latency), but I'll leave that for later.
-Jeff