DRAFT DRAFT DRAFT

CREATED: 4/10/1998 UPDATED: 3/10/1999
BY: Jonathan A. Ives
MIT ID Home Page


The History of the MIT ID

Purpose of an Identifier

Most distributed computing systems use an identifier other than a person's name to associate related records about an individual across multiple systems. In database terminology, this identifier is called a key and it has certain attributes including that each person must have one of these unique identifiers. Since it is difficult to change a primary key once it has been established, primary keys are usually not based upon something that is likely to change.

MIT's Use of Social Security Numbers as an Identifier

Historically (at least through 1994), many of MIT's departmental computing systems relied on a person's Social Security Number (SSN), or other identifying number, to maintain information about individuals and where necessary to match records between systems. Many of these systems are now available via the Institute computing network (MIT-NET) and the Internet at large. Privacy concerns have increased the awareness as to the sensitivity of a person's Social Security Number especially since many governmental and some commercial systems also use Social Security Numbers.

In reaction to these privacy concerns, MIT began to restrict the use of a person's SSN which is now considered to be part of the personal data which is protected by Institute privacy policies (MIT Policy and Procedures: Privacy and Disclosure of Information). Not all departments have legitimate business needs to keep a person's SSN and those that do usually only need it for a subset of the MIT community.

The Inception of the MIT ID Number

Since SSN can no longer be used as an Institute wide identifier, MIT's Data Administrator initiated the creation of an MIT ID to identify people across the Institute's departmental systems. MIT ID assignment and lookup are discussed along with a number of other projects in the Tech Info document  People Related Projects: 37707.txt which was emailed to MIT Information Systems Directors in August, 1994. That document outlines the establishment of the MIT ID and a common identification service to enable MIT ID  lookup and assignment. This service was initially called the People Database but was then renamed as the MIT ID Database in the fall of 1997.

People Database V1.0

The initial development of the People Database V1.0 was completed in about August 1995 by Kee Luk and  Jenny Khuon working with the MIT Data Administrator Scott Thorne. Initial deployment of the stand-alone application was to User Accounts. Initial deployment of the Microsoft Windows DLL which implemented the API was to the Athletic Lottery. During the summer and fall of 1997, the stand-alone application was further deployed to the Personnel Office and to the Card Office by Jonathan Ives.

MIT ID V2.0

Through the deployment of V1.0, it became apparent that in order to better integrate MIT ID numbers with departmental systems, some enhancements were needed. During 1998, V2.0 development enabled the integration of the Graduate Admissions back-end service with a new V2.0 MITID Database Service which also provided better support for existing V1.0 client applications. During this timeframe, the Atheletic Lottery application was migrated from using the V1.0 Windows DLL (16 bit) to the new V2.0 Windows DLL (32 bit). The V2.0 DLL supports enhancements to the search algorithm and provides an easier to use Application Programmer Interface. ( See the Project Notebook for more details: V2 Project Notebook)

MIT ID V2.1

While V2.0 development met the bulk of the Graduate Admissions needs, some areas still needed improvement. One of the barriers for people who used the service was that it required the installation of the PowerBuilder application on the end user's desktop machine and this application only supports Windows users. The primary focus of V2.1 was to provide an alternative Web interface that would be accessible across platforms and would meet the needs of most users. The web interface for V2.1 consists of a CGI program running on an Apache SSL server. The CGI program is written in C and calls a Unix version of MITID Application Programmer Interface. The previous Windows DLL was ported to a Unix library.