CONTRACTOR'S PROGRESS STATUS AND MANAGEMENT REPORT HPDST Intelligent Collaboration & Visualization for the period 22 July 1996 - 22 October 1996 Report #1 CDRL A001 CONTRACT N66001-96-C-8507 13 March 1997 SUBMITTED TO Receiving Officer e-mail address: "hpdstnrad@nosc.mil" Rich Laverty Frank Schindler Bob Medearis 619-553-2918 619-553-2845 619-553-6377 laverty@nosc.mil fschindl@nosc.mil medearis@nosc.mil SUBMITTED BY University of North Carolina Chapel Hill Chapel Hill, NC 27599 Principal Investigator Administrative Contact Contract/Financial Contact Prasun Dewan Sarah Thompson (919) 962-1823 (919) 962-4673 fax: (919) 962-1799 (919) 962-5011 dewan@cs.unc.edu sarah_thompson@unc.edu Do not distribute to DTIC or other data depositories. Distribution authorized to DOD components only; premature dissemination (date). Other requests shall be referred to Naval Command, Control and Ocean Surveillance Center (NCCOSC), RDT&E Division, San Diego, California 92152-5000. Quarterly Status Report High Performance Distributed Services Technology HPDST Intelligent Collaboration & Visualization for the period 22 July 1996 - 22 October 1996 Contract N66001-96-C-8507 CDRL A001 1.0 Purpose of Report This status report is the quarterly contract deliverable (CDRL A001) which summarizes the effort expended by the University of North Carolina team in support of HPDST Intelligent Collaboration & Visualization (IC&V) on Contract N6601-96-C-8507. 2.0 Project Members UNC/Dewan and others. spent: 1100 hours sub-contractor/ODU. spent: 0 hours sub-contractor/PSU. spent: 0 hours 3.0 Project Description (last modified mm/yy) 4.0 Performance Against Plan Spending was as planned for this reporting period. 5.0 Major Accomplishments to Date Once we had hired our staff, our first task was to agree on an initial decomposition of a collaborative application into orthogonal services. Consistent with our proposal, we decided to use the following as our initial set of services: a) data model for defining shared workspaces consisting of structured objects; (b) user interface model that allows shared objects to be manipulated using user interfaces that support text, graphics, audio, video, and virtual reality; (c) coupling model that enables users in a joint session to share data and user-interface objects and controls their interactions to ensure security and consistency constraints are not violated; (d) awareness model that allows users in the session to be aware of the ``out of band,'' actions of others, that is actions not visible through direct coupling; (e) migration and replication mechanisms that ensure that the bus does not become a bottleneck; and (f) real-time services, consisting of scheduling algorithms and network protocols, for ensuring real-time coupling among the collaborators. We had intended to design and implement these services as a set of communicating modules in some object-oriented programming language. We looked further at Java, the language we had proposed to use in our proposal, and decided to indeed commit to this choice. A major factor for choosing Java was its portability. Two other developments that we mere made aware of during this period made it an even more attractive choice. The new version now had a high-level remote method invocation (RMI), an abstraction that we believe would make the distributed programming aspects of our implementation task much easier. Moreover, there is a plan to add ``reflection capabilities'' to the language, which would allow user-level programs to identify and manipulate structure of objects they received dynamically. We believe this facility would allow the bus to interoperate objects it receives dynamically from client programs. Learning and mastering of Java and these associated packages was going to be a challenging task. Our local expert on Java in particular and programming languages and compilers in general is Prof. Sid Chatterjee, so we invited him to join our group. We also started several efforts to accomplish the goals of this project. Many of us who had not programmed in Java started experimenting with it. This was a substantial fraction of the group and included Dewan, Jeffay, Nyland, Roussev, Sharma, and Li. Since many of the students we hired were first-year graduate students with no exposure to collaboration, they started reading the important papers in this area and participating in group discussions on this project. An important package in Java is the Observable/Observer package, which essentially implements a rudimentary bus by allowing an observer object (the bus) to observe the behavior of observable objects (bus clients). To understand how it works and its applications, Dewan and Chatterjee designed and implemented a simple spreadsheet application connected by this ''bus''. Sharma and Roussev started a project to create a distributed, collaborative version of this application using Java RMI. Dewan also started a project to design a strawman reference architecture of a collaboration bus. Jon Smith and Qian Li started a project to develop a generic, Java-based, data model and user-interface for persistent graph data structures. Jon Munson, a senior graduate student, had been working on a general model of concurrency control and merging. He started a project to extend and implement these ideas in the context of the bus. Goopeel Chung, another senior student had been working on the architecture of a shared window system supporting migration of the centralized client. He had implemented it in XTV, a shared window system developed at UNC and ODU, that extends the X window system. He initiated a project to make the architecture more flexible by adding the capabilities for replicating the client and dynamically switching between centralization and replication modes. Emad Eldin, a new graduate student at ODU, started a project to port XTV to Solaris, thereby gaining valuable knowledge in both collaboration in general and this particular system in particular. In the area of real-time services, Jeffay began an investigation into quality-of-service requirements for shared, distributed, virtual environments (VEs). Shared VEs represent an important new class of collaborative applications that we wish to support with the collaboration bus. Jeffay selected the UNC nanomanipulator project -- a project to experiment with a virtual reality interface to a scanning tunneling microscope -- as a first case study. The goal is to (1) understand the communications performance requirements of this application when components are distributed across the Internet, and (2) design a transport-layer quality-of-service manager that will monitor network communications performance and work in concert with the application to adapt to perceived levels of congestion in the network. The first goal was partially realized this quarter and design of the QoS manager begun. As part of the latter effort, Jeffay & Wahab worked on fundamental resource allocation problems for real-time computing on the desktop. A new proportional share resource allocation algorithm was developed an prototyped in the FreeBSD operating system. 7.0 Issues 7.1 Open issues with no plan, as yet, for resolution: We had commitment from Mike Meehan, a senior graphics students, to work on the VR aspects of our project. He had planned on joining us in September but could not do so. He is currently working for a start-up company and expected the product to be shipped by September, but the scheduled slipped. We decided to postpone some of the work on VR until he could commit. 7.2 Open issues with plan for resolution: 7.3 Issues resolved: 8.0 Near-term Plan To make progress on the efforts started this quarter. 9.0 Completed Travel Dewan visited DARPA on for a briefing, Oct 1. Dewan attended DARPA PI and IC&V meeting in Dallas, Oct 5-10. Nyland attended IC&V meeting in Dallas, Oct 8-10. 10. Equipment Purchases and Description 11.0 Summary of Activity 11.1 Work Focus: Our focus was on: decomposing collaborative applications into orthogonal services, choosing the programming language and enviroment and learning it, understanding an existing VE environment from the purposes of real-time services. 11.2 Significant Events: None this quarter. FINANCIAL INFORMATION: Contract #: N66001-96-C-8507 Contract Period of Performance: 7/22/96-7/21/99 Ceiling Value: $981,697 Reporting Period: 7/22/96 - 10/22/96 Actual Vouchered (all costs to be reported as fully burdened, do not report overhead, GA and fee separately): Current Period Prime Contractor Hours Cost Labor 1100 18,901 ODC's 662 Sub-contractor 1 (ODU) 0 0 Sub-contractor 2 (PSU) 0 0 TOTAL: 19,563 Cumulative to date: Prime Contractor Hours Cost Labor 1100 18,901 ODC's 662 Sub-contractor 1 (ODU) 0 0 Sub-contractor 2 (PSU) 0 0 TOTAL: 19,563 Notes: ODU was late with its vouchers, hence the no cost assigned to them. Not all travel done this quarter was actually vouchered this quarter, hence the low number for ODC.