The following files are included in SCANDS.EXE:
     LETTER.TXT     2,051 Bytes
     README.TXT     12,809 Bytes
     SCANTREE.EXE   202,062 Bytes
     SMEM.EXE       56,077 Bytes
     SURVEY.TXT     5,329 Bytes

README.TXT

Using SCANTREE.EXE to Gather NDS Tree Statistics

This DOS text file is from an AppNote in the January 96 issue
of the Novell Application Notes. For subscription information,
call the Novell Research Order Desk :
     800-377-4136 (U.S. & Canada)
     303-297-2725 (other locations)
     303-294-0930 (fax)


Table of Contents

Abstract
Purpose
Introduction to SCANTREE
System Requirements
SCANTREE Syntax
Use of Options
Handling Error Conditions
Estimated Time to Completion
Sample Log Files


Abstract
SCANTREE.EXE is a DOS application designed to traverse an NDS tree
and return a series of statistics. The results help to characterize an NDS
tree by describing the width and depth of the tree, as well as the variety
and characteristics of leaf objects. This document describes how to run
SCANTREE. It covers the system requirements, explains the command
syntax, and shows some sample log files.


Purpose
                      
The release of SCANTREE.EXE is part of an ongoing
research project performed by Novell Systems Research
and we invite you to participate. You can help by filling out
a site survey, running SCANTREE.EXE, and returning the
survey and SCANTREE log file to rlee@novell.com.
                      
The site survey, SCANTREE.EXE, SCANTREE
documentation, and your invitation to participate are
enclosed in a self-extracting file called SCANDS.EXE.
This file can be found on NetWire, ftp, and ftp via
www.novell.com.
                      
The purpose of this study is to accumulate enough data
 about customers' trees of all sizes so that we can
statistically describe trees being used in production
networks. This data will benefit the design of NDS
benchmarks and the formulation of rules of thumb for
NDS design and optimization.
                      
If you need further information concerning the project and
how you can participate, send a request for information to
rlee@novell.com with a subject of "Scantree RFI."


Introduction to SCANTREE

SCANTREE is a DOS application designed to traverse an NDS tree and
return a series of statistics. The results help to characterize an NDS tree
by describing the width and depth of the tree as well as the variety and
characteristics of leaf objects.
                      
SCANTREE is a read-only application. It will not affect your tree's
structure or data in any way.

                      
System Requirements

To run SCANTREE.EXE, you need the following:
                      
A personal computer with a 386 or higher processor, running DOS 5
            or higher.
500 KB of available conventional RAM. (SCANTREE uses
     temporary files such as SCANTREE.nnn to store container
      information. These files reduce the possibility of running out of
     memory while analyzing large trees.)
The Novell VLM client, version 1.20 revision B or higher.
A search drive mapped to the SYS:\PUBLIC\NLS directory.
                      
The SCANTREE workstation connection must be logged in and
authenticated with all read rights to the tree or subtree you are scanning.
This requires you to log in as Admin or some other user with equivalent
access rights before running SCANTREE.

                      
SCANTREE Syntax

The syntax for running the SCANTREE application is as follows:
                      
SCANTREE [options...]
                      
The options can include any of the following:
                      
/?         Displays the help screen
<context>  Targets a specific context (in typeful format)
/users     Reports only user objects
/d         Dumps all object and container names to standard output
                      
Multiple options may be included on the command line.

                      
Use of Options

Default Operation.  If you run SCANTREE without any options, the
utility scans all objects in the tree beginning at [Root]. Once finished,
SCANTREE displays its summary statistics to standard output (the
screen).
                      
Example:
                      
SCANTREE
                      
scans the entire tree and outputs statistics to the screen.
                      
Redirection of Standard Output.  In most cases, you'll want to
redirect SCANTREE's output to a file on a local hard drive by using the
">" operator. When SCANTREE output is redirected, nothing is
displayed on the screen except a busy indicator to provide assurance
that SCANTREE is running.
                      
Example:
                      
SCANTREE > LOG.TXT
                      
scans the entire tree and outputs statistics to the specified file
(LOG.TXT in this example).
                      
Target Context.  If you want to scan a specific context, include the
fully distinguished (typeful) name of the container object on the
command line.
                      
Example:
                      
SCANTREE OU=MKTG.OU=NPD.O=NOVELL > LOG.TXT
                      
scans the specified context (subtree) and outputs results to LOG.TXT.
                      
Report Only User Objects.  Add the command line parameter
/users to scan the tree specifically for user objects and produce
summary statistics related only to user objects.
                      
Example:
                      
SCANTREE /USERS > LOG.TXT
                      
scans the entire tree for user objects and outputs statistics to LOG.TXT.
                      
Dump Object Names.  If the tree structure and object names are
desired, use the /d parameter to dump the structure and object names to
standard output.
                      
Example:
                      
SCANTREE /D OU=MKTG.OU=NPD.O=NOVELL > LOG.TXT
                      
scans the specified context (subtree) and outputs summary statistics,
tree structure and object names to LOG.TXT.

                      
Handling Error Conditions
SCANTREE will stop in the case of temporary unavailability of part of
the tree. If this occurs, rerun SCANTREE.
                      
If you receive an "Abort, Retry, Ignore" message from the network,
choose Retry.


Estimated Time to Completion

SCANTREE's execution time depends mostly on the size and
distributed nature of the tree. Small trees can be traversed in several
minutes. Larger trees may take much longer to scan.
                      
For example, Novell's production tree includes 19,000 objects spread
over 300 partitions. SCANTREE required nearly eight hours to traverse
Novell's tree and record the log file statistics. On a weekend, with
minimal network traffic and server utilization, the SCANTREE
operation at Novell completed in half that time. For this example run,
we used the non-default /d parameter to print the tree structure and
object names. A default SCANTREE operation will take less time.
                      
For larger trees, we recommend that you run SCANTREE during an
evening or weekend when the tree traversal can complete more quickly.
Running SCANTREE during periods of low activity allows the tree
traversal to conclude more quickly and keeps unnecessary traffic off the
network and partitions during production hours.
                      
                      
Sample Log Files

Following are three sample log files that show the type of data collected
by SCANTREE. Figure 1 shows the results of running SCANTREE on a
newly-installed tree with one server. Since the /d option was used, the
full object and container names are included in the log file. Figure 2
shows the results of running SCANTREE in default mode on Novell's
production tree. Figure 3 is an example of using the /users option to
restrict the results to just User objects.
                      
                      
Figure 1: SCANTREE results from a newly-created tree.
                      
                      
SCANTREE /D > LOG.TXT

Scantree O=SNOWBIRD., Mon Dec 11 14:53:59 1995
==========================================================
OBJECT NAME (SUBORDINATES, ATTRIBUTES, ATTRIBUTE SIZE)
CN=SNOWBIRD (0, 9, 681)
CN=Admin (0, 10, 1104)
CN=SNOWBIRD_SYS (0, 6, 272)
============== 00:00:00 ==================================
NCP Server                      1
User                            1
Volume                          1
{ Attributes - # }              25
{ Attributes - size }           2057
{ Largest container }           3
{ Replicas - Master }         1
{ Objects }                     3
{ Partitions }      1
{ Streams - size }              0

Figure 2: SCANTREE results on the Novell production tree.
                      

          SCANTREE > LOG.TXT

               Scantree [Root], Wed Oct 04 11:18:31 1995
               ==========================================================
               OBJECT NAME (SUBORDINATES, ATTRIBUTES, ATTRIBUTE SIZE)
               O=Novell. (66, 40, 46203)
               ...
               ============== 07:24:05 ==================================
               AFP Server                      1            //Object classes found
               Alias                           375
               Application (DOS)               7
               Application (Windows 3.x)       90
               Application (Windows 95)        7
               Application (Windows NT)        14
               Bindery Object                  510
               Bindery Queue                   124
               Btrieve Server                  1
               Computer                        18
               Connect Server                  21
               Directory Map                   174
               External Entity                 2
               Group                           2501
               Job Queue                       2
               Job Server                      2
               Message Routing Group           1
               Messaging Server                2
               NCP Server                      433
               Organization                    1
               Organizational Role             297
               Organizational Unit             1149
               PBX Device                      97
               PBX Device Group                10
               Palindro:JobQueue               6
               Print Server                    513
               Printer                         454
               Profile                         204
               Queue                           812
               Tserver                         3
               Tserver PBX                     2
               Tserver Service                 11
               Unknown                         68
               User                            9820
               Volume                          1168
               Worktop                         74
               { Attributes - # }              346618       // Summary Statistics
               { Attributes - size }           73383820
               { Collision renames }           73
               { Group memberships }           63057
               { Largest container }           914
               { NWDSList errors }             2
               { NWDSRead errors }             14
               { Objects }                     18974
               { Partitions }                  291
               { Streams - # }                 7452
               { Streams - size }              8311001
               { Subordinate errors }          7

Figure 3: SCANTREE results on the Novell production tree with the
                      /USERS option enabled.


          SCANTREE /USERS > LOG.TXT
          
               Scantree [Root], Thu Oct 05 10:20:03 1995
               ==========================================================
               OBJECT NAME (SUBORDINATES, ATTRIBUTES, ATTRIBUTE SIZE)
               O=Novell. (66, 0, 0)
               ...
               ============== 04:58:56 ==================================
               User                            9826
               { Attributes - # }              264007       // Summary Statistics
               { Attributes - size }           35040525
               { Collision renames }           74
               { Group memberships }           62468
               { Largest container }           916
               { NWDSList errors }             4
               { NWDSRead errors }             2
               { Objects }                     9826
               { Partitions }                  290
               { Streams - # }                 6734
               { Streams - size }              5969009
               { Subordinate errors }          6
END