next up previous
Next: Potential of Proxy-Side Pre-Pushing Up: Proxy-Side Pre-Pushing Previous: Prefetch Buffer

Traces and the Simulator

The traces used in this study is the HTTP traces gathered from the University of California at Berkeley home dial-up populations from November 14, 1996 through November 19, 1996. For a detailed description of the trace see  [8]. The traces are collected at a packet sniffing machine placed at the head-end of the UC Berkeley HomeIP modem bank. Thus, it corresponds to requests that would be seen by a proxy between the modem clients and the Internet.

The simulator uses the timing information in the traces to estimate the latency seen by the modem client. The trace includes, for each request, the time the client made the request (T0), the time at which the first byte of the Web server response was seen at the head-end machine (T1), and the time at which the last byte of the Web server response was seen at the head-end machine (T2). We assume that the transfer of the document from the Internet to the head-end machine and the transfer of the document from the head-end machine to the modem client can be overlapped, and since packets typically arrive at the modem bank faster than they can be sent to the modem clients [7], we estimate the client-seen latency to be (T1 - T0) plus the document size divided by the modem bandwidth [*].

Except in our analysis of user idle times, we always assume the existence of a proxy between the modem clients and the Internet. The proxy is assumed to have a cache size of 16GB, which for our traces results in no cache replacement. We do not simulation the latency of fetching a document from the proxy cache in detail since in practice there are many different proxy software that has quite different performance characteristics. Rather, we assume a 10ms fixed delay in fetching a cached file from disk in order to send to the client. We assume that the proxy has one disk and the fetching of different files is serialized.

The simulator models a prefetch buffer associated with each unique client. The prefetch buffer resides on the local machine of the client. The prefetch buffer is assumed to be implemented in main memory and its access time is considered insignificant. From the traces we can not recognize when a user disconnects and reconnects to the modem bank. We approximate this behavior by assuming that a user connection idle for more than 30 minutes corresponds to a user disconnecting. When a user is idle for more than 30 minutes their prefetch buffer is cleared and any state the proxy has been maintaining for that user is discarded.

For most of the studies we assume that the proxy has perfect knowledge of the state of each user's prefetch buffer. In a real system this could be achieved by either the proxy maintaining state on all active users' buffers or by having the proxy query the user when it needs information. This query communication would most likely be very short messages whose latency would be insignificant as compared to document transfer times. We will also show that prepushing can be implemented with the proxy having no knowledge of the state of the user's prefetch buffer.


next up previous
Next: Potential of Proxy-Side Pre-Pushing Up: Proxy-Side Pre-Pushing Previous: Prefetch Buffer
Pei Cao
4/13/1998