|
|
Fiscal 1994 Project Portfolio Report
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
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.
- 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.
Fiscal 1994 Project Portfolio Report
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:
- Reduced design cost and time through re-use of designs
- Lower power consumption because no energy is consumed with unnecessary switching.
- An easy upgrade path to take advantage of technology improvements
because different parts may run at different speeds
- 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
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
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
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
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
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
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:
- Can formal languages and methods be simplified to the point that the
average engineer can take advantage of them?
- Do formal specifications lead to better and/or faster design and
implementation?
- 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
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:
- Managing network resources so that files are cached near the users who
want them, and the bandwidth of available connections is used wisely.
- 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
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
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
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
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.
|