At present, all of the functionality described in this paper has been implemented except for the ability of the server-side proxy to store multiple versions of the same URL. We plan to implement these features and test the system in a multi-user environment, where the same server proxy handles requests for multiple users. We believe that in this environment there will be many more cases where the server proxy has content that a particular client proxy does not, resulting in more optimistic transfers than would occur in a single-user context. One must evaluate policies for determining how many versions to keep and how many concurrent clients can be supported by a server proxy.
We plan to expand the URL comparison logic to handle the case of variants on the same URL (including the part of a GET URL that specifies CGI parameters), as described above in Section 3.1. In fact, it might be possible to hash the contents of pages to find other pages that are substantially similar and would generate small deltas.
Currently, each communication between the browser and the client proxy, or between the client and server proxies, requires a TCP setup. Persistent HTTP [16] should improve performance further, but we have not yet implemented a persistent connection in our proxy.
In the current system, deltas are generated only when the current version of a document has been received in its entirety. We intend to add incremental delta generation so that the delta can be sent over the slower link as content is received, and so that it is possible to abort optimistic transfers early if the delta appears to be large. It is also possible to use historical data to estimate the usefulness of sending stale data: if for a particular host or page is usually very small, then one might not bother with the optimistic transfer.
Finally, it should be useful to integrate prefetching into the optimistic delta system. In addition to prefetching new pages through the server proxy to the client (similar to the studies mentioned above [17, 21]), we can prefetch deltas to keep the proxies' caches better synchronized.