The University Student Registration System: a Case Study in Building a High-Availability Distributed Application Using General Purpose Components M. C. Little, S. M. Wheater, D. B. Ingham, C. R. Snow, H. Whitfield and S. K. Shrivastava Department of Computing Science, Newcastle University, Newcastle upon Tyne, NE1 7RU, England.
Prior to 1994, student registration at Newcastle University involved students being registered in a single place, where they would present a form which had previously been filled in by the student and their department. After registration this information was then transferred to a computerised format. The University decided that the entire registration process was to be computerised for the Autumn of 1994, with the admission and registration being carried out at the departments of the students. Such a system has a very high availability requirement: admissions tutors and secretaries must be able to access and create student records (particularly at the start of a new academic year when new students arrive). The Arjuna distributed system has been under development in the Department of Computing Science for many years. Arjuna’s design aims are to provide tools to assist in the construction of fault-tolerant, highly available distributed applications using atomic actions (atomic transactions) and replication. Arjuna offers the right set of facilities for this application, and its deployment would enable the University to exploit the existing campus network and workstation clusters, thereby obviating the need for any specialised fault tolerant hardware.
Key words: available systems, distributed system, fault-tolerance, atomic transactions, replication.
In most British Universities, the process of registering all students as members of the institution is largely concentrated into a very short period of time. At the University of Newcastle, the registration period occupies a little over a week in September, at the start of the academic year. The purpose of the registration process is to determine which students will be taking courses within the University, and for the administration to keep its records up-to-date. From the students point of view, registration enables them to acquire the necessary authorised membership of the University, and where relevant, obtain their grant cheques. It is usually the case that students will register for particular courses, or modules, at the same time, and the information collected is used by members of the teaching staff to construct class lists, etc. Prior to 1994, registration involved students being registered in a single place within the University, where they would present a form which had previously been filled in elsewhere by the student and their department. After registration this information was then transferred to a computer system. In 1993, the University decided that the entire student registration process was to be computerised (electronic registration) for the Autumn of 1994. The decision was also made to decentralise the registration process so that the end users of the course data, the various University departments, would have more control over the accuracy of the data entered. It was also expected that the delay before the final data could be delivered back to the departments would be considerably reduced. Although the same registration forms were issued to students, available data concerning each student had already been entered in the system database. At the registration, using unique student number as a key, student data was retrieved from the database and updated as necessary. Needless to say that the registration process is extremely important to the University and the students: the University cannot receive payments for teaching the students, and students cannot receive
their grants or be taught until they have been registered. Thus the electronic registration system has a very high availability and...
References:  C. J. Dimmer, “The Tandem Non-stop System”, Resilient Computing Systems, (T. Anderson , ed.), pp. 178196, Collins, 1985  D. Wilson, “The STRATUS Computer system”, Resilient Computing Systems, (T. Anderson , ed.), pp. 208231, Collins, 1985.  S. K. Shrivastava, G. N. Dixon, and G. D. Parrington, “An Overview of Arjuna: A Programming System for Reliable Distributed Computing,” IEEE Software, Vol. 8, No. 1, pp. 63-73, January 1991. G. D. Parrington et al, “The Design and Implementation of Arjuna”, USENIX Computing Systems Journal, Vol. 8., No. 3, pp. 253-306, Summer 1995.  S. K. Shrivastava, “Lessons learned from building and using the Arjuna distributed programming system,” Int. Workshop on Distributed Computing Systems: Theory meets Practice, Dagsthul, September 1994, LNCS 938, Springer-Verlag, July 1995.  P.A. Bernstein et al, “Concurrency Control and Recovery in Database Systems”, Addison-Wesley, 1987.  M. C. Little, “Object Replication in a Distributed System”, PhD Thesis, University of Newcastle upon Tyne, September 1991. (ftp://arjuna.ncl.ac.uk/pub/Arjuna/Docs/Theses/TR-376-9-91_EuropeA4.tar.Z)  M. C. Little and S. K. Shrivastava, “Object Replication in Arjuna”, BROADCAST Project Technical Report No. 50, October 1994. (ftp://arjuna.ncl.ac.uk/pub/Arjuna/Docs/Papers/Object_Replication_in_Arjuna.ps.Z)
Please join StudyMode to read the full document