Overall, the system is based on two levels of multicast channels. Each server has its own directory channel (like a TV guide), on which its other station channels are announced. The station channels carry the multicast web pages, where each station handles a single set of related pages. The overall design is visualized below:
The server creates channels when web page groups become popular, and deletes channels when the groups fall out of favor. Created groups are repeatedly announced to the server's directory channel; deleted groups are not actively removed, but rather only cease to be announced.
The server acts on a series of rules, designed to distinguish between unicast and multicast responses, based on the following information:
This information is used with a set of server rules.
The client cache contains partitions that can individually be tuned to receive multicast preloads from the desired stations. The client decides which stations to join based on its past history, direct user cues, and indirect cues, such as mobility indication and time-of-day.
In general, a client joins some number of directories, and from those directories, listens for stations that overlap with its own interests.
In most ways, the client functions as a conventional cache, with minor additional features for monitoring, such as remote "flush", "read contents", etc. It also supports configurable cache replacement algorithms, in support of the different needs of the separate partitions.
Page maintainer: the LSAM project