About LSAM Request Routing
LSAM Auto-Configuring Daemon
The auto-configuring hierarchy system is currently implemented as
a separate daemon that is
started by Apache (eventually, we expect to integrate this
functionality as a standard Apache
module). This daemon ('tree') reads the httpd.conf file
looking for its configuration directives,
and REWRITES the httpd.conf file
to add a line as follows:
ProxyRemote * http://address.of.parent.proxy
The daemon does not add the "ProxyRemote" directive if there is
already a manually configured
"ProxyRemote" directive in the file.
Further, directives added by the auto-configuration daemon
are marked as such, so later instances of the daemon may override them.
Configuration Directives
In order to make minimal changes to the Apache code
(i.e. the configuration parser) and still have
our configuration directives appear in the standard
httpd.conf file, the directives for auto-configuration
of the hierarchy appear as comments within the Apache
httpd.conf file.
The directives are as follows:
# LsamRoutingNodeType {ClientProxy, NoParentProxy, SelfConfiguringProxy}
ClientProxy will accept no children, NoParentProxy will forward to
origin servers rather
than within the hierarchy,
and all other proxies should be a SelfConfiguringProxy.
# LsamRoutingMulticastAddr -224.x.y.z-
# LsamRoutingMulticastPort -portnumber-
# LsamRoutingUnicastPort -portnumber-
These are the addresses and ports used by the daemon to discover
neighboring proxies, and to exchange hierarchy information.
All proxies MUST use the same values;
defaults will be compiled into later releases.
# LsamRoutingSearchMinHops -smallinteger- (e.g. 3)
# LsamRoutingSearchMaxHops -smallinteger- (e.g. 10)
# LsamRoutingSearchMinNeighbors -smallinteger- (e.g. 3)
These values configure the search bounds for neighbor discovery.
The minimum and maximum values for an increasing hopcount
multicast search,
and a target number of neighbors which is sufficient to end the search.
# LsamRoutingMaxDepth -smallinteger- (e.g. 5)
Value to limit maximum depth of the request routing tree.
Since each proxy forward adds delay, this allows a "fuzzy" upper bound
to be imposed on this delay.
# LsamRoutingMaxChildren -integer- (e.g. 20)
Value to limit the number of children forwarding through
this proxy; too many children will cause the cache to
cycle too quickly, and reduce hit rate and cache effectiveness.
Building the Daemon (from README.lsam)
#ifdef _LSAM_R (surya).
Experimental. Fork off a separate request routing process that
will dynamically
configure apache to redirect http request to neighboring caches.
In this stage,
the process will build a hierarchy for requests aggregation.
Further stages will
include cut-through mechanism. Current modification to apache
will assume that
the routing process (named 'tree') is in "/usr/local/sbin",
and it has not been
integrated to apache
Makefile. It can be build manually by typing 'make' at
"modules/extra/lsam.routing".
Page maintainer: Steve Hotz
Last modified: Mon Jan 6 10:48:20 1997
Copyright © 1996 by USC/ISI