Next: HTTP Request/Response Filters
 Up: Architecture of the WWW
 Previous: Architecture of the WWW
In this section, we provide an overview of each of the components in the
architecture by means of an example of an HTTP request/response path.
We then describe the functionality of each component in the system.
The numeric steps below refer the the steps shown in Figure 1:
- 1.
 - When the user requests a document, the browser issues the request
to the local proxy server. 
 - 2.
 - This request first goes through an HTTP request
filter. The request may be immediately satisfied (e.g. if the request is 
for a site that is blocked out, such as advertisements), may be modified 
(e.g. header compression [13]), or may be passed through 
without modification. Determination of filterable requests is based on
substring matching of URLs to key strings and running corresponding
scripts defined in a configuration file.
 - 3.
 - If a response was not generated immediately, the request is logged 
by the local profile manager and the user profile is updated. 
 - 4.
 - The request is then passed on to the cache manager. 
 - 5.
 - The profile manager will create a pre-fetch list 
based on the usage profile and send it to the pre-fetcher. 
 - 6.
 - Requests which change the profile, specifically URLs which point to 
HTML pages, are sent to the backbone profile engine to enable backbone 
aggressive pre-fetches and to update the backbone profiles. Note that the
use of an explicit connection to send the profile updates is mainly for
ease of implementation. A more efficient mechanism would be to piggy-back
such data on HTTP requests that gets transmitted from the local proxy server
to the backbone proxy server. 
 - 7.
 - Periodically, the backbone profile engine returns a list of 
recommended pages to pre-fetch based on group profiles. This can occur when
many users of a particular group visit a particular page. Similar to above,
such information can be piggy-backed onto HTTP responses in a more efficient
implementation.
 - 8.
 - The recommended URLs are operated on by a function in the HTTP request 
filter to eliminate URLs that would be filtered (i.e., we do not want to 
pre-fetch items that we will filter). This new list is submitted to the 
pre-fetcher.
 - 9.
 - The pre-fetcher collates the pre-fetch list and group document 
pre-fetch recommendations that are found to be not filterable. 
It then amortizes the pre-fetch requests to the cache manager. 
 - 10.
 - If the cache has a fresh copy of the document originally 
requested, the request is satisfied immediately.
 - 11.
 - Otherwise, the request is forwarded to the backbone proxy server. 
 - 12.
 - The normal HTTP transaction occurs between the backbone cache manager
and the WWW server.
 - 13.
 - After retrieval, the document is passed through the backbone HTTP 
response filter.
 - 14.
 - The response is sent back to the local cache manager, who will cache 
the document if it is a cacheable item. It is then sent back to the browser
(10).
 - 15.
 - The backbone profile manager maintains 
individual as well as group profiles. Periodically, it creates a list of 
recommended group documents and sends it to the local proxy server (7) of
each member of the group. As profile updates arrive, it creates a list of 
documents to pre-fetch based on individual and group usage profiles. The only 
difference from the local pre-fetch list is that the backbone list is longer 
(i.e., we do more aggressive pre-fetches on the backbone). This list is then 
submitted to the backbone pre-fetch engine.
 - 16.
 - The backbone pre-fetcher will issue the necessary pre-fetch requests.
 
 
 
   
 Next: HTTP Request/Response Filters
 Up: Architecture of the WWW
 Previous: Architecture of the WWW
Sau Loon Tong
10/26/1997