Introduction
Cornell University was founded in 1868 as "an institution where any person can find instruction in any study." Located in Ithaca, NY, according to Utne Reader the most enlightened city in the United States, Cornell is a unique combination of both an Ivy League university and a land-grant institution of New York State with a strong outreach and public-service mission.
Since its founding in 1965, Cornells Computer Science department has been ranked among the top five in the country, together with MIT, Stanford, Berkeley, and CMU. For our first 20 years, we emphasized fundamental principles of computer science and were perceived as a "theory department". For the past ten years, we have acted decisively to balance fundamentals and high-impact applications, and theory and applications are now equal partners in Cornell Computer Science. Today, partly through the help of previous NSF Infrastructure grants, 14 out of the 26 faculty in Computer Science work primarily in applications-driven research areas.
Project Goals
Our goal is to develop technologies for a new computing and communications substrate that provides "access to anything, anytime, anywhere". Achieving this goal requires advances in three areas of research:
![]() | low-latency, guaranteed-quality communications, which operate over variable bandwidth, asymmetric bandwidth, and wireless networks, |
![]() | scalable, reliable computing environments, which facilitate the development of distributed applications in the presence of failures, congestion and malicious users, |
![]() | structured access to heterogeneous information, which enables data to be organized using the linguistic structure of text, the spatial structure of images, and the temporal structure of video. |
At Cornell, we are developing systems that address key problems in each of these areas. However, several major issues currently prevent us from integrating these technologies into a new computing and communications substrate: (1) scalability, technologies which look promising in the lab must be validated at larger scales, (2) synergy, next-generation computing and communications systems require integration of software from several different research areas, (3) applicability, today's software needs to be developed with feedback from large numbers of users.
In order to address these issues, we propose to develop an integrated computing and communications testbed that will enable us to improve the scalability of our systems, provide a common code base for systems requiring components from different research groups, and evaluate our systems in everyday use.
Project URL: http://www.cs.cornell.edu/nextgen/
Accomplishments During Grant Year
Goals, Objectives, and Targeted Activities
The basic project goals are to develop the required network, operating systems, programming languages, tools, and applications infrastructure to support the model of anything, anytime, anywhere (a3) computing. Specific targeted activities include: improving the departments high-speed network infrastructure; building up a laboratory of high-performance software development workstations; providing improved network and file services; and creating a high-speed access path for home and remote computing access.
Elements Required
Direct inputs from the grant funding and institutional matching include the following:
![]() | ˝ FTE Systems Programmer and ˝ FTE Hardware Technician |
![]() | Cisco Catalyst 5500 100Mbit backbone network switching fabric |
![]() | Video and audio input and output equipment: cameras, scanners, projectors, printers |
![]() | 200GB disk storage and tape library backup unit |
![]() | Sun Ultra Enterprise 450 server (complementing Sun Microsystems donated server) |
![]() | Software: Visual Quantify, Allegro Common Lisp, CiscoWorks, Microsoft Visual Studio 97 |
In addition, the project has received 30 300MHz Pentium II Workstations, 12 dual-processor 300MHz Pentium II Workstations, and one quad-processor 200MHz Pentium Pro server as part of a major Intel donation in support of the a3 project.
Indications of Success
On the infrastructure side, we have implemented the following
![]() | Expanded our existing 100Mbit-switched network to cover the new single and dual-processor machines donated by Intel Corporation. |
![]() | Implemented new file servers and backup systems to support both the software development work and multimedia information sources. |
![]() | Implemented an independent experimental laboratory network. |
![]() | Begun testing a two-server cluster to support experimentation with clustering technologies and with the goal of providing multimedia information resources. |
![]() | Set up a server system to distribute video and audio information (see the lecture browser description below). |
Specific project results supported and made possible by the Next-Generation Computing and Communications research infrastructure are presented below, organized by broad area.
Networking
![]() | Network topology refers not only to the physical layout of components and cables, but also the logical partitioning of the network into administrative domains, routing areas, and other virtual views. We have come up with three novel technologies to discover, store, and display multiple views of network topologies. First, we automatically discover a networks topology by using a multi-pass approach, exploiting tools such as 'ping', 'traceroute', and nslookup, together with SNMP 'get' requests on routers. Second, we store the topology of the network in a innovative structure we dub the 'Web File System' or WebFS. WebFS treats an HTTP page as a directory, and a hyperlink as a file in this directory. Since we can associate arbitrary semantics with a hyperlink, and also create HTML pages on-the-fly, WebFS allows us to cleanly store multiple dynamic views of a network, and makes these views accessible anywhere in the Internet. Third, the display of network topology is within a standard browser, exploiting Dynamic HTML, Javascript and Java. We have created a scripting language that extends Javascript to allow Javascript functions to register with the Java AWT. This allows us to create an entire windowing system within a browser, where each window represents a network view. Thus, our work, which already exists as a prototype, allows us to automatically discover a topology, represent it in WebFS, and visualize it in a browser using Javascript and Dynamic HTML. |
![]() | Traditional network management tools use SNMP to collect statistics from managed objects. SNMP requires the manager to poll the managed object to obtain information about dynamically changing MIB variables. The possibility of a large delay between the manager and the managed object precludes the implementation of fine-grained polling and network control algorithms. Moreover, during periods of congestion SNMP requests may be lost. Therefore, in addition to using SNMP to collect network statistics, we have developed an extension to SNMP called 'Active SNMP' that solves the above problems. Active SNMP allows a Java applet to execute on a Java runtime 'near' the managed object, carrying out computation on MIB variables on behalf of the manager. For instance, the applet could monitor the number of IP packet losses and use this to adjust the advertised link weight. By placing processing near the MIB, Active SNMP allows us to perform fine-grained control, and avoid the 'horizon effect' where event information in a remote domain is invisible because of aggregation. |
Operating Systems
![]() | An operating system microkernel written in Java (the J-Kernel) which allows multiple applications to run within a single Java virtual machine and to communicate with each other safely. The J-Kernel is, in essence, a capability operating system implemented without any hardware support. |
![]() | In collaboration with the Scalable Server Lab of Microsoft Research we performed a detailed analysis of the Microsoft Cluster Service, with the goal to investigate the scalability of the distributed algorithms used for cluster membership and intra-cluster communication. The results of the analysis point to significant problems in the management and communication algorithms. We are developing and implementing new membership algorithms targeted towards scaleable node-membership for clusters of 16 nodes and higher. Variations that implement hierarchical clusters (cluster of clusters) are also under investigation. An important focus in this research is the engineering issues involved in developing membership as an operating system service: how should we structure the service to ensure that nodes under heavy load still are responsive with respect to management of the global cluster membership, which parts should reside inside the OS kernel, which part should be treated as real-time processes and which can be run as regular activities. All of this without taking away unnecessary resources from the applications running on the cluster. |
Programming Languages, Tools, and Applications
![]() | We have developed a type system for the 32-bit subset of the Intel IA32 (x86) architecture. Our Typed Assembly Language (TAL) is expressive enough that it can encode high-level source abstractions, such as private fields in objects, yet allows programmers or compilers to generate highly-optimized code. In our mobile agent system, agents can be compiled from a high-level source language to TAL. The TAL code can be shipped to a host, which can then verify that the assembly language is type correct (i.e., respects the host's interfaces.) Then the TAL code can be immediately executed. Hence, the host need not pay the performance penalty of interpretation or just-in-time compilation. Furthermore, the host does not need to have access to a trusted interpreter or compiler. |
![]() | The J-Server bridge between Microsoft's Web server (IIS) and the J-Kernel allowing untrusted code (servlets) to be uploaded to the web server and run in its process to handle HTTP requests. This allows users of the web server to upload custom code to serve dynamic web pages without administrator involvement. |
![]() | The first version of the Dalí high performance library of routines for manipulating video, audio, and image data was released in March. Unlike other multimedia libraries, Dalí is designed for maximal performance, not ease of use. In the next phase of our research, we will use Dalí as the target language for code generation from a compiler of a higher-level multimedia language. |
![]() | We developed the first prototype of the lecture browser, a system for automatically recording lectures and publishing them on the Web. The lecture browser is a system that MPEG encodes video data captured by several (currently 3) cameras in a lecture hall and transfers the recorded audio and video data to a server where a variety of processing takes place. The end result is a complete record of the lecture that can be viewed with Netscape or Internet Explorer. The automatically edited video uses multiple camera angles to give the user a greater sense of presence, and an automatically synchronized slide track compensates for the relatively low slide quality in the video. |
![]() | We have developed new computer vision systems and algorithms to support: 1) A new version of our model-based object tracking system using the Hausdorff distance. This system uses an efficient, robust background motion estimation technique for improved model-based tracking results. 2) A graph-based image segmentation algorithm that measures local image variation, and thus is able to preserve fine detail in low variabililty regions, while merging high-variability regions (such as texture) into one. 3) An image comparison technique based on properties of coarse "blobs" in images, that correspond to regions of extremal (top or bottom quantile) intensity, color and texture of the image. 4) An efficient approximation to Markov Random Fields (MRF's) with applications to stereo matching. |
Evaluation
Degree of Success
We have achieved all of our first year goals except as noted under unmet goals. With significant assistance from Intel Corporation, we have created a software development laboratory and network infrastructure to support the creation of the next-generation computing and communications infrastructure we had proposed. We have met all of the basic infrastructure goals in the original proposal except for high-speed home access (see below).
On the research side, we have made significant progress on a number of fronts, with very exciting developments in the areas of operating systems, multimedia, computer vision, networking, and programming languages. We are on track toward our basic goal of creating and testing a new model of education and instruction based on a3 collaborative computing.
Unmet Goals
The most significant unmet goal for the first year has been our inability to establish a generally available mechanism for high-speed home network access in the Ithaca area. We had originally planned to make use of the local cable network infrastructure, and we believed that we had been allocated bandwidth on the cable for this purpose. However, talks between Cornell and the local cable provider broke down over the asymmetric nature of the proposed system. Our fallback plan was an asymmetric system that used an actual low-power VHF/UHF broadcast channel going out, and dial-up networking for return traffic. Unfortunately, we were again unable to reach an agreement, with the broadcast channel owner seeking financial guarantees that we were not able to provide.
The current status is that a few members of the Computer Science department have high-speed access through a telephone company ADSL trial. During the coming year, we plan to continue to work with both the phone company on expanding the availability of ADSL and the cable company on implementing two-way high-speed cable network access (probably the RoadRunner system, which is already in place in nearby communities). We expect that such an access system will be in place and usable by this project during the next one to two years.
Outcome
This project served as a major impetus and backbone project for our successful proposal to Intel Corporation for $6 million in high-end workstations and servers for projects across Cornell University. Of that, approximately $1.2 million is in equipment targeted specifically for Computer Science research on anything, anytime, anywhere computing. This project has already raised the awareness of applications ranging from computational biology to physics to digital arts in the possibilities of mobile, secure, and scalable computing, communications, and collaboration. At this early stage (10 months into the project) we are just beginning to set up the organizational and physical infrastructure to support concrete future interaction.
Impact
The fundamental business of the university is the creation and dissemination of ideas, knowledge, and understanding. We are creating and using new computing and communications tools to develop a new learning environment at Cornell, which provides:
![]() | Anything-anytime-anywhere (a3) access to information, as well as to the resources for creating and disseminating information. |
![]() | A decoupling of location and function, enabling students and faculty to collaborate on projects across the campus, access lectures from dormitories, and search library materials from the classroom or office. |
![]() | Qualitatively better information resources, further blurring the boundary between documents and applications where applications are more content-driven and documents are more interactive. |
![]() | Support for multiple styles of learning, presenting information in ways that are more visual, more customizable, and more interactive. |
If we are successful in delivering our vision of a new, distributed, interactive learning environment, then Cornell will serve as a model for other universities. Moreover, as the project moves towards this ambitious overall goal, it will have a continuing impact. It will result in the development and testing of new operating systems, networking, visual communications, computer graphics, multimedia, and database tools, systems, and understanding.
Immediate Impact
Students
Approximately 55 PhD, Masters of Engineering, and undergraduate students were indirectly supported under the grant. All of them worked with project equipment and on the research areas falling under the a3 umbrella. No students were directly supported by grant funding.
Publications