Project Mandarin[TM]: Implementing Distributed Computing at Cornell University Copyright 1994 CAUSE. From _CAUSE/EFFECT_ Volume 17, Number 4, Winter 1994. Permission to copy or disseminate all or part of this material is granted provided that the copies are not made or distributed for commercial advantage, the CAUSE copyright and its date appear, and notice is given that copying is by permission of CAUSE, the association for managing and using information resources in higher education. To disseminate otherwise, or to republish, requires written permission. For further information, contact Julia Rudy at CAUSE, 4840 Pearl East Circle, Suite 302E, Boulder, CO 80301 USA; 303-939-0308; e-mail: jrudy@CAUSE.colorado.edu PROJECT MANDARIN(TM): IMPLEMENTING DISTRIBUTED COMPUTING AT CORNELL UNIVERSITY by Mark Mara ABSTRACT: Based on the assumption that their purpose was to provide information to all University "customers," some of whom might need access only occasionally, Cornell Information Technologies (CIT) approached client/server access as a business problem. CIT focused on providing access to usable, sharable data from Cornell's legacy systems, keeping the interface as transparent as possible, and designed a development strategy and user modules that could be transferred to a variety of institutional settings. This article describes the approach used at Cornell University to enable information technology specialists and user staff to develop client/server applications. The Cornell Information Technologies (CIT) division found that the lofty design principles of open architecture, standards, reusability, scalability, and portability had to be tempered by limited budgets, legacy data, time-to-market considerations, security, performance, and the cost of training. Considerable experimentation with prototypes ultimately led to the decision to invest in two areas: (1) creation of a developer tool kit--an integrated set of applications, tools, protocols, and procedures; and (2) implementation of several key system infrastructure services. The ongoing project that created the tool kit and implemented the infrastructure services is called Project Mandarin(TM). It has resulted in an environment that not only facilitates the rapid creation of client/server applications, but also interacts with a variety of commercial software products. The intent of this article is to share our experiences-- to explain why we chose the approach we did, to briefly describe the Project Mandarin environment, and to review our experiences implementing several projects using Project Mandarin technology. The brief case studies illustrate some of the problems, required cultural changes, costs, and benefits of our approach. BACKGROUND In April 1990, Cornell University, with support from Apple Computer, Inc., launched a two-and-a-half-year project to provide end-user access to data stored in enterprise database systems. Representatives from the Pennsylvania State University and MIT served on the steering committee and have assisted with development. The original project, Project Mandarin Release 1.0, is now complete. However, development activity is continuing at a rapid rate. Funded primarily through membership fees, the Project Mandarin Consortium of universities is turning out additions and enhancements to the original tool kit and infrastructure services. (See sidebar, for a description of the Consortium.) Project Mandarin technology is being used at Cornell and at several other universities in the Consortium to create an ever-increasing number of services which are delivering information to students, faculty, and staff. This technology has empowered colleges and departments to create innovative solutions to their business problems. It also has created many new and, in some cases, unexpected challenges. THE BUSINESS CASE CIT believes that the only justification for any information technology (IT) project should be to service the business in some way. Part of the mission of CIT is to empower people to get the information they need, where, when, and how they need it. Project Mandarin's role is to provide a technical environment that enables the rapid development of applications that support this vision. Working from the mission, we identified several business objectives. Local _empowerment_ is embodied in such initiatives as total quality management, legendary service, and self-managed teams. We are moving from hierarchical decision-making to distributed decision-making. This calls for changes to our traditional information systems and changes in our definition of whom we consider our customers. Information is power; to support local empowerment we must provide access to information to a large segment of the University community that we have not traditionally considered our customers. _Supporting the "new" information technologies user_ is critical to the continued existence of an IT organization. We used to consider a dozen central offices as our users. The definition of user now has changed to include all members of the University community. At Cornell this changes our customer base from a hundred or so central office users to over 20,000 members of the University community. These new customers do not use IT systems every day. They are what we refer to as casual users--users who interact with information systems once a week or maybe a few times a year. They demand high levels of integration and consistent, intuitive interfaces. Delighting the real customers is the only way to survive in days of severe fiscal constraints. Cornell is committed to improving the service provided to its students. We see this initiative as an opportunity to use information technology to assist students in dealing with the administrative requirements of University life. However, these new customers are not tolerant of time-to-market measured in years. Their experience with microcomputers has led them to expect instant gratification. They are looking to information technology to reduce the time spent waiting in lines, cut down on paperwork, and in general improve their ability to accomplish their goals. _Saving money_ is a very popular objective. Given the reality of today's financial situation, every activity needs to be scrutinized in terms of costs and benefits. For infrastructure and tool-building projects such as Project Mandarin, this is a particularly challenging area. We believe that Project Mandarin will give us the ability to leverage development across multiple institutions, resulting in significant savings in development costs. Examples are already emerging. * An ADABAS Dispatcher (Project Mandarin software designed to pull data from a particular kind of database) that was developed and has been used at Cornell has also been used in applications at Penn State and Washington State University. * Just the Facts, a student information system developed at Cornell (described later in this article), has been "cloned" at six other universities. By leveraging Just the Facts, other schools have kept development time for their student information systems to a minimum. Distributed technology allows us to make use of low-cost, RISC-based hardware reducing the ever-increasing load on our mainframe. The high level of sharability reduces the cost of development for any one system and also reduces the maintenance cost for all systems. Working from these business objectives, we arrived at a set of goals and design principles for the project. We have used the goals described below to set the general direction for the project. The design principles that follow the goals describe, in a very general way, how we have gone about attaining our goals. Project Goals The goals set in 1990 for Project Mandarin have evolved from the ideal to the practical and from the lofty to the attainable. We wanted easy ways for people to get information without reengineering existing systems, and we wanted to provide services and tools that would let developers focus on information, not function. Modular design was also essential. Today we articulate these goals this way: * Provide access to central, departmental, and local information. One of the most frequent and loudly voiced complaints about IT organizations is that they do not provide timely and friendly access to information. Once the political hurdles are passed, we must not allow technology to be the excuse for not delivering information to our customers. * Engineer the illusion of simplicity. We cannot expect our new customers to learn arcane rituals to access information. The complexity of the underlying systems must be hidden. We also need to provide a way for data from several heterogeneous sources to be displayed to the user as a single data source. We do not have the funds or the desire to convert all of our legacy systems into intuitive user- friendly systems at this time. We must provide a simple way for people to access information without having to replace our existing systems. * Build infrastructure and develop tools_. The key to controlling costs is to create a development and run-time environment in which most of the functions that need to be accomplished are available as services. This allows developers to concentrate on the unique parts of the application and not recreate functionality that already exists in other applications. Using tools to develop applications allows staff to move into distributed computing without extensive retraining; development time is reduced; and a level of consistency is introduced into applications. * Use object-oriented, modular design. We believe that object orientation is the way to achieve the flexibility and sharability required to accomplish our other goals. We do not see Project Mandarin as a one-size-fits-all solution. It is, rather, a kit of objects that can be used alone or combined in various ways appropriate to the institution developing and using the application. Design Principles Our Project Mandarin design principles revolve around two major themes: (1) we want to avoid doing anything that locks us into or out of one vendor or technology; and (2) we want to build in flexibility--flexibility that allows functions to be used by many applications and that allows tools and modules to be used at many institutions. Our formal design principles reflect these themes. * Open architecture--The architecture provides a framework for assembling various objects into a distributed computing environment. We must allow for the same functionality to be implemented in different ways. The architecture must also allow for commercial products to be easily integrated. * Standards--The adherence to standards is closely bound to implementing an open architecture. The protocols, interfaces, data encoding, and object definitions must not preclude the use of existing and future vendor-supplied products. * Sharability--The key to reducing development time and maintenance costs is the ability to implement a function once and have multiple applications access that functionality. The real win is to isolate common functions, implement them once, and allow objects to access them as needed. * Scalability--Solutions must function at various levels. Some applications will have an audience that numbers in the tens of thousands, while others may have ten users. We need to support department- and office-level applications as well as campus and multi-campus applications. * Portability--We are not trying to simply build a solution for Cornell University. Our intent is to build something that also will be useful to other institutions. By focusing on portability we will avoid the trap of relying on some Cornell-specific technology which would limit our future options. Reality Check After setting our goals and identifying our design principles, we reviewed our situation at Cornell. This reality check led us to the identification of several challenges. * Legacy data--Cornell has made a major investment in creating and maintaining operational databases. A lot of the information contained in these databases would be of interest to our customers if they could access it conveniently. The problem in providing access is that the databases were not created with ad hoc query or end-user access as design criterion. * Time-to-market--Time-to-market is an area where IT organizations are under a lot of pressure. Systems development times are measured in years. By the time a system is implemented, the original requester is no longer in control of the area, and the business requirements have changed. It should be no surprise that the delivered system is not perceived as a great success. * Security--The replacement of terminals with microcomputers running terminal emulation programs has resulted in a general reduction of security. The microcomputers are typically connected to a network. Passwords and data are flowing in clear text over the network. To the users, the situation does not seem to have changed from the days when they were using a terminal hard- wired to the mainframe, but in truth security is significantly lower. * Performance--We are running out of capacity on our mainframe. Assuming that demand continues to grow at historical levels, and mainframe cost/performance does not radically change, the cost to provide mainframe computing power will be prohibitive. Our users are clamoring for distributed implementations making use of RISC-based hardware. * Staff training--Clearly the move to distributed computing will require the retraining of the IT staff. We still have all of our operational responsibilities. The need to cut paychecks, register students, or solicit alumni support will not stop and allow us to focus on a retraining program. Staff are currently being pushed to the limit just to keep up with their workload and stay current with evolutionary changes in technology. * User training--Our new definition of customer could result in the requirement to train thousands of users. Clearly this would be very expensive and time consuming. We need to design new applications in such a way that they do not require extensive user training. Client/Server Investigation When we surveyed the state of client/server computing at the start of the project four years ago, we found very few examples of successful implementations of distributed computing. The ones we did find had several common characteristics: * The most common implementations involved the creation of a data warehouse utilizing a relational database management system (DBMS). Access was implemented by the use of SQL (structured query language) or SQL-based tools. * Shadow databases in which data were extracted from operational systems and loaded into the warehouse were common. * Successful distributed computing systems were oriented towards decision support. * Extensive retraining of the development staff seemed to be common. * Most projects involved the purchases of a relational DBMS and SQL-based tools. When the cost of staff and user training was added in, we were finding estimated total costs measuredin the millions of dollars. Project Mandarin Choices This approach did not seem to fit our goals and design principles. In addition to not addressing our immediate concerns, we estimated that it would cost more money than we had available. As a result, we chose to go against the trends. We felt the need to demonstrate some quick wins with as little expense as possible. This led us to make a number of choices. The first of these was to _support a variety of database technologies_. As stated earlier, we did not want to be locked into one vendor's DBMS. We also decided not to incur the expense of implementing a new DBMS, but chose instead to design an architecture which would allow us to support our existing systems and give us the flexibility to access other DBMSs at the same time. We have a staff trained in the use of Natural, a 4GL, and experienced in working with our ADABAS DBMS. We wanted to make use of this expertise. We also wanted to support the "hot" relational products such as Oracle and Sybase. A second choice was to _use operational data_. Although there are many cases where the data warehouse concept is appropriate, because the data in which most of our customers are interested are contained in our operational databases, we decided to provide direct access to this information. Another choice was to _provide real-time access_ to these data. We saw an opportunity to improve the quality of our operational data by allowing direct update of demographic information by end users. Our choice to _isolate the DBMS from the client applications_ was based on our view of the interaction between the client machine and the DBMS as the client invoking a host-based service, rather than the client calling up a DBMS procedure. Because the operational databases were not designed for end- user access, we needed to provide the ability to interpret the high-level service request and then access and process the data required to provide the requested information. The use of a data access service isolates the client applications from the DBMS. We also chose to use _existing skills where possible_. Implementing the servers in the 4GL, which the staff already knew, significantly reduced the training requirement. Using the sharable services concept hid most of the distributed computing aspects and allowed the staff to simply extract the data from the database, a task they know how to accomplish. Providing a graphically oriented client builder minimized the need for technical training for client developers. The minimal training we found necessary has been provided in a series of modules totaling eight hours. The modules focus on how to use current programming skills with Project Mandarin tools, how to build a graphical user interface, and how to migrate a project through test and production. To date, sixty Cornell staff and forty individuals from the Project Mandarin Consortium have been trained. Finally, we chose to _just do it!_ At CIT, we try to avoid the temptation to design elegant solutions that cater to the technicians' egos more than the users' needs. We accept the fact that we are not going to get it right the first time; we see the development of distributed computing as an evolutionary process. The most important thing is to get something in place, get the users involved, and learn from the successes and failures. ADOPTING A TECHNICAL ARCHITECTURE A technical architecture is a description of design objectives and principles for systems construction and operation. It describes how applications should be constructed and how they are linked to data and services. The adoption of a standard technical architecture is critical in implementing distributed computing. Applications must be able to access system infrastructure services. The services must be able to communicate with other services and various data stores. This type of communication and sharability cannot occur without an overriding technical architecture. Early in the project, we made an unsuccessful attempt to define a technical architecture. We then decided to construct some prototype applications. After gaining experience in building and supporting prototypes, we at least knew what we did not know. Object-based design, client/server design, and distributed architectures are not things that are easy to get right the first time. It is necessary to try them a few times to understand the problems that need to be solved. At this point, we encountered the VITAL technical architecture. We found Apple's VITAL (Virtually Integrated Technical Architecture Lifecycle) to be of great value in evaluating our architecture and planning for our infrastructure services. VITAL is the result of thousands of hours dedicated to developing a plan for implementing distributed computing. A basic premise of VITAL is that custom systems need to be constructed of generalized modules that can be reused and shared. This was clearly consistent with our project goals. Other values expressed through VITAL also rang true for Project Mandarin: "The VITAL approach to building information systems enables IS managers to construct systems that provide easy user access to information, are platform-independent, accommodate rapid changes in business and technology, are designed to be cost-effective, support a gradual migration to new systems, and integrate installed technology."[1] When we reviewed the VITAL design principles we found a 100 percent congruence with our design principles. VITAL design principles state that systems should be easy to use, consistent, adaptable, extensible, scalable, platform- portable, distributable, sharable, reusable, reliable, and securable. Again, the shoe fit. It was comforting to see that our architecture fit within the VITAL framework. Our goal is not to implement VITAL; rather we are building Project Mandarin using VITAL as a road map, or building code, to help us avoid costly mistakes. As the project evolves, VITAL is playing a key role in defining our directions. Our product will be consistent with VITAL, not because we have mandated its use, but because VITAL makes sense. KEY SERVICES AND TOOLS Our experience with prototypes convinced us of the necessity to invest in the development of several critical systems infrastructure services. A service is a basic unit of sharability. It is called upon by other applications or other services to perform some action. A service is usually implemented by a process (a server) which may require access to data or metadata and a desktop integration component. VITAL defines several dozen services. Starting with VITAL's list, we identified the minimum set of services we needed to implement the functionality required by our first group of users. (It is important to differentiate these services from network-based services such as electronic mail, Gopher servers, or library catalogs.) We selected and developed (with the exception of the authentication service) the following set of services (see Figure 1) to support our first generation of client applications: * Directory Interface--The Launch Pad, an application that gives the user a list of services. * Authentication--Kerberos Version 4.0 from MIT, which provides verification that the user and server are who they say they are. Cornell has assigned almost 32,000 "network identities," which are used with passwords to verify users. * Version Control--A service that checks to see if the version of an application or document on a workstation is the current version. At Cornell, from September 1993 to September 1994, Version Control was invoked more than 4 million times. * Software Synchronization and Distribution--A service that makes the current version available if Version Control detects an out-of-date application. At Cornell, from September 1993 to September 1994, more than 500,000 pieces of software were distributed via this service. * Authorization--A service that determines if a user has access rights to a particular service. During July and August 1994, this service permitted access to software 30,000 times. * Authorization Aliasing--A service that translates identifiers (like Social Security numbers) for the authorization service, and deals with the security system on the target database. * Data Access--A service that allows access to information in a variety of databases. Cornell's ADABAS data service was used almost 500,000 times during a two-month period during summer 1994. The Data Access service will talk to any authenticated and authorized client application. We have implemented clients in 4th Dimension, HyperCard, C++, Visual BASIC, and VX Rexx for OS/2. Project Mandarin Consortium members are experimenting with using NCSA's World Wide Web browser, Mosaic, as a client. However, to facilitate the rapid development of client applications we created a simple but powerful application creator and associated run-time environment. The application creator is called ProbeMaker and the run-time environment is called ProbeLauncher. ProbeLauncher is available on Macintosh, Windows, and OS/2 platforms. [FIGURE 1 NOT AVAILABLE IN ASCII TEXT VERSION] CASE STUDIES This section describes some of our experiences using Project Mandarin technology to solve business problems. Before looking at specific projects, it is useful to briefly discuss the criteria for selecting the projects used to introduce this technology. The combination of the client-building tools and the infrastructure services has resulted in a development environment that allows the rapid creation of client/server applications. These tools are not appropriate for solving every problem. We developed some general guidelines for selecting good candidates for first projects. The project should: * Have a project champion * Have quick-win potential * Not be mission critical * Have accommodating users * Be of limited complexity Just the Facts Just the Facts (JTF) was the first application built with Project Mandarin technology. The project was initiated by senior university management who asked if we could use technology to reduce lines in the student services areas. In a survey, we found that a high percentage of student inquiries were about academic records (course information, schedules, grades), financial information (CornellCard, bursar bill, financial aid information), and personal information (address, phone number changes). The retrieval and display of this type of information is an ideal application of Project Mandarin middleware (software that facilitates communication between a client and server). Further, the project fit our project selection criteria: this was clearly not a mission-critical application; the students could always go back to waiting in lines. On the other hand, it was definitely a high visibility system. We found the students to be a very accommodating user group. Just the Facts was developed by a team made up of staff from the office of the vice president for academic programs, Project Mandarin staff, and the programmers who had responsibility for the legacy systems. The result of this project is that Cornell students can check their grades and bursar accounts without going to our administrative building and waiting in line for a clerk. Now they can get this and other information from Just the Facts by using their network identity (ID). When they type in their network ID and password in the main menu, Just the Facts displays their grades, bursar accounts status, CornellCard status, and addresses on file with Cornell. Just the Facts also lets them view their current course schedule and update most address information. Additionally, they can communicate with the bursar and registrar via e-mail from within Just the Facts. We learned that technology was only one of the requirements for making distributed computing happen. Cultural changes must occur at all levels in both the user and IT communities. We were fortunate that the time was ripe for change. The University was investing resources in the "total quality improvement" process. Shrinking resources prompted inquiries into how the University could deliver better services for less money. Organizational structures inhibit change. In many cases the organizational structure is so rigid that any change or innovation will meet resistance--the "If it ain't broke, don't fix it" mentality. An example of this was our attempt to allow students to directly update their own address information. There was much concern that the students would "mess up" the data. This has not proved to be the case. JTF has cut in half the number of manual entry address changes that staff must make (10,000 reduced to 5,000 changes annually). It also reduced the number of errors because the students are entering their own addresses. The percentage of students who make their own changes continues to increase. Administrators were generally pleased. JTF greatly reduced the long lines and allowed them to devote more of their time to addressing more significant problems and issues. The number of requests for printed grade reports and transcripts has significantly decreased because students can now access the information themselves and see the information on screens in front of them. Students were thrilled. In the first ten months, 11,072 different students accessed JTF in 37,585 sessions. Its popularity has grown; in August 1994 alone, there were more than 125,000 JTF sessions logged. We made it very easy for the students to comment on the services. They have been particularly enthusiastic about the ability to access the information at their convenience as opposed to being limited to when the administrative offices are open. We are constantly getting feedback about their needs, concerns, and wishes. The Project Mandarin technology allows us to be responsive to their comments and JTF has been enhanced every semester since its introduction. Change breeds more change, and change never ends. The first JTF was a prototype--we had no intent of creating anything more. But that quickly changed after its introduction. Students loved it. Some advice we would offer based on our experience: Don't start anything unless you think you can see it through. If you raise students' level of expectation about service delivery, it is very hard to go back. Once the waiting lines are gone, students are very reluctant to stand in them again. [FIGURE 2 NOT AVAILABLE IN ASCII TEXT VERSION] Bear Access Bear Access is a CIT-sponsored project that provides a consistent interface into a suite of network-based service offerings. These applications provide access to a variety of services over the campus network (see Figure 1). In addition to providing a common access point for a heterogeneous collection of services, we wanted to be able to administer a group of general University services centrally. We needed to allow for other groupings of services to be managed at department or college level. We also needed to be sure that the software we provided was always current. We used the Mandarin Launch Pad, Version Control, and Software Synchronization and Distribution services to meet these requirements. Bear Access has both champions and detractors. It has been praised, particularly by students, as an easy-to-use doorway to the Internet. It has become so popular among students that Cornell's free, low-speed network dial-up service is regularly overloaded, leaving students clamoring for more access. (A for-fee, high-speed network dial-up service is already available and the remaining un-networked residence halls are scheduled for wiring.) Detractors dislike Version Control (particularly the idea of something automatically being placed on their personal workstations) even though you can choose to turn it off. Some also begrudge the Launch Pad space requirements (approximately 500K) and the layering of the Launch Pad interface over the standard operating system. The migration of personal networking services from a mainframe environment to Bear Access has led to issues such as who is responsible for what services. Cornell has decided there should be some services that are supported centrally and are subject to installation cycles and support requirements. It is equally important to allow the community to readily create and distribute new services. We must educate the users to go to the service owner for support. Growing support issues show that we also must enhance the Project Mandarin infrastructure so that it provides the users with information about where a problem originates--with a service offering or with the infrastructure supporting the service. [FIGURE 3 NOT AVAILABLE IN ASCII TEXT VERSION] Faculty Advisor The College of Human Ecology, the Office of the Vice President for Academic Programs, and CIT are sponsoring a project, called Faculty Advisor, to provide the faculty with immediate access to current student data. Faculty members saw JTF and were very interested in being able to have access to information in a similar fashion. But they needed different kinds of information (primarily academic records) and in a slightly different format. This prototype gives faculty information about a student so they can give better service to the student. Just the Facts, Bear Access, and Faculty Advisor are examples of using Project Mandarin technology to deliver information to the University community. Project Mandarin technology has allowed these services to be developed very quickly, typically in a matter of weeks. These products are sharing the infrastructure created by Project Mandarin. Each new service does not have to be built from scratch, but can be put together from reusable building blocks. This ability to leverage existing effort is critical in delivering cost- effective solutions. WHAT NEXT? At Cornell, we believe that we are bracing for an explosion of Project Mandarin-related activity. As Bear Access project team members travel the campus, interviewing key computer support personnel and decision-makers, it is clear that there are more campuswide as well as departmental services that can and should be delivered via Project Mandarin's Launch Pad. There is interest in combining other technologies with Project Mandarin to supply printing and documentation interfaces. The Campus Store sees it as a stepping stone to a home shopping service. Even independent operators, who seldom avail themselves of campuswide service offerings like Bear Access, see the value in services like Version Control, for example, which could significantly lower the time spent updating and configuring software on large numbers of workstations. They are also attracted to Project Mandarin's security features and how they might be applied to their local computing environments. Still other segments of the Cornell community would like to see our client/server technology applied to the University's administrative computing systems, so that the convenience and availability of data that Project Mandarin is bringing to personal computing is replicated in the administrative computing area. With interest on the rise, the next step for CIT is to properly market Project Mandarin, both within the University and to other institutions. This entails demonstrating Project Mandarin applications and explaining to potential services providers what Project Mandarin can and cannot do. We see that an educational effort is necessary to ensure the campus takes full advantage of the technology. We are undertaking this local effort in tandem with development of the Project Mandarin Consortium, which is already working to propagate Project Mandarin technology at other colleges and universities. ************************************************************* SIDEBAR What is the Project Mandarin Consortium? Seventeen universities are charter members of the Project Mandarin Consortium, and about half of those are actively involved in developing student information systems, similar to Just the Facts, and Bear Access-type delivery systems using Project Mandarin technology. The Consortium's over-arching concern is to help institutions of higher education use distributed software systems by employing Project Mandarin to develop applications to run on those systems. Members of the Consortium are committed to the continued improvement of Project Mandarin. They show this commitment by developing new tools and services which are then shared among Consortium members. To request copies of "Project Mandarin" and "What Is the Project Mandarin Consortium?" contact Nancy VanOrman, Project Manager of the Consortium, Cornell Information Technologies, Distributed Technologies Division, 400 CCC, Garden Avenue, Ithaca, NY 14853-2601; phone 607-255-2618; fax 607-255-1297; e-mail nlv1@cornell.edu ============================================================= Footnotes: 1 _Introduction to VITAL: Designing Information Systems for the 1990's_ (Cupertino, Calif.: Apple Computer, Inc., 1992). ************************************************************* Mark Mara is Associate Director for Distributed Technologies at Cornell University. This division is responsible for the development, implementation, and support of the distributed computing infrastructure at Cornell. The division also develops applications that showcase distributed technologies. ************************************************************* Project Mandarin[TM]: Implementing Distributed Computing at Cornell University 2càÿÿ ²Øàÿÿ ¹àÿWord Work File D 2054TEXTMSTEXTMSWD«ø%Bàÿÿ fàÿÿ  àÿÿ ·à ÿÿ Áà ÿÿ ,”àÿÿ 6dàÿÿ 9˜àÿÿ >àÿÿ B­àÿÿ Eíàÿÿ J Jeff Hansen2²tØð2STR ¿ãÿÿ²`ì