Skip to Content Java Solaris Communities Partners My Sun Sun Store United States Worldwide

»  1992
»  1993
»  1994
»  1995
»  1996
»  1997
»  1998
»  1999
»  2000
»  2001
»  2002
»  2003
»  2004
»  2005
»  2006

Fiscal 1994 Project Portfolio Report





Foreword

This annual report, the third for Sun Microsystems Laboratories, is presented to promote your awareness, understanding, and appreciation of the Lab's technical program. FY94 has been a year of rebuilding after the transfers of the Lab's Spring and SPARC groups to product development organizations as the Fiscal Year began. Approximately forty percent of the Lab's technical staff emigrated as these two groups shifted to pursue their technology in closer proximity to product development. We have missed our alumnae and appreciate their continued work toward products.

I am pleased to report that the Lab has established Networking as a new area of emphasis for the immediate future. We have made considerable progress, as reported in the body of this document, on new high-performance network infrastructure, utilizing the fiber installed in our building. This new research project is exploring issues of performance, management, economics, operations, and applications principally in the emerging technology of Asynchronous Transport Mode (ATM) networks.

The WinServer concept brings a new dimension of heterogeneous computing to Sun's product line. We have developed a seamless coupling of Solaris(R), MS- Windows(TM), and Macintosh(R) software. This Lab project is emigrating in FY95.

The ongoing projects also have made considerable progress. The PrimaVera research project on software testing, partially supported by the Japanese Ministry of International Trade and Industry (MITI), is receiving international attention. Our Lab group in Chelmsford, Massachusetts, although small, has reached critical mass and is advancing well on its program agenda.

I would like to mention a few of the modest, activities in the Lab that support many different aspects of Sun's organizations. Activities like these, while not particularly flashy, contribute importantly and steadily to the value Sun derives from its corporate research Lab.

  • The Lab hosted the Sun Microsystems Computer Corporation (SMCC) team that developed Sun's World Cup Video Service. The Lab's ATM expertise and working ATM infrastructure was used by the development team who resided and worked with their equipment in the Lab building for several months before the start of the World Cup soccer games. Lab ATM experts and equipment were a resource for solving many problems with this emerging high-bandwidth technology. The resulting World Cup information services were heavily used during the month of the games.

  • Mosaic has infected Sun as a contemporary information access phenomena of the Internet. Sun has created an externally accessible information base for Internet users as a public marketing and product information source. The Lab's multi-media conference room was used regularly by the cross-planetary team developing Sun's Mosaic pages because it is the only facility on the Mountain View campus where the team could work together on-line to design the Mosaic pages with our big-screen projection SPARCstation(TM) display. SML staff also assisted Information Resources with techniques for managing and minimizing the load placed on the Sun Wide Area Network (SWAN) by Mosaic use. Lab staff in our Chelmsford office helped SunExpress(TM) develop their Mosaic presentations.

  • Sun was honored to have Mary Whitton elected as Chair of ACM's SIGGRAPH professional special interest group. During her two-year tenure in this position, the Lab has provided support, enabling her to devote special attention to this important professional organization.

  • The Lab, since its inception, has had a program of staff visits to customer premises as a way of developing our understanding of, and respect for, customer requirements and values. This past year, in a reverse twist, we hosted a sabbatical by one of Sun's System Engineers - Mark Zaremsky from the Pittsburgh sales office. Mark worked in the ATM group on advanced video and ATM management software. We learned a lot from Mark's customer perspectives and in return infected him with contemporary knowledge about the latest ATM technology. We hear that Mark has been busily spreading this knowledge to colleagues and customers now that he has returned to Pittsburgh. We hope to make such sabbaticals a regular part of our activities.

  • Finally, we export to Sun some of our internal processes. Lab modifications to the Performance Appraisal process, forms, and collateral have been given to Human Relations. Our technical information clearance process for protecting Sun's intellectual property is being adopted for use throughout the company by the corporate security group. Plans to put this system on-line are underway.
These few examples illustrate some of the ways that the Lab can assist our corporate sponsor. I am very proud of the large, and especially the many small ways in which the Lab staff serves Sun.

The most exciting achievements for the Lab are the new people who have joined us. From within Sun, eighteen new staff have joined the Lab, some of them returnees from projects that emigrated in prior years. From outside, we have recruited Israel Cidon and John Ousterhout, both respected technologists who will lead new Lab activities. In FY95, we will once again temporarily reach a full staff complement, recognizing full well that further moves to product status and organization await some of the Labs' projects.

A few statistics about SML may be illuminating. As of June 30, 1994 we number 121 people located in Mountain View, California and in Chelmsford, Massachusetts. Ties with Academia are evidenced by five academic consultants. SML has a Technical Advisory Board comprised of:

  • Mr. William G. Howard, Jr., Consultant
    Former Director of Research, Motorola, Inc.
  • Mr. Gordon Bell, Consultant
    Former Vice President of Engineering, Digital Equipment Corporation
  • Dr. Charles Hutchinson, Dean
    Thayer School of Engineering, Dartmouth College
  • Dr. James H. Morris, Dean
    Computer Science Department, Carnegie Mellon University
The network infrastructure for Building 29 in Mountain View supports a working environment of over 180 SPARCstations and a variety of PCs and Macs, nineteen fileservers, video teleconferencing facilities, and a dial-in facility. To provide the flexibility required by the environment, each staff work area is outfitted with three UTP (Cat5) drops and two fiber optic drops--one each of single and multi-mode. The network is primarily ether-based running TCP/IP. However, FY94 marked the beginning of our ATM implementation and approximately ten percent of the workstations are now connected to the net via ATM Sbus cards. Also implemented within the SML network, is a server that supports heterogenous computing research providing network services to the SPARC, PC and Mac clients via a SPARC-based server. In support of networking activities that require unique and sometimes open networking environments, we implemented a second network within SML, the OpenNet, which is stand-alone, connected to the Internet, and apart from the SWAN. It is to the OpenNet that the ATM network trials, in which we are a participant, are terminated. This includes a 155mb line as part of the BagNet (Pacific Bell) trial and a 622mb line for the BMan (Sprint) trial.

We dedicate this report to those former SML members who have moved, with their expertise, into other parts of Sun carrying with them the knowledge and skill they developed here. We are proud of their accomplishments and grateful for their forthcoming roles in sharing their results with others at Sun in a personal and proactive way.

William R. (Bert) Sutherland Director, Sun Microsystems Laboratories Vice President, Sun Microsystems Inc.

bert.sutherland@Eng.Sun.com

Fiscal 1994 Project Portfolio Report





Introduction


We think of the Sun Microsystems Laboratories' activities as a portfolio of projects aimed at enhancing Sun's technical future. To nurture our portfolio, we try to maintain balance on several dimensions. Projects should start, proceed, and end in a deliberate way. Balance on a time horizon is desired: some results should be usable soon, others have a longer gestation period. Sun has many future needs so SML projects cover a range of topics and technologies. Some projects focus on software, some on hardware, and some on methodology and technique. We collaborate with other activities at Sun as a way of enhancing our efforts and speeding the transfer of ideas. New projects entering our portfolio must have some innovative ideas as a basis, and each must have a technical champion to drive to effective results. The goal is to see the results flow out into practical use in Sun.
The FY94 Portfolio is comprised of the following projects:
  • Asynchronous Processor Design To demonstrate the feasibility of building an asynchronous SPARC processor.
    • bob.sproull@East.Sun.com
    • ivan.sutherland@Eng.Sun.com
  • Clarity To design and develop the next generation C++ programming language and environment for creating complex, distributed, multi-threaded applications.
    • ted.goldstein@Eng.Sun.com
  • Collaborative Research To contribute to Sun's competitive advantage through collaborative research and joint investigations that result in the exchange of technology and knowledge between the academic and scientific research communities and Sun's product groups.
    • emil.sarpa@Eng.Sun.com
  • Enterprise Systems To research and develop enterprise computing solutions including accessibility, mobile computing, workflow, security, and computing in heterogenous environments.
    • steve.gadol@Eng.Sun.com
    • earl.johnson@Eng.Sun.com (accessibility)
    • michael.pricer@Eng.Sun.com
  • High Performance Input/Output To investigate new operating system I/O architecture, with emphasis on high speed networking and parallel I/O.
    • yousef.khalidi@Eng.Sun.com
  • Knowledge Technology To develop and exploit technology for dealing with knowledge--acquiring it, organizing it, disseminating it, retrieving it, and browsing it.
    • william.woods@East.Sun.com
  • PrimaVera/Assertion Definition Language To research and prototype technology and tools to improve software quality, performance, productivity and ease-of-use.
    • alberto.savoia.Eng.Sun.com
  • Seeking To develop caching and other strategies to make high-volume information delivery scale gracefully in the presence of storage and transmission constraints.
    • peter.norvig@East.Sun.com
  • Self To improve programmer productivity by creating a language and programming environment based entirely on simple objects.
    • randall.smith@Eng.Sun.com
    • david.ungar@Eng.Sun.com
  • Speech Applications To understand how to build a robust, effective environment for speech applications.
    • paul.martin@East.Sun.com
    • nicole.yankelovich@East.Sun.com
  • Time-Critical Media To explore system resource management issues in order to increase the degree of perceived value that users receive from their systems. To introduce explicit notions of time and money to the management of such resources as (high speed) networks, processing, and memory.
    • duane.northcutt@Eng.Sun.com
  • Vantage To find ways of constructing robust and reliable software for large, heterogenous, computing environments.
    • jim.waldo@East.Sun.com

    Fiscal 1994 Project Portfolio Report





    AsynchronousProcessorDesign

    Bob Sproull and Ivan Sutherland, Principal Investigators
    bob.sproull@East.Sun.COM
    ivan.sutherland@Eng.Sun.COM

    Overall Objective

    To explore the potential of the asynchronous design style. Asynchronous systems may offer:

    1. Reduced design cost and time through re-use of designs
    2. Lower power consumption because no energy is consumed with unnecessary switching.
    3. An easy upgrade path to take advantage of technology improvements because different parts may run at different speeds
    4. Good performance

    Objective for FY94

    To demonstrate the feasibility of building an asynchronous SPARC processor.

    Description

    We started FY94 with the basic architecture for the Sproull Pipeline Processor. This has been the year to flesh out the basic idea into a real design.

    One part of that work involves building and using an event driven simulator. The simulator permits us to explore the effect on performance of changes in the order and types of stages included in the pipeline.

    A second part of our work has been the detailed design of the pipeline circuits. This activity is aimed not only at deciding exactly what to build, but more importantly on making accurate estimates of performance. In order for the simulator to produce meaningful answers we must have realistic estimates of the delay of various parts of the design. Such estimates are realistic only when the circuit is known in detail and reasonable account is made for the geometry of a proposed layout.

    Accomplishments

    During FY94 we mainly worked on understanding and improving the performance of the processing pipeline. Our simulation reinforced our view that the rate at which data moves through the pipeline is important. We have therefore focused mainly on designs that move data through the pipeline as fast as possible.

    Our simulator has simulated the operation of many hundreds of millions of instructions. So far its results must be interpreted carefully because we lack accurate estimates of the basic delay numbers on which adequate estimates of performance must be based. Nevertheless, the simulator has shown the value of register scoreboards and cache improvements we have made to the architecture.

    We now have a circuit plan that is as fast as we believe possible. We are busy making detailed estimates of its performance. We have a tentative floor plan of a proposed integrated circuit implementing our design.

    References

    Publications
    "Counterflow Pipeline Processor Architecture," R. Sproull, I. Sutherland, C. Molnar, to appear in the Fall 1994 issue of IEEE Design and Testing of Computers, SMLI TR-94-25.
    Patents--applications being prepared for filing
    "Basic Pipeline Stage Control Circuit," C. Molnar.

    "Snippets for the Charlie Box," I. Jones, I. Sutherland.

    "Pipeline Circuit," I. Sutherland, I. Jones, C. Molnar.

    "Three Rail Asynchronous Signaling," I. Sutherland, C. Molnar.

    "Synthesis of Asynchronous Circuits in Up Down Form," I. Sutherland.

    Patents--applications filed
    "Counterflow Pipeline," C. Molnar, I. Sutherland, R. Sproull, I. Jones, filed October 21, 1993.

    "Counterflow Pipeline Processor," R. Sproull, I. Sutherland, filed October 21, 1993.

    "Scoreboard Table for a Counterflow Pipeline Processor," R. Yung, filed March 8, 1994.


    Fiscal 1994 Project Portfolio Report

    Fiscal 1994 Project Portfolio Report





    Clarity

    Ted Goldstein, Principal Investigator
    ted.goldstein@Eng.Sun.COM

    Overall Objective

    To design and develop a better systems programming language and environment for groups of Sun/UNIX® programmers.

    Objective for FY94

    To develop the next generation of the C++ programming language and environment for creating distributed, multi-threaded, complex applications.

    Description

    The Clarity group's approach is to design the language and the environment to complement each other. The Clarity C++ language design goal is to remove the most odious design errors of C++ and enhance the language with successful features found in other programming languages. The environment is centered around a persistent object-oriented representation of programs. This active representation will allow the Clarity project to raise the foundation of programming tools above manipulation of static text. By utilizing techniques of federated, distributed databases, the Clarity programming environment can keep a structured representation of programs that provides a common application programming interface (API) for tools, simplifying existing tools and enabling new language-based tools.

    Accomplishments

    • A complete definition of the Clarity language.
    • A functioning, demonstrable prototype of the Clarity Software Processor (CSP) which edits an embedded document model of individual language objects such as functions and class definitions. CSP gives incremental feedback about the state of Clarity text.
    • Shadows technology was used by the PrimaVera group and incorporated into the release of PrimaVera.

    References

    Publications
    "Shadows: A Type-Safe Framework for Dynamically Extensible Objects," J. Gibbons, M. Day, SMLI TR-94-31.

    "The Object Binary Interface - C++ Objects for Evolvable Shared Class Libraries," T. Goldstein, A. Sloane, SMLI TR-94-26.

    Patents--applications being prepared for filing
    "An Object-Oriented Interface for Programming Language Implementations," D. Bristor.

    "An Object-Oriented Database Query Facility," D. Bristor.

    Patents--applications filed
    "Method and Apparatus for a Type-Safe Framework for Dynamically Extensible Objects," J. Gibbons, M. Day, T. Goldstein, M. Jordan, filed January 28, 1994.

    Fiscal 1994 Project Portfolio Report





    Collaborative Research (CR)

    Emil Sarpa, Manager
    emil.sarpa@Eng.Sun.COM

    Overall Objective

    To contribute to Sun's competitive advantage through collaborative research and joint investigations that result in the exchange of technology and knowledge between the academic and scientific research communities and Sun's product groups.

    Description

    Collaborative Research is the joint investigation between Sun and an external organization with significant and continuous interaction. CR is important to Sun because participation can extend our internal engineering resources and lead to the early introduction of technically advanced products. The ingredients for successful collaborative research include: technical sponsors in both engineering and research groups; resources; a workstation loaner pool to seed new activities; and defined deliverables and performance criteria.

    To help Sun engineering and external groups in establishing collaborative research activities, we:

    • Identify external and internal projects
    • Identify appropriate technical sponsors
    • Assist the technical sponsor in developing milestones and deliverables
    • Negotiate agreements
    • Administer delivery of resources
    • Coordinate with sales/marketing
    • Evaluate progress
    • Manage the process and assist in disseminating results to a wide audience at Sun

    Accomplishments

    Current university collaborations sponsored by various Sun organizations include:

    University of Washington, Brown University, SuperComputer Research Center at the University of Maryland, Lawrence Berkeley Labs at the University of California Berkeley, University College London, MIT, Technion (Israel), Seoul National University, University of Arizona, Georgia Technology University, Institute for Research on Learning Palo Alto, University of Geneva, and Stanford University.

    Collaborative projects include:

    Three-Dimensional Interactive Graphics, ATM Research, Teleconferencing and Multimedia, Pen-Based Computing, Human Interface Research, Video-Based Learning/Training, Speech Recognition, and Internet Delivery.


    Fiscal 1994 Project Portfolio Report





    Enterprise Systems

    Overall Objective

    To research and develop enterprise computing solutions including mobile computing, workflow, security, accessibility, and computing in heterogenous environments.

    Enabling Technology (ET)

    Earl Johnson, Principal Investigator
    earl.johnson@Eng.Sun.COM

    Objective for FY94

    To develop a long-range plan for the project; to ensure the successful technology transfer of AccessX (keyboard enhancements that provide basic X Window System accessibility to users with physical disabilities); to bring server-level expertise into the group; and to develop keystroke/mouse monitoring tools.

    Description

    An accessible platform is one that allows the user with a disability to access the same type of computers and applications as fellow workers. This will become a reality when the platform has a full suite of access solutions available for it (e.g., speech recognition, screen readers, and StickyKeys). And this in turn depends on the formation of a partnership between Sun's independent software vendors (ISVs) and access technology developers (ATDs).

    Sun will provide the development tools, and the ISVs and ATDs will utilize these tools to establish the accessible platform.

    ET will focus on establishing the infrastructure necessary to make this partnership a success.

    Accomplishments

    • Partnered with the OpenWindows(TM) Technology and Human Interface groups to turn AccessX into a product
    • Completed the PC and Mac access solution evaluations
    • Established a long-range vision and framework for the project
    • Provided accessibility development guidance to application developers in the Motif® 2.0 style guide
    • Shipped ergonomic brochure for Repetitive Strain Injury (RSI) prevention in country kits
    • IBM to Sun keyboard box has been turned into a product by Kinesis Corporation

    Mobile Office

    Steve Gadol and Michael Pricer, Principal Investigators
    steve.gadol@Eng.Sun.COM
    michael.pricer@Eng.Sun.COM

    Objective for FY94

    To explore technology needed to provide Sun employees access to Sun's network services and applications regardless of where they are located and to explore the kinds of services that are most productive to mobile users.

    Description

    We assume most mobile computer users will use non-Sun devices including palmtops, laptops and desktop PCs. Initially we have chosen to provide such users with e-mail, group calendars, and access to on-line transaction systems. E-mail provides mobile users with services originating on a user's primary machine or workflow server machines. Tasks are sent embedded in messages and results are sent back to the user's nomadic device via e-mail. Since security is an important concern, we are investigating ways to provide both enhanced authentication and privacy via encrypted transmissions.

    Accomplishments

    • Used the RAM and Radiomail® networks to deliver remote e-mail
    • Developed functions on the Sun workstation to forward e-mail to a nomadic device (relay), and process tasks on the Sun workstation (proxy)
    • Developed secure e-mail, using single-key encryption, that links the Sun workstation and the nomadic device
    • Merged (via direct connection or e-mail) the Deskset(TM) Calendar Manager and the HP100LX(TM) or the HP Omnibook 425(TM) appointment books

    References

    Publications
    "Nomadic Tenets - A User's Perspective," S. Gadol, M. Clary, SMLI TR-94-24.

    WinSERVER

    Steve Gadol, Principal Investigator
    steve.gadol@Eng.Sun.COM

    Objective for FY94

    To provide the software platform needed to make Sun the industry choice for heterogeneous enterprise computing networking, servers, and services.

    Description

    WinSERVER is a software platform designed to integrate PC desktop systems seamlessly into an enterprise-wide network. It provides PCs with services and interfaces compatible with protocols native to their software environments. The initial work centered around filing, printing and a simple level of e-mail interoperability. Additional capabilities from the desktop user's perspective are needed in order to completely integrate e-mail as a transport for both personal communications and for application interoperability; to integrate desktop application database clients with large scale network data bases including Sybase(TM) and ORACLE(TM); and to create the foundation for interoperability between the principal desktop object paradigms, OLE(TM) and CORBA(TM). The server-based software we have experimented with - including Novell Netware®, Windows NTAS(TM), and SolarNet(TM) - all provide similar system and network management services.

    The WinSERVER software platform provides core interoperability needed for PC desktops and UNIX systems to interoperate on the corporate network. E- mail enabled applications, with the ability to route forms and access network databases, are the foundations for electronic workflow systems. Together with software provided by the Mobile Office project, the WinSERVER project has given SML the software base to build prototype solutions for heterogeneous and distributed workflow problems.

    Accomplishments

    The WinSERVER project was started mid-year with the goal of prototyping a solution for heterogeneous filing, printing, e-mail, and database access based on native PC desktop protocols by the end of Q4 FY94. The methodology chosen was to integrate third-party product software. By the end of Q3, enough of the basic components were working together that it was possible to demonstrate the filing and e-mail components at the 1994 Sun Leadership Conference.

    The basic WinSERVER platform is now in daily use in SML, providing interoperability between MS Windows, Macintosh, and Sun systems.


    Fiscal 1994 Project Portfolio Report





    High Performance Input/Output (I/O)

    Yousef A. Khalidi, Principal Investigator
    yousef.khalidi@Eng.Sun.COM

    Overall Objective

    To explore and develop new operating system software for high-speed networking and multicomputer systems.

    Objective for FY94

    To form the project team and establish the direction for the project; to investigate performance problems of existing systems; and to develop a new fast data transfer mechanism for the Solaris operating system.

    Description

    In recent years, I/O structure and performance have received little attention. In the past, I/O devices were slow compared to CPU and memory speeds. The software demands on the I/O system were modest, and most machines were either uniprocessors or large expensive multiprocessors.

    Many of the basic assumptions on which current I/O systems were built are no longer valid. The advent of high-speed networks is changing many of the basic assumptions of existing operating systems. In addition, high-speed networks can now be utilized to connect many computers together to form multicomputers.

    The High Performance I/O project was formed to address the issue of providing the proper operating system support for I/O. The project will provide a new advanced operating system I/O architecture tailored for high- speed networking and multicomputer systems.

    Accomplishments

    • The direction of the project was identified, and both short term goals and longer term goals were set.
    • A new very efficient operating system data transfer facility was developed for the Solaris operating system.
    • The design of a new I/O architecture was started.
    • Several collaboration efforts with groups inside and outside of Sun were established.

    References

    Publications
    "Virtual Memory Support for Multiple Page Sizes," Y. Khalidi, M. Talluri, M. N. Nelson, and D. Williams, Proceedings of 4th Workshop on Workstation Operating Systems, October 1993, SMLI TR-93-17.

    "A Study of the Structure and Performance of MMU Handling Software," Y. Khalidi, V. Joshi, D. Williams, SMLI TR-94-28.

    Patents--applications being prepared for filing
    "Method and Apparatus for an Efficient Data Transfer Mechanism," Y. Khalidi, M. Thadani.

    "Dynamic Partitioning of Caches and TLBs Using Set Associativity with Limited Replacements," B. Nayfeh, Y. Khalidi.


    Fiscal 1994 Project Portfolio Report





    Knowledge Technology

    William Woods, Principal Investigator
    william.woods@East.Sun.COM

    Overall Objective

    To develop and exploit technology for dealing with knowledge--acquiring it, organizing it, disseminating it, retrieving it, and browsing it. To develop a body of technology that will address the needs of people whose jobs require efficient access to on-line information. Our efforts toward these goals are presently concentrated on the problems of conceptual information access--that is, access to information based on a conceptual match between a stated information need and material that may meet that need.

    Conceptual Indexing

    Objective for FY94

    To develop techniques for indexing and organizing information in structured taxonomic representations that will facilitate browsing and retrieval of specific information in response to specific information needs.

    Description

    Conceptual Indexing refers to a technology for organizing facts, ideas, words, phrases, and descriptions into a structured taxonomy that can be used as an organizing structure for information retrieval and as a structure to support human browsing. We have implemented a conceptual indexer that will extract words and phrases from text files and organize them into a taxonomy that can be browsed and used to access information. Such a taxonomy can index text material at the level of individual sentences and phrases to support locating specific answers to specific questions.

    The conceptual indexer is being used as a component for an experimental intelligent querying system that we have expanded and experimented with over the past year. We have implemented several versions of this intelligent querying system that differ in the amount of analysis done at indexing time as opposed to retrieval time, and we are still experimenting with this system to understand its behavior and to develop techniques to extend its capabilities.

    The components of the conceptual indexer include:

    • A parser that analyzes phrases extracted from text to determine their conceptual structure for incorporation into the index
    • A core dictionary of words that is used by the parser to determine the structure of phrases
    • A morphological analysis component for analyzing unknown words that may be inflected or derived forms of words that are in the dictionary and for guessing grammatical roles of unknown words
    • A knowledge base of semantic relationships among words and concepts that is used to judge the relationships among complex concepts
    • A conceptual classifier that takes conceptual descriptions and assimilates them into a taxonomy in such a way that they are directly linked to the most specific concepts that subsume them and to the most general concepts that they in turn subsume
    • A browser for viewing and navigating within a conceptual taxonomy

    Accomplishments

    We have implemented a second generation of the intelligent retrieval system algorithm and begun conducting experiments using this system. We have achieved a significant improvement in success rate over traditional retrieval systems for finding answers to short, specific questions.

    In addition, we have constructed a persistent version of the conceptual classifier, substantially extended our lexicon and morphological rules, and made substantial headway on a grammar for concept extraction.

    Recently, we have been able to construct conceptual indexes for the complete UNIX man pages collection and for the SunExpress®on-line catalog database. Experiments in tuning and evaluation of both of these efforts are in progress.

    We acquired the latest version of Wordnet from Princeton University and integrated it with an upper-level ontology from the Information Sciences Institute, University of Southern California.

    We are using Brown University's Text Corpus and Princeton University's Wordnet to develop technology for automatically choosing senses for ambiguous words as a function of their context.

    We have interacted with a number of Sun internal groups regarding potential applications of our technology and Sun's directions in information technology.

    References

    Publications
    "Beyond Ignorance-Based Systems," W. A. Woods, International Conference on Principles of Knowledge Representation and Reasoning, Bonn Germany, May 24-27, 1994, SMLI 94-0193.

    "How Do Symbols and Networks Fit Together: A Report from the AAAI Workshop on Integrating Neural and Symbolic Processes," R. Sun, L.A Bookman, AI Magazine, Volume 14 Number 2, Summer 1993, SMLI 92-0278.


    Fiscal 1994 Project Portfolio Report





    PrimaVera/Assertion Definition Language

    Alberto Savoia, Principal Investigator
    alberto.savoia@Eng.Sun.COM

    Overall Objective

    To research and prototype technology and tools to improve software quality, performance, productivity and ease-of-use.

    PrimaVera

    Objective for FY94

    To transfer PrimaVera's basic technology to the rest of the industry through the Assertion Definition Language (ADL) project.

    Description

    The introduction of formal methods in the software development process will greatly improve software quality and productivity. Formal methods are also the basis for automation, which can lead to even greater improvements in quality and productivity.

    Before our vision can be implemented we must be able to answer affirmatively the following research questions:

    1. Can formal languages and methods be simplified to the point that the average engineer can take advantage of them?
    2. Do formal specifications lead to better and/or faster design and implementation?
    3. Can we develop an automated test generation technology, based on formal specifications, which is more efficient than today's predominantly manual test generation?
    The PrimaVera group was chosen by a committee (driven by X/Open(TM) and partially supported by MITI), to enter into a research contract to further develop our technology and turn it into an industry standard called ADL. The ADL project and the PrimaVera project share a lot of common goals, and for the first three quarters of FY94 they worked together on the design and prototype development of a specification language and an automated test generator based on PrimaVera technology. In the fourth quarter, the PrimaVera group engaged in more research to extend ADL and to develop the high-level design for three additional test generators. We are trying to address the following:
    • Can an effective random test generator, one which requires minimal user directives, be built on the ADL architecture?
    • How can interface specifications, written assuming a single thread of control, be used to test the interface's behavior in a multi-threaded environment?
    • How can our current specification language be extended to specify the behavior of interacting operations?

    Accomplishments

    The transfer of PrimaVera technology to the ADL project was extremely successful. Thanks to the contribution of PrimaVera researchers, ADL was able to meet extremely aggressive deadlines, surpassing the most optimistic expectations of our customers in terms of features and quality.

    In the process of designing the random test generator, Jos Marlowe hit upon the very interesting concept of pragmatics and their application to the PrimaVera specification and testing model, and to this generator. In the true spirit of research, we shifted our focus from solving the random test generator problem to coming up with a much more general solution.


    ADL

    Objectives for FY94

    To design and develop ADL and deliver version 0.3 of the ADL Translator (ADLT).

    Description

    The PrimaVera group was chosen by a committee (driven by X/Open(TM) and partially supported by MITI), to enter into a research contract to further develop our technology and turn it into an industry standard called ADL. In FY94 ADL researchers collaborated with PrimaVera researchers to export PrimaVera technology to the ADL project.

    Accomplishments

    The ADL project met or exceeded all contract requirements, delivering all designs, documents and implementations on or ahead of schedule and surpassing our expectations in every respect.

    The following is a partial list of deliverables produced by the ADL team:

    • ADLT Design Specification
    • ADL Language Reference Manual
    • ADL User's Guide
    • ADL Programmer's Guide
    • ADLT Version 0.1, 0.2 and 0.3

    References

    Publications
    "Specifying and Testing Software Components Using ADL," S. Sankar, R. Hayes, X/Open, Japan 1993, SMLI 93-0344.

    "ADL--An Interface Definition Language for Specifying and Testing Software," S. Sankar, R. Hayes, X/Open Workshop 1993, SMLI 93-0345.

    "Specifying and Testing Software Components Using ADL," S. Sankar, R. Hayes, SMLI TR-94-23.


    Fiscal 1994 Project Portfolio Report





    Seeking

    Peter Norvig, Principal Investigator
    peter.norvig@East.Sun.COM

    Overall Objective

    To develop caching and other strategies to make high-volume information delivery scale gracefully in the presence of storage and transmission constraints.

    Objective for FY94

    To deal with the problem of information delivery at the enterprise level. This means two things:
    1. Managing network resources so that files are cached near the users who want them, and the bandwidth of available connections is used wisely.
    2. Managing the user's access to information so that a user can make a query without having to know where the answer will be found.

    Description

    To build a federation of HyperText Transport Protocol (http) servers that will cache files locally to lessen the strain on the network presented by the popular Mosaic browser. Once the caching servers are in place we can analyze statistics gathered by them and do a series of experiments, such as:
    • Sharing cache information between machines that are connected by a high- speed connection.
    • Invalidating caches of neighboring machines by proactively sending a message.
    • Supporting a query interface whereby the caching servers will communicate among themselves to see what servers may have an answer to the query.

    Accomplishments

    • Took an existing public-domain http server, made it work properly with the Sun firewall, and repackaged it for easy deployment within Sun. This quickly became the standard server throughout the Sun Wide Area Network (SWAN).
    • Took an existing public-domain http server with caching and proxy capabilities, extended its capabilities, and instrumented it to keep statistics. This too has been packaged for easy installation and is being picked up throughout the SWAN.
    • Established an SML East http caching server for organizing local information and experimenting with new server features. It is has been in everyday use since March 1994.
    • Produced a demo for SunExpress where we provided a searchable set of pages for their on-line catalog. They were very impressed and have assigned people to work on a more polished version. We are serving a consultant role in this project.
    • Helped organize http pages for SML on both coasts, and kept in touch with the major players in the Sun's other operating companies, through mailing lists and by private conversations.
    • Built two navigation companion graphical interfaces that try to show the user what the space of documents is like. We have shifted away from this focus, partly because we believe that third parties will be coming out with such products shortly.

    Fiscal 1994 Project Portfolio Report





    Self

    Randy Smith and Dave Ungar, Principal Investigators
    randall.smith@Eng.Sun.COM
    david.ungar@Eng.Sun.COM

    Overall Objective

    To improve programmer productivity by creating a language and programming environment based entirely on simple objects.

    Objective for FY94

    To add support for the less sophisticated programmer, so that Self can address the needs of a very wide range of users.

    Description

    Users will be drawn to Self by an unusually engaging, direct-manipulation graphical interface. They will find Self's simple semantics easy to learn, will be gratified by Self's immediate response to programming changes, and will find it easy to write short programs by assembling prefabricated parts in the interface. Self will be a high-performance, object-oriented programming language and environment that combines simplicity with power. As users grow in ambition and sophistication, they will discover more components available for reuse. All components, having been built in Self, will be easy to customize. Users will smoothly incorporate software written in other languages into their Self objects, and they will build moderately large applications that do not suffer from performance problems.

    Accomplishments

    We have concentrated on giving Self a new user interface, bringing the implementation up to industrial strength, and providing better tools for programming in Self. Our particular new targets have been to add direct manipulation construction like that in many scripting environments, and to start investigating Self's use for education about object-oriented concepts.
    • The public release (Self 3.0) includes an animated, interactive tutorial on Self. This was put through a battery of user tests and fine tuned. The tutorial will be modified and used in a two-day class at the University of Washington. We have started discussions which may lead to Self's being used for object- oriented programming education in several other universities.
    • Could Self be a useful means for browsing or even publishing in the Distributed Objects Everywhere (DOE) world? To investigate, three members of the group attended an early developers class for DOE. They then developed the ability to parse Interface Definition Language (IDL) files from within Self, and successfully connected to DOE.
    • A survey of our Self 3.0 users was designed and issued in a preliminary and final passes. Results of the preliminary survey convinced us that we would get reasonable response, and that the survey was essentially comprehensible. Survey questions center around the users' success at File Transport Protocol (ftp) and installation, their experience with the tutorial and programming environment, as well as their opinions on some of the technical issues facing Self's further development.
    • User studies were carried out with eight subjects using our first user interface. The intent of the study was to see how concreteness and animation of objects, such as that employed in the prototype Self user interface, affect users' ability to understand objects and their relationships, and how they affect users' satisfaction in using the interface.
    • Work in the new user interface continues at high speed. We have built facilities to do automatic layout of Graphical User Interface (GUI) widgets by direct manipulation. We developed programming tools including a text editor that can support arbitrary graphical objects mixed in-line with text, and a generalized outliner that can be used for viewing and editing objects. Any message a Self object understands can be made into a button, so construction of conventional GUI interfaces from arbitrary Self objects is very fast.

    References

    Publications and Tutorials
    "Self: The Power of Simplicity," D. Ungar, R. Smith, SMLI TR-94-30.

    "Mango: A Parser Generator for Self," O. Agesen, SMLI TR-94-27.

    "Adaptive Optimization for Self: Reconciling High Performance with Exploratory Programming," U. Hoelzle, SMLI 94-0358.

    "Self: The Next Generation," M. Wolczko, J. Maloney, SMLI 94-0177.

    "Self: The Language and Its Environment," M. Wolczko, SMLI 94-0230.

    "A Third-Generation Self Implementation: Reconciling Responsiveness with Performance," U. Hoelzle, D. Ungar, submitted to OOPSLA'94, October 1994, SMLI 94-0247.

    "Programming in Self," M. Wolczko, J. Maloney, OOPSLA'94, October 23, 1994, SMLI 94-0320.

    "Constraint Based Type Inference and Parametric Polymorphism," O. Agesen, International Static Analysis Symposium 1994, September 28-30, 1994, SMLI 94-0232.

    "Self: The Next Generation," M. Wolczko, University of Manchester, Manchester England, September 12, 1994, SMLI 94-0330.

    "Self: The Next Generation," M. Wolczko, European Smalltalk Users' Group Summer School, Cork Ireland, September 8, 1994, SMLI 94-0329.

    "Self: Pure, Plastic Programming with Performance," R. Smith, D. Ungar, Xerox PARC Palo Alto CA, March 24, 1994, SMLI 94-0304.

    "The Self Language and Its Implementation," L. Bak, Aarhus University Denmark, March 11, 1994, SMLI 94-0306.

    "The Self Project at SMLI," L. Bak, CCI Europe, Aarhus Denmark, March 9, 1994, SMLI 94-0305.

    "Self: A Plastic Medium for Programming," D. Ungar, ICSI, UC Berkeley, January 1994, SMLI 94-0303.

    "The Self 3.0 Programmer's Reference Manual," O. Agesen, L. Bak, C. Chambers, U. Hoelzle, J. Maloney, R. Smith, D. Ungar, M. Wolczko, SMLI 94-0153.

    Self Demonstration, M. Wolczko, University of Manchester, Manchester England, December 21, 1993, SMLI 94-0307.

    "Animation: From Cartoons to the User Interface," B. Chang, D. Ungar, UIST'93, November 3, 1993, SMLI 94-0214.

    "Directly Experiencing Objects," B. Chang, D. Ungar, R. Smith, J. Maloney, OOPSLA'93, October 1, 1993, SMLI 94-0299.

    "Self: Interacting with Objects," D. Ungar, Bell Labs, Holmdel NJ, October 1993, SMLI 94-0301.

    "Self: Interacting with Objects," D. Ungar, Bell Labs, Murray Hill NJ, October 1993, SMLI 94-0302.

    "Programming with Concrete Objects," B. Chang, D. Ungar, R. Smith, OOPSLA'93, September 29-30, 1993, SMLI 94-0300.

    "Hardware Support for Object-Oriented Systems," M. Wolczko, OOPLSA'93, Washington DC, September 26, 1993, SMLI 94-0315.

    "Adding Garbage Collection to C++ Will Not Solve the Real Problem," D. Ungar, OOPSLA'93, Workshop on Garbage Collection, SMLI 94-0308.

    "Type Inference of Self," O. Agesen, J. Palsberg, M. Schwarzbach, ECOOP'93, SMLI 94-0298.

    "Directly Experiencing Objects," B. Chang, D. Unger, OOPSLA'93 Workshop on Visual Object-Oriented Programming, SMLI 94-0322.

    "Fast Write Barrier for Generational Garbage Collection," U. Hoelzle, OOPSLA'93, SMLI 94-0352.

    "Integrating Independently-Developed Components in Objects," U. Hoelzle, ECOOP'93, SMLI 94-0353.


    Fiscal 1994 Project Portfolio Report





    Speech Applications

    Nicole Yankelovich and Paul Martin, Principal Investigators
    nicole.yankelovich@East.Sun.COM
    paul.martin@East.Sun.COM

    Overall Objective

    To build a robust, effective environment for speech applications and to help define platform-level requirements needed to support sophisticated speech interaction.

    Objective for FY94

    To explore both underlying architectural issues and user-level interaction techniques of speech applications, including the development of a set of tools to support others in the creation of speech applications.

    Description

    Speech technology can benefit users whose hands and/or eyes are busy, users who suffer from certain physical disabilities, or users who are away from their computer. Our initial focus has been on this last group of users. The prototype speech applications we have developed are all aimed at allowing users who are away from their desks, at home, or on the road to call up their Sun workstation and verbally interact with several popular DeskSet applications.

    To construct these speech applications, we have created a prototype speech application framework called SpeechActs, in which multiple speech-driven applications can be integrated. This framework supports multiple speech recognizers and synthesizers and includes a natural language component and a unified grammar language.

    Accomplishments

    The most significant accomplishment this year was the construction of the prototype SpeechActs Framework. The Framework currently supports both the Hark(TM) recognizer from BBN and the Dagger(TM) recognizer from Texas Instruments. It also supports the TruVoice(TM) synthesizer from Centigram. To effectively integrate this speech technology, we added a blackboard to store shared data; an audio server to handle headphone, speaker box, and telephone access; a text-to-speech server to provide generic interfaces for both C and Lisp processes; and a pipe protocol to rationalize Lisp-to-C process communication.

    We also created a Unified Grammar compiler and designed a corresponding specification language as part of the SpeechActs Framework. The language is used for specifying both speech recognizer and natural language grammars in a recognizer-independent way. The language formalism is an augmented pattern- matcher, using context-free, extended Backus-Naur form (BNF). The augmentations include access to features specified in a lexicon and provide for Pascal-like constraint specifications and result structure composition. The Unified Grammar compiler guarantees that the speech recognition and natural language grammars are synchronized. It compiles all constraints for the natural language processor and most of the constraints for the speech recognizer.

    To test out the Framework and Unified Grammar compiler, we created five speech applications. A small login application, written in Lisp, allows users to telephone a Sun workstation, identify themselves, enter a password, and choose an application. To simplify the process of logging in, we take advantage of the telephone's caller-ID feature to try to pre-identify the user. Once logged in, the user may opt for the mail, calendar, weather or stock quotes' application. Mail and calendar are implemented as C wrappers to the Mail Tool and Calendar Manager APIs so that users are able to access their current mail spool and calendar data files. Once they are interacting with mail or calendar, users can mark any information that has been read aloud and ask to have that marked information faxed to them at a pre-determined location (home, work, etc.) or at a number entered using the telephone keypad. Weather and stock quotes both provide speech access to on-line data feeds. Users can check the National Weather Service forecasts around the United States or can check the current price of technology-related stocks.

    Designing and experimenting with these applications has led us to identify a number of important Speech User Interface (SUI) principles. The most important of these involves basing dialog design on people's natural conversational patterns rather than attempting to translate graphical user interfaces directly into speech user interfaces. The challenge is to design a dialog that lets a user carry on a natural conversation without exceeding the restrictions of the system's lexicon or grammar.

    References

    Publications
    "SpeechActs: A Framework for Building Speech Applications," N. Yankelovich, E. Baatz, AVIOS `94 Conference Proceedings, San Jose, CA, September 20-23, 1994, SMLI 94-0243.

    "SpeechActs: A Testbed for Continuous Speech Applications," P. Martin, A. Kehler, Submitted to AAAI `94 Workshop on the Integration of Natural Language and Speech Processing, Seattle, WA, August 1-2, 1994, SMLI 94-0032.

    "Talking vs. Taking: Speech Access to Remote Computers," N. Yankelovich, CHI '94 Adjunct Proceedings, 1994 ACM Conference on Human Factors in Computing Systems, Boston MA, April 24-28, 1994, SMLI 94-0013.

    "SpeechActs and the Design of Speech Interfaces," N. Yankelovich, CHI'94 Workshop on The Future of Speech and Audio in the Interface, 1994 ACM Conference on Human Factors in Computing Systems, Boston MA, April 24-28, 1994, SMLI 94-0046.


    Fiscal 1994 Project Portfolio Report





    Time-Critical Media (TCM)

    Duane Northcutt, Principal Investigator
    duane.northcutt@Eng.Sun.COM

    Overall Objective

    To develop and apply the technology required to better support the needs of an application domain that can benefit from Sun's strengths in machine architecture, networking and system software--i.e., applications that deal with continuous, time-critical media.

    Objective for FY94

    To engage in the exploration of the opportunities offered by the application of money, market institutions, and general micro-economic principles to the problems of system-level resource management, and to the management of higher-level (including human) assets in distributed systems.

    Description

    A key assumption of this work is that the workstation is evolving from primarily a compute device into a communications device, and as such, it must lend greater support to a new class of applications, i.e., ones whose value to the user varies as a function of time. As the move towards right-sizing continues, it is becoming increasingly important to provide more effective management of system resources in order to deliver the greatest degree of value possible to the end users. Furthermore, the increase in resources provided by advances in base technology is not providing a solution to this problem--already visible are the emerging effects of the Agoric Paradox, i.e., the increased availability of resources increases the need for their management in an automatic and principled manner.

    The technology developed by this project, when applied to Sun platforms, should result in increased system effectiveness when executing programs with significant temporal components (e.g., any interactive application). Users will receive a higher degree of perceived value from their systems as a result of the systems' awareness of application timeliness needs, and their active efforts to meet application-defined time constraints.

    The two key notions introduced into the workstation by this effort are (global) time and value. The desired improvements in system performance are achieved through the introduction of notions of time-varying global value to the management of such resources as (high-speed) networks, processing elements, and storage.

    Both resource scheduling theory and principles of micro-economics are being applied to the task of optimizing the value delivered by the resources that comprise large scale distributed systems. By introducing the notion of time, system resource management decisions can be made so that the allocation of resources ensures that computations obtain their needed resources at the most effective points in time. By introducing the notion of price as a compact, modular means of expressing global value, contention for shared system resources can be resolved in a manner that maximizes the value that the system delivers to its users. Associating prices with request for resources also provides the basis for quantifying the overall importance of a given resource (as separate from the utilization of the resource).

    In addition to enabling more efficient resource management by ensuring that the most important activities receive the available resources, the introduction of prices allows various experiments to be performed in the use of user level (dis) incentives to (dis) encourage specific behavior modes.

    In order to address the end-to-end implications of providing enhanced support for time-critical media applications, work must be done at all levels of the system--from the development of representative applications, to the creation of the appropriate new programming frameworks and abstractions, through the modification and extension of operating system and network facilities, down to the introduction of necessary platform level features of the workstation I/O architecture.

    Accomplishments

    This year's work was marked by significant results in the following key areas:
    • We provided modifications to product software groups to enhance support for multimedia applications and to offer user-visible improvements in system performance across a wide range of different application areas
    • We explored the use of micro-economic principles in the management of resources (from the system to the user level) in order to deliver a higher degree of value to end users
    • We expanded the project's trial ATM network to become the group's primary network interface, and assumed the role as a center of practical experience in the area of ATM networking for Sun
    • We developed time-critical-media based applications, which are representative of the emerging class of new applications and fully exploit the capabilities of Sun's new system hardware
    • We initiated and supported a set of experiments in high-performance I/O architecture
    • We created artifacts that serve as both necessary building-blocks for the project's research and prototype products--including the Sun Tuner product, currently available through SunExpress
    Enhancements to Existing Sun Products
    A number of enhancements were made this year to the existing Sun product line as spin-offs of research performed by the group. In particular, a number of modifications were made to the Solaris operating system that provided significant improvements to user level performance. A number of modifications suggested by experiments the group has performed in the area of processor scheduling have been incorporated into the 2.3 and 2.4 releases of Solaris. These modifications serve to enhance system performance in a number of ways, including: providing a greater degress of user level control over system behavior; improving the ability of the system to scale larger numbers of active processes; and presenting the users with additional information needed for performance tuning. In addition, enhancements were made to products in the user interface and compiler area (i.e., csh and the C compiler).
    Initial Experiments with Agoric System
    With the help of a group of engineers and economists with special expertise in the area of computational markets (i.e., Agoric's Inc.), an investigation was begun into the application of micro-economic principles to the management of resources in distributed systems.

    A demonstration of the application of Agoric System principles was a key part of the Sun exhibit at InterOp/Networld'94 in Las Vegas, where the price of using a local ATM network was set by the instantaneous demand for bandwidth as defined by a dynamic auction process. In addition, a distributed banking facility was created to handle the transactions generated by a video-on-demand application that was capable of operating at a range of different quality levels, based on the amount of bandwidth available at a range of different prices.Sun Interactive is using this demo as part of its sales pitch to customers.

    Exploration and Deployment of Operational ATM Networks
    This fiscal year saw the expansion of the project's small scale, exploratory ATM network into a larger scale enterprise supporting the day-to-day operational needs of the entire group.

    Through the use of Sun's initial prototype host interface SAHI-1 Bus boards and switches from both Synoptics and Fore Systems, the project has been running on an OC-3 (155Mbps optical) network with over thirty hosts since early CY94.

    A number of test and demonstration applications have been developed by the group to exercise the ATM network, including a high-performance network video application that is capable of delivering end-to-end (disk to display) performance in excess of 56Mbps, with standard user-mode processes at both the source and destination ends. This test program has been widely distributed and used both within and outside Sun.

    Work has also been underway to enable cooperative work with research partners at Stanford University and XeroxPARC via the Bay Area ATM trials--Bagnet and BMAN. Infrastructure and initial applications have been developed and initial experiments are beginning.

    Development of Representative Time-Critical Media Applications
    A suite of example applications have been developed by the TCM group to enable the exploration of the key research objectives of the project. In an effort to explore concepts of electronic commerce with SML, the TCM project created a framework known as the SML Interactive Services Network that provides a collection of new (ATM based) interactive audio and video applications. These initial applications are used to illustrate various aspects of computational markets and form the basis for wider experiments with network commerce within SML.
    Creation of Foundations for High-Performance I/O Experiments
    As a result of this project's work, it is believed that improvements in workstation I/O architectures are needed in order to meet the demands of many continuous media applications. To this end, a project (IOSIMM--working jointly with SMCC's Technology Development group) was established to explore the potential of achieving high-bandwidth and low-latency I/O connections by attaching I/O devices directly into the system's primary memory.

    A specially modified memory unit was developed for the SPARCstation 20 that permits direct access to physical memory. In addition, a video input/output converter board was constructed and the resulting system was demonstrated at SIGGRAPH'94--taking broadcast-quality (D1) video streams in, operating on them in real-time, and displaying them on a high-resolution (2Mpixel) monitor.

    References

    Publications
    "Transmitting Data Within Video Signals," J. D. Northcutt, SMLI 94-0051.

    "SVR4 UNIX Scheduler Unacceptable for Multimedia Applications," J. Nieh, J. Hanko, J. Northcutt, G. Wall, SMLI 93-0348.

    "Bus Bandwidth Management in a High Resolution Video Workstation," G. Wall, J. Hanko, J. Northcutt, Third International Workshop on Network and Operating System Support for Digital Audio and Video. Springer-Verlag, 1993. SMLI 92-0344.

    Patents--applications filed
    "Method and Apparatus for Bus Bandwidth Management," G. Wall, J. Northcutt, J. Hanko, filed November 29, 1993.

    "Method for Simulating the Parallel Processing of Video Data," J. Hanko, filed January 4, 1994.


    Fiscal 1994 Project Portfolio Report





    Vantage

    Jim Waldo, Principal Investigator
    jim.waldo@East.Sun.COM

    Overall Objective

    To explore, discover, and document techniques of programming which allow the construction of robust, reliable distributed programs that run in a large-scale network of heterogeneous machines. Vantage forms the middleware layer of the overall distributed computing program, exploring the basic interfaces that can be used by all programmers of distributed applications.

    Objective for FY94

    To define the scope of the project, determine the minimal requirements on all objects for the base system, and to develop interfaces and sample implementations for a distributed, object-based transaction system and a simple event registration/notification system.

    Description

    The project concentrated on the production of a set of interfaces (and sample implementations of those interfaces) that aid programmers in the construction of reliable, robust distributed applications. These interfaces are meant to aid in the construction of software that will run on large scale, enterprise-size networks of hundreds and thousands of machines.

    The first interface is meant to define the fundamental, base interface for all of the objects within the Vantage universe. The goal was to include in this interface as little as possible, since every operation included in this interface will need to be supported by all objects in the system.

    A second set of interfaces was developed to allow wrapping a set of object method invocations in a transaction, allowing traditional transaction guarantees that either all of the operations would take place or none of them would take place.

    A third set of interfaces was developed to allow objects to register interest in and receive notifications of the occurrence of events in other objects. This functionality attempts to give some of the power of callback functions in a distributed, object-oriented world without requiring the compromise of any of the basic design principles of such a system.

    Using these interfaces, the Vantage team investigated the use of various ways of using local objects to aid in both the reliability and robustness of a distributed system. The project looked at:

    • Replicated objects, in which the object being used would exist in multiple locations
    • Surrogate objects, in which a local object would be able to provide some of the services of the original object when the original is unavailable, but not others
    • Caches, in which a local object will reflect the state of the genuine object as of the time of the latest update
    • Copies, which are snapshots of the object at a particular point in time (the time that the copy was made) but which do not reflect subsequent changes in the object

    Accomplishments

    The team succeeded in developing an interface for the base Vantage object and a set of interfaces to support transactions, event interest registration, and event notification.

    The base object interface, which must be supported by all objects within the system, includes a single operation. This operation returns a pure name that can be used only for comparison with other pure names for object identity and for hashing.

    The interfaces that allow transactional semantics to be wrapped around a group of object method invocations is also surprisingly simple. A number of the issues that make traditional transaction interfaces difficult disappear in an object system where the participants in the transaction must take responsibility for the stability of their own persistent state. The interfaces allow those objects that are only accessed read-only to have a single-phase commit protocol; other objects have a two-phase commit. This set of interfaces has already been transferred to SunSoft.

    A set of interfaces that allow the identification of events that occur within an object, registration of interest in such events by another object, and the notification of the occurrence of those events has also been defined, along with a simple implementation of those interfaces. The interfaces allow the creation of a series of third-party filters on such event notifications, allowing a number of different delivery policies to be implemented in a way that is transparent from either the generator of events or consumer of notifications.

    The group also began to investigate the concept of a lease as a unifying notion in distributed systems. A lease can be thought of as a time-out with semantics. In addition to specifying some period of time that is known to the holder of the lease and the object granting the lease, the lease also specifies the consequences of the holder of the lease failing to renew it before the time period expires.

    In addition, the Vantage group produced and made publicly available Xvan. Xvan is an enhanced X Window System server that allows multiple physical screens to be treated as a single logical device. This allows windows to be moved from screen to screen, appear on multiple screens, and be larger than a single screen. The software, developed by Peter Jones as a summer intern project, was placed on the X Consortium ftp server, where it is freely available.

    References

    Publications
    "A Note on Distributed Computing," J. Waldo, G. Wyant, A. Wollrath, S. Kendall, SMLI TR-94-29.

    "Sharing Between Translation Units in C++ Program Databases," S. Kendall, G. Allin, to appear in Proceedings of the 6th USENIX C++ Technical Conference, SMLI 94-0064.

    "Distributed Object Programming in C++ and Modula-3," A. Wollrath, SMLI 94-0142.

    "Xvan: A True Multiple Screen X Server," P. C. Jones, SMLI 94-0002.



    webmaster@sunlabs.eng.sun.com
Would you recommend this Sun site to a friend or colleague?
Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2008 Sun Microsystems, Inc.