openafs/doc/html/AdminReference/auarf129.htm
Derrick Brashear d7da1acc31 initial-html-documentation-20010606
pull in all documentation from IBM
2001-06-06 19:09:07 +00:00

392 lines
22 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4//EN">
<HTML><HEAD>
<TITLE>Administration Reference</TITLE>
<!-- Begin Header Records ========================================== -->
<!-- /tmp/idwt3672/auarf000.scr converted by idb2h R4.2 (359) ID -->
<!-- Workbench Version (AIX) on 3 Oct 2000 at 16:18:30 -->
<META HTTP-EQUIV="updated" CONTENT="Tue, 03 Oct 2000 16:18:29">
<META HTTP-EQUIV="review" CONTENT="Wed, 03 Oct 2001 16:18:29">
<META HTTP-EQUIV="expires" CONTENT="Thu, 03 Oct 2002 16:18:29">
</HEAD><BODY>
<!-- (C) IBM Corporation 2000. All Rights Reserved -->
<BODY bgcolor="ffffff">
<!-- End Header Records ============================================ -->
<A NAME="Top_Of_Page"></A>
<H1>Administration Reference</H1>
<HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auarf002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auarf128.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Bot_Of_Page"><IMG SRC="../bot.gif" BORDER="0" ALT="[Bottom of Topic]"></A> <A HREF="auarf130.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auarf284.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P>
<P>
<H2><A NAME="HDRFILESERVER" HREF="auarf002.htm#ToC_143">fileserver</A></H2>
<A NAME="IDX4701"></A>
<A NAME="IDX4702"></A>
<A NAME="IDX4703"></A>
<P><STRONG>Purpose</STRONG>
<P>Initializes the File Server component of the <B>fs</B> process
<P><STRONG>Synopsis</STRONG>
<PRE><B>fileserver</B> [<B>-d</B> &lt;<VAR>debug&nbsp;level</VAR>>] [<B>-p</B> &lt;<VAR>number&nbsp;of&nbsp;processes</VAR>>]
[<B>-spare</B> &lt;<VAR>number&nbsp;of&nbsp;spare&nbsp;blocks</VAR>>]
[<B>-pctspare</B> &lt;<VAR>percentage&nbsp;spare</VAR>>] [<B>-b</B> &lt;<VAR>buffers</VAR>>]
[<B>-l</B> &lt;<VAR>large&nbsp;vnodes</VAR>>] [<B>-s</B> &lt;<VAR>small &nbsp;nodes</VAR>>]
[<B>-vc</B> &lt;<VAR>volume&nbsp;cachesize</VAR>>] [<B>-w</B> &lt;<VAR>call&nbsp;back&nbsp;wait&nbsp;interval</VAR>>]
[<B>-cb</B> &lt;<VAR>number&nbsp;of&nbsp;call&nbsp;backs</VAR>>]
[<B>-banner</B> (print banner every 10 minutes)]
[<B>-novbc</B> (whole volume cbs disabled)]
[<B>-implicit</B> &lt;<VAR>admin&nbsp;mode&nbsp;bits:&nbsp;rlidwka</VAR>>]
[<B>-hr</B> &lt;<VAR>number&nbsp;of&nbsp;hours&nbsp;between&nbsp;refreshing&nbsp;the&nbsp;host&nbsp;cps</VAR>>]
[<B>-busyat</B> &lt;<VAR>redirect&nbsp;clients&nbsp;when&nbsp;queue&nbsp;>&nbsp;n</VAR>>]
[<B>-rxpck</B> &lt;<VAR>number&nbsp;of&nbsp;rx&nbsp;extra&nbsp;packets</VAR>>]
[<B>-rxdbg</B> (enable rx debugging)]
[<B>-rxdbge</B> (enable rxevent debugging)]
[<B>-m</B> &lt;<VAR>min&nbsp;percentage&nbsp;spare&nbsp;in&nbsp;partition</VAR>>]
[<B>-lock</B> (keep fileserver from swapping)]
[<B>-L</B> (large server conf)] [<B>-S</B> (small server conf)]
[<B>-k</B> &lt;<VAR>stack&nbsp;size</VAR>>] [<B>-realm</B> &lt;<VAR>Kerberos&nbsp;realm&nbsp;name</VAR>>]
[<B>-udpsize</B> &lt;<VAR>size&nbsp;of&nbsp;socket&nbsp;buffer&nbsp;in&nbsp;bytes</VAR>>]
[<B>-enable_peer_stats</B>] [<B>-enable_process_stats</B>]
[<B>-help</B>]
</PRE>
<P>This command does not use the syntax conventions of the AFS command
suites. Provide the command name and all option names in full.
<P><STRONG>Description</STRONG>
<P>The <B>fileserver</B> command initializes the File Server component of
the <B>fs</B> process. In the conventional configuration, its
binary file is located in the <B>/usr/afs/bin</B> directory on a file
server machine.
<P>The <B>fileserver</B> command is not normally issued at the command
shell prompt, but rather placed into a database server machine's
<B>/usr/afs/local/BosConfig</B> file with the <B>bos create</B>
command. If it is ever issued at the command shell prompt, the issuer
must be logged onto a file server machine as the local superuser
<B>root</B>.
<P>The File Server creates the <B>/usr/afs/logs/FileLog</B> log file as it
initializes, if the file does not already exist. It does not write a
detailed trace by default, but use the <B>-d</B> option to increase the
amount of detail. Use the <B>bos getlog</B> command to display the
contents of the log file.
<P>The command's arguments enable the administrator to control many
aspects of the File Server's performance, as detailed in the
<B>Options</B> section. By default the <B>fileserver</B>
command sets values for many arguments that are suitable for a medium-sized
file server machine. To set values suitable for a small or large file
server machine, use the <B>-S</B> or <B>-L</B> flag
respectively. The following list describes the parameters and
corresponding argument for which the <B>fileserver</B> command sets
default values, and <A HREF="#TBLFILESERVER-ARGS">Table 1</A> summarizes the setting for each of the three machine
sizes.
<UL>
<P><LI>The maximum number of lightweight processes (LWPs) the File Server uses to
handle requests for data; corresponds to the <B>-p</B>
argument. The File Server always uses a minimum of 32 KB for these
processes.
<P><LI>The maximum number of directory blocks the File Server caches in
memory; corresponds to the <B>-b</B> argument. Each cached
directory block (buffer) consumes 2,092 bytes of memory.
<P><LI>The maximum number of large vnodes the File Server caches in memory for
tracking directory elements; corresponds to the <B>-l</B>
argument. Each large vnode consumes 292 bytes of memory.
<P><LI>The maximum number of small vnodes the File Server caches in memory for
tracking file elements; corresponds to the <B>-s</B> argument.
Each small vnode consumes 100 bytes of memory.
<P><LI>The maximum volume cache size, which determines how many volumes the File
Server can cache in memory before having to retrieve data from disk;
corresponds to the <B>-vc</B> argument.
<P><LI>The maximum number of callback structures the File Server caches in
memory; corresponds to the <B>-cb</B> argument. Each callback
structure consumes 16 bytes of memory.
<P><LI>The maximum number of <B>Rx</B> packets the File Server uses;
corresponds to the <B>-rxpck</B> argument. Each packet consumes
1544 bytes of memory.
</UL>
<BR>
<P><B><A NAME="TBLFILESERVER-ARGS" HREF="auarf003.htm#FT_TBLFILESERVER-ARGS">Table 1. File Server configuration parameters</A></B><BR>
<TABLE WIDTH="100%" BORDER>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Parameter (Argument)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">Small configuration (<B>-S</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">Medium configuration (default)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">Large configuration (<B>-L</B>)
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Number of LWPs (<B>-p</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">6
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">9
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">12
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Number of cached directory blocks (<B>-b</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">70
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">90
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">120
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Number of cached large vnodes (<B>-l</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">200
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">400
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">600
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Number of cached small vnodes (<B>-s</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">200
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">400
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">600
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Maximum volume cache size (<B>-vc</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">200
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">400
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">600
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Number of callbacks (<B>-cb</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">20,000
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">60,000
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">64,000
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Number of <B>Rx</B> packets (<B>-rxpck</B>)
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">100
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="19%">150
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="21%">200
</TD></TR></TABLE>
<P>To override any of the values, provide the indicated argument (which can be
combined with the <B>-S</B> or <B>-L</B> flag).
<P>The amount of memory required for the File Server varies. The
approximate default memory usage is 751 KB when the <B>-S</B> flag is used
(small configuration), 1.1 MB when all defaults are used (medium
configuration), and 1.4 MB when the <B>-L</B> flag is used (large
configuration). If additional memory is available, increasing the value
of the <B>-cb</B> and <B>-vc</B> arguments can improve File Server
performance most directly.
<P>By default, the File Server allows a volume to exceed its quota by 1 MB
when an application is writing data to an existing file in a volume that is
full. The File Server still does not allow users to create new files in
a full volume. To change the default, use one of the following
arguments:
<A NAME="IDX4704"></A>
<UL>
<P><LI>Set the <B>-spare</B> argument to the number of extra kilobytes that
the File Server allows as overage. A value of <B>0</B> allows no
overage.
<P><LI>Set the <B>-pctspare</B> argument to the percentage of the
volume's quota the File Server allows as overage.
</UL>
<P>By default, the File Server implicitly grants the <B>a</B>
(<B>administer</B>) and <B>l</B> (<B>lookup</B>) permissions to
the <B>system:administrators</B> on the access control list (ACL) of
every directory in the volumes stored on its file server machine. In
other words, the group's members can exercise those two permissions even
when an entry for the group does not appear on an ACL. To change the
set of default permissions, use the <B>-implicit</B> argument.
<P>The File Server maintains a <I>host current protection subgroup</I>
(<I>host CPS</I>) for each client machine from which it has received a
data access request. Like the CPS for a user, a host CPS lists all of
the Protection Database groups to which the machine belongs, and the File
Server compares the host CPS to a directory's ACL to determine in what
manner users on the machine are authorized to access the directory's
contents. When the <B>pts adduser</B> or <B>pts removeuser</B>
command is used to change the groups to which a machine belongs, the File
Server must recompute the machine's host CPS in order to notice the
change. By default, the File Server contacts the Protection Server
every two hours to recompute host CPSs, implying that it can take that long
for changed group memberships to become effective. To change this
frequency, use the <B>-hr</B> argument.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">The AIX operating system does not automatically reserve a part of each
partition to avoid the negative consequences that can result when the space on
a partition is completely exhausted. Therefore, the AIX version of the
File Server creates an 8% disk reserve automatically. To change the
percentage, use the <B>-m</B> argument.
</TD></TR></TABLE>
<P>The File Server generates the following message when a partition is nearly
full:
<PRE> No space left on device
</PRE>
<P><STRONG>Cautions</STRONG>
<P>Do not use the <B>-k</B> and <B>-w</B> arguments, which are
intended for use by the AFS Development group only. Changing them from
their default values can result in unpredictable File Server behavior.
In any case, on many operating systems the File Server uses native threads
rather than the LWP threads, so using the <B>-k</B> argument to set the
number of LWP threads has no effect.
<P>Do not specify both the <B>-spare</B> and <B>-pctspare</B>
arguments. Doing so causes the File Server to exit, leaving an error
message in the <B>/usr/afs/logs/FileLog</B> file.
<P>Options that are available only on some system types, such as the
<B>-m</B> and <B>-lock</B> options, appear in the output generated by
the <B>-help</B> option only on the relevant system type.
<P><STRONG>Options</STRONG>
<DL>
<P><DT><B>-d
</B><DD>Sets the detail level for the debugging trace written to the
<B>/usr/afs/logs/FileLog</B> file. Provide one of the following
values, each of which produces an increasingly detailed trace:
<B>0</B>, <B>1</B>, <B>5</B>, <B>25</B>, and
<B>125</B>. The default value of <B>0</B> produces only a few
messages.
<P><DT><B>-p
</B><DD>Sets the number of threads to run. Provide a positive
integer. The File Server creates and uses five threads for special
purposes, in addition to the number specified (but if this argument specifies
the maximum possible number, the File Server automatically uses five of the
threads for its own purposes).
<P>The maximum number of threads can differ in each release of AFS.
Consult the <I>IBM AFS Release Notes</I> for the current release.
<P><DT><B>-spare
</B><DD>Specifies the number of additional kilobytes an application can store in a
volume after the quota is exceeded. Provide a positive integer; a
value of <B>0</B> prevents the volume from ever exceeding its
quota. Do not combine this argument with the <B>-pctspare</B>
argument.
<P><DT><B>-pctspare
</B><DD>Specifies the amount by which the File Server allows a volume to exceed
its quota, as a percentage of the quota. Provide an integer between
<B>0</B> and <B>99</B>. A value of <B>0</B> prevents the
volume from ever exceeding its quota. Do not combine this argument with
the <B>-spare</B> argument.
<P><DT><B>-b
</B><DD>Sets the number of directory buffers. Provide a positive
integer.
<P><DT><B>-l
</B><DD>Sets the number of large vnodes available in memory for caching directory
elements. Provide a positive integer.
<P><DT><B>-s
</B><DD>Sets the number of small vnodes available in memory for caching file
elements. Provide a positive integer.
<P><DT><B>-vc
</B><DD>Sets the number of volumes the File Server can cache in memory.
Provide a positive integer.
<P><DT><B>-w
</B><DD>Sets the interval at which the daemon spawned by the File Server performs
its maintenance tasks. Do not use this argument; changing the
default value can cause unpredictable behavior.
<P><DT><B>-cb
</B><DD>Sets the number of callbacks the File Server can track. Provide a
positive integer.
<P><DT><B>-banner
</B><DD>Prints the following banner to <B>/dev/console</B> about every 10
minutes.
<PRE> File Server is running at <VAR>time</VAR>.
</PRE>
<P><DT><B>-novbc
</B><DD>Prevents the File Server from breaking the callbacks that Cache Managers
hold on a volume that the File Server is reattaching after the volume was
offline (as a result of the <B>vos restore</B> command, for
example). Use of this flag is strongly discouraged.
<P><DT><B>-implicit
</B><DD>Defines the set of permissions granted by default to the
<B>system:administrators</B> group on the ACL of every directory in
a volume stored on the file server machine. Provide one or more of the
standard permission letters (<B>rlidwka</B>) and auxiliary permission
letters (<B>ABCDEFGH</B>), or one of the shorthand notations for groups of
permissions (<B>all</B>, <B>none</B>, <B>read</B>, and
<B>write</B>). To review the meaning of the permissions, see the
<B>fs setacl</B> reference page.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">The File Server always implicitly grants the <B>a</B> permission to the
<B>system:administrators</B> group, even if you use the
<B>none</B> value.
</TD></TR></TABLE>
<P><DT><B><B>-hr</B>
</B><DD>Specifies how often the File Server refreshes its knowledge of the
machines that belong to protection groups (refreshes the host CPSs for
machines). The File Server must update this information to enable users
from machines recently added to protection groups to access data for which
those machines now have the necessary ACL permissions.
<P><DT><B>-busyat
</B><DD>Defines the number of incoming RPCs that can be waiting for a response
from the File Server before the File Server returns the error code
<B>VBUSY</B> to the Cache Manager that sent the latest RPC. In
response, the Cache Manager retransmits the RPC after a delay. This
argument prevents the accumulation of so many waiting RPCs that the File
Server can never process them all. Provide a positive integer.
The default value is 600.
<P><DT><B>-rxpck
</B><DD>Controls the number of Rx packets the File Server uses to store data for
incoming RPCs that it is currently handling, that are waiting for a response,
and for replies that are not yet complete. Provide a positive
integer.
<P><DT><B>-rxdbg
</B><DD>Writes a trace of the File Server's operations on Rx packets to the
file <B>/usr/afs/logs/rx_dbg</B>.
<P><DT><B>-rxdbge
</B><DD>Writes a trace of the File Server's operations on Rx events (such as
retransmissions) to the file <B>/usr/afs/logs/rx_dbg</B>.
<P><DT><B>-m
</B><DD>Specifies the percentage of each AFS server partition that the AIX version
of the File Server creates as a reserve. Specify an integer value
between <B>0</B> and <B>30</B>; the default is 8%. A value
of <B>0</B> means that the partition can become completely full, which can
have serious negative consequences.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">This argument is available only on machines running the AIX operating system,
and so does not appear in the syntax statement when the <B>-help</B> flag
is used on other system types.
</TD></TR></TABLE>
<P><DT><B>-lock
</B><DD>Prevents any portion of the <B>fileserver</B> binary from being paged
(swapped) out of memory on a file server machine running the IRIX operating
system.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">This argument is available only on machines running the IRIX operating
system, and so does not appear in the syntax statement when the
<B>-help</B> flag is used on other system types.
</TD></TR></TABLE>
<P><DT><B><B>-L</B>
</B><DD>Sets values for many arguments in a manner suitable for a large file
server machine. Combine this flag with any option except the
<B>-S</B> flag; omit both flags to set values suitable for a
medium-sized file server machine.
<P><DT><B><B>-S</B>
</B><DD>Sets values for many arguments in a manner suitable for a small file
server machine. Combine this flag with any option except the
<B>-L</B> flag; omit both flags to set values suitable for a
medium-sized file server machine.
<P><DT><B>-k
</B><DD>Sets the LWP stack size in units of 1 kilobyte. Do not use this
argument, and in particular do not specify a value less than the default of
24.
<P><DT><B>-realm
</B><DD>Defines the Kerberos realm name for the File Server to use. If this
argument is not provided, it uses the realm name corresponding to the cell
listed in the local <B>/usr/afs/etc/ThisCell</B> file.
<P><DT><B>-udpsize
</B><DD>Sets the size of the UDP buffer, which is 64 KB by default. Provide
a positive integer, preferably larger than the default.
<P><DT><B>-enable_peer_stats
</B><DD>Activates the collection of Rx statistics and allocates memory for their
storage. For each connection with a specific UDP port on another
machine, a separate record is kept for each type of RPC (FetchFile, GetStatus,
and so on) sent or received. To display or otherwise access the
records, use the Rx Monitoring API.
<P><DT><B>-enable_process_stats
</B><DD>Activates the collection of Rx statistics and allocates memory for their
storage. A separate record is kept for each type of RPC (FetchFile,
GetStatus, and so on) sent or received, aggregated over all connections to
other machines. To display or otherwise access the records, use the Rx
Monitoring API.
<P><DT><B>-help
</B><DD>Prints the online help for this command. All other valid options
are ignored.
</DL>
<P><STRONG>Examples</STRONG>
<P>The following <B>bos create</B> command creates an <B>fs</B>
process on the file server machine <B>fs2.abc.com</B> that
uses the large configuration size, and allows volumes to exceed their quota by
10%. Type the command on a single line:
<PRE> % <B>bos create -server fs2.abc.com -instance fs -type fs</B> \
<B>-cmd "/usr/afs/bin/fileserver -pctspare 10</B> \
<B>-L" /usr/afs/bin/volserver /usr/afs/bin/salvager</B>
</PRE>
<P><STRONG>Privilege Required</STRONG>
<P>The issuer must be logged in as the superuser <B>root</B> on a file
server machine to issue the command at a command shell prompt. It is
conventional instead to create and start the process by issuing the <B>bos
create</B> command.
<P><STRONG>Related Information</STRONG>
<P><A HREF="auarf016.htm#HDRBOSCONFIG">BosConfig</A>
<P><A HREF="auarf021.htm#HDRFILELOG">FileLog</A>
<P><A HREF="auarf098.htm#HDRBOS_CREATE">bos create</A>
<P><A HREF="auarf102.htm#HDRBOS_GETLOG">bos getlog</A>
<P><A HREF="auarf157.htm#HDRFS_SETACL">fs setacl</A>
<P><A HREF="auarf232.htm#HDRSALVAGER">salvager</A>
<P><A HREF="auarf251.htm#HDRVOLSERVER">volserver</A>
<P>
<HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auarf002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auarf128.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Top_Of_Page"><IMG SRC="../top.gif" BORDER="0" ALT="[Top of Topic]"></A> <A HREF="auarf130.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auarf284.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P>
<!-- Begin Footer Records ========================================== -->
<P><HR><B>
<br>&#169; <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A> All Rights Reserved
</B>
<!-- End Footer Records ============================================ -->
<A NAME="Bot_Of_Page"></A>
</BODY></HTML>