# Copyright (c) 1998 University of Southern California. # All rights reserved. # # Redistribution and use in source and binary forms are permitted # provided that the above copyright notice and this paragraph are # duplicated in all such forms and that any documentation, advertising # materials, and other materials related to such distribution and use # acknowledge that the software was developed by the University of # Southern California, Information Sciences Institute. The name of the # University may not be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The LSAM Proxy Cache ==================== LSAM Authors: Lars Eggert, Amy Hughes, Stephen Suryaputra $Revision: 1.18 $ ($Date: 1998/07/07 02:17:55 $) More Information: http://www.isi.edu/lsam Introduction ------------ The LSAM project's primary deliverable is a modified version of the Apache proxy cache, enabled with LSAM's technology to support virtual distributed multicast caching. The LSAM proxy uses multicast push based on interest groups, to reduce server and network load, and increase client performance. The code is distributed as FreeBSD 2.2.5 compatible versions of: - modified Apache proxy cache 1.3b1 - port of AFDP 0.98, a multicast file transfer protocol Features of the LSAM Proxy architecture - Automatically converges at network aggregation points - Uses multicast to reduce network and server load - Uses self-configuring interest groups to direct the multicast For more information about the LSAM project, and the LSAM Proxy Cache current releases, see our web pages at: http://www.isi.edu/lsam/ Distribution Features --------------------- This distribution contains a FreeBSD 2.2.5 port of the following components: Apache v1.3b1 web proxy cache extended as indicated below AFDP v0.98 multicast file transfer system custom Makefile, but otherwise as-is CGI scripts, requiring Perl v5 used to manage the system these will be included into the Apache code in the next available version of the LSAM proxy cache The Apache proxy cache has been modified to support distributed multicast push of related web pages, including: - automatic configuration of a proxy hierarchy - support for prioritized web responses - a partitioned cache supporting multiple cache replacement policies - automatic multicast push of web pages over user created affinity channels - request analysis to suggest affinity channels to improve performance at the local server. You will download the file lsam-proxy-0.8.tar.gz Distribution Contents --------------------- lsam-proxy-0.8/ LSAM-installscript - a shell script which configures and compiles the full apache proxy and AFDP. README.lsam - this file README.lsam-install - installation overview for the LSAM proxy and all its components. afdp/ - The source code for the AFDP multicast environment This directory should contain the source code and instructions to build the AFDP enviroment. README.lsam-afdp - Notes on Apache/AFDP integration. apache/ - the apache proxy server with LSAM enhancements .lsam-passwd - the password file used to control access to the configuration scripts in cgi-bin/lsam Valid users are: lsam-root:root guest: Passwords can be added or changed using apache's htpasswd utility. README.lsam - this file README.lsam-install - installation overview for the LSAM proxy and all its components cgi-bin/lsam/ - the directory containing CGI scripts needed to interact with the server and its configuration. README.lsam-scripts - explains the purpose of the files and how to interact with the scripts. demo-files/ - all files in this directory are used to simulate the real server configuration data and shield server control from guests. conf/ - templates for the configuration files. README.lsam-conf - describes the LSAM configuration files access.conf-LSAM-dist - the access.conf file which contains all of the directives needed to run the LSAM proxy. httpd.conf-LSAM-dist - the httpd.conf file which contains all of the LSAM configuration directives and activates all apache directives necessary to run the LSAM proxy. lsam_logdaemon.conf-LSAM-dist - this configuration file controls the executation of lsam_logdaemon. The daemon periodically evaluates the request logs and makes channel suggestions. srm.conf-LSAM-dist - the srm.conf file which contains all of the directives needed to run the LSAM proxy. src/ - the apache source code and LSAM modifications. Configuration.LSAM.tmpl - a complete LSAM Configuration file Makefile.LSAM.tmpl - a complete Makefile.tmpl with extra LSAM requirements added. README.lsam - link to this file README.lsam-caching - describes the different caching algorithms available for use with the LSAM proxy. README.lsam-install - link to ../README.lsam-install. README.lsam-measure - describes the LSAM usage monitoring additions to apache. README.lsam-relocation - describes the LSAM proxy relocation mechanism. README.lsam-routing - describes the LSAM routing support provided. README.lsam-scheduling - describes the LSAM background traffic scheduling mechanism. README.lsam-tvgmulticast - describes the LSAM "TV Guide" channel announcements. README.lsam-logdaemon - describes the LSAM server/proxy log analyzer. main/ - the main apache source code lsam_config.h - the header file which contains definitions needed to compile LSAM features into apache. lsam-extras/ - other source code needed by LSAM README.lsam - description of contents. Changes ------- V0.8 - 7/1/98: Added complete web interface. Multicast channels can now be created at the server. Individual files can be pushed out on a given multicast channel. Files are also multicast in response to requests at the server. Clients can tune in a desired channel and receive multicast updates from it. A daemon has been added to analyze the request logs and suggest possible channels to the server administrator. This same daemon makes suggestions about which channels to receive as well. The cache has been partitioned. Files from a single channel are stored in each partition. All non-channel cached files are stored in the generic partition. In response to a changed channel multicast address, the client receiver will be automatically updated. If a tuned channel disappears, the system will automatically detune that channel. Foreground cut-through request has been added. Background response scheduler now configurable from the web page; real-time live stats available via the web page, various fixes. Some instability in lsam_tree hierarchy protocol implementation has been fixed. Now using AFDP 0.98 which includes our FreeBSD patches by default. V0.71 - 4/6/98: Added full source code for AFDP v0.97b ported to FreeBSDv2.2.5 V0.7 - 3/98: This is the initial release of the LSAM Proxy Cache