RATS V2 DESIGN OVERVIEW

        The short schedule under which RATS V1 was developed forced the development team to leave a number of features unimplemented and a large number of ideas still in a theoretical state.  These features and ideas kept on being pushed on the stack of a future version of RATS.
        With RATS V1 relatively stable, and with the added experience gained by both developers and system administrators with the new account creation environment, RATS V2 is ready to be implemented. This document describes the changes, additions, and methods to be applied to this endeavor. This overview should provide the casual reader with a better understanding of the goals of the project and provide background for the following sections.
 

Why RATS V2?

        The need for RATS V2 was born from two major classes of problems. The first type of problems are those of functionality.
RATS V1 was primarily designed as a replacement for "Makeclass", the previous account management system used at Rutgers University. As such, the priority list was based on the need to replace exiting functionality with a newer system, based on the PDB. While RATS V1 accomplished its goal, the development process and the suggestions made by the community, indicated that a number of new features and capabilities would also be highly desirable. Some of these features were implemented in RATS V1, but the majority where only recorded for future versions.
        The second type of problems, which have plagued previous account management systems and continue to be present in RATS, are related to performance issues on some of the larger computer installations.  The University, by its cyclic nature imposed by
academic semesters, places high strains on the account management systems of main servers at various times of the year. This creates
periods of instability and high loads on account management, and software which performs just fine the rest of year is occasionally
overwhelmed.  RATS V2 will try to eliminate this kind of problems by offering an optional, more complex, high performance mode of
operations specifically designed to deal with the requirements of large installations.

When will RATS V2 be available?

        The release of RATS V1 in January of 2000, was a sufficient replacement for the lower loads experienced during the second semester of the the academic year. However, a more robust system is anticipated to be required for the peak usage times normally associated with the beginning of the fall academic semester. Thus, RATS V2 is planned to be released during the summer of 2000.

How will RATS V2 be different?

        The demands of a high performance system are expected to be met by the addition of an optional client based database. This
database will store all the data conventionally included the main account related files such as /etc/passwd, /etc/group, and so forth.
This implies that a number of tools currently used would need to be modified to be able to properly communicate with the new database. However, the gains in account creation speed and update performance are deemed to offset the effort required to implement this mode of operations.
        In addition, a number of new functionalities will be added. For example, improved quota handling, better account creation control,
a new account expiration model, and few other features are scheduled.

What else will happen?

        In parallel with the modifications of the RATS client, we also plan to make a number of improvements to the account management environment as a whole. Over the years a large amount of cruft was accumulated in the username space and other such stores of data, and some of this cruft found its way in the new People Database. We plan to develop a number of tools which would help with the cleanup of these artifacts and the general management of such data in the future.  We also plan to add some extra functionality regarding the support of accounts not directly associated with a real person. Some of that functionality is dependent on policy issues which remain to be resolved. However this set if tasks is not directly related to the RATS interfaces visible to the world at large,
and they will not be addressed in this document.

Anything else?
 

        Please note that this design document may not be complete and that some of the implementation details may differ in the actual
product. Also, please note that not all the described features are guaranteed to be implemented. New functionality which follows out of some of the major changes, may not be fully implemented for all modes of operation. For example, not all new functionality spawned by the use of the new client DB will be supported for the classical flat file mode. This is not to say that we won't try to support all features in all modes, but time constrains may push some of them into future minor releases of RATS V2 or even RATS V3.