Executive Summary
This document describes the structure and functions of the
Laboratory for Distributed Object Computing in the Electrical and Computer Engineering
department at the University of
California, Irvine. The primary goal of this lab is to support
advanced R&D on
distributed object computing middleware using an open source software development
model. This model allows academics, developers, and end-users to
participate in leading-edge R&D projects driven by the free market of
ideas, requirements, and resources.
Motivation for the Laboratory on Distributed Object
Computing
The emergence of the Internet is the most important technological
event in the last decade of the 20th century. It is becoming
pervasive and will influence research, business, and personal life
well into the 21st century. Its growth is phenomenal and it is
stretching its original design goals. It must be the next ``trade
route,'' the next ``marketplace,'' the next ``information pipeline.''
The Next
Generation Internet (NGI) must have a whole new set of
characteristics and powerful features. Most importantly, it should be
based on standard, completely open middleware.
Middleware is software that users do not see, but it is key to
openness and continued innovation through competition. Its role is to
broker the communication between consumers and suppliers. Middleware
masks differences between OS platforms and networks. For instance,
clients can request a service without knowing where or how that
service is implemented. This flexibility will become even more
important because the NGI architecture is based on the fundamental
premise that unlike today's computer-centric network, tomorrow's
Internet will be a heterogeneous mix of cooperative, intelligent
devices located in the home, at the factory, in public places, and at
the office. These network devices will not just be PCs, they will
increasingly be intelligent home appliances and sensors, personal communication devices,
entertainment centers, and other novel forms of electronics.
For the Internet to become pervasive, access devices must become very
cheap, their use must be intuitive, and distributed computing
middleware must do most of the ``thinking'' for the users. Thus,
today's network architectures, where applications rely largely on
local operating system services, must evolve. This evolution will
turn the current computing model inside out -- clients will become
very thin, the intelligence will reside in the network, and most
applications will be network-centric. Resources can then be shared,
to reduce their cost and facilitate maintenance and updates.
Intelligent middleware is the key enabling technology to realize the
NGI vision. An open standard by the OMG called CORBA is
rapidly gaining mindshare and marketshare in both the research and
commercial domains. Unfortunately, first-generation CORBA ORBs
did not provide adequate quality of service (QoS) for
performance-sensitive NGI applications, such as teleconferencing and
Internet telephony, because requests were treated with ``best effort''
response. All NGI applications are not created equal, however. Some
must run faster, more reliably and more consistently, e.g.,
in a predictable time context, than others. In a heterogeneous
environment, systems and networks can provide better QoS by
prioritizing services. As network providers broaden their bandwidth
and service offerings, flexibility becomes increasingly more
important, since pricing must be sensitive to both performance and
``class of service'' if it is to reach the widest possible market.
The DOC Group's Contribution to R&D on Distributed Object Computing
Since 1995, the DARPA Quorum
program, the National Science
Foundation (NSF), and many major industrial
sponsors have funded the Distributed
Object Computing (DOC) group to conduct leading-edge software
research on the characteristics and features required for the NGI.
The primary contributions of
this research have been two key middleware software packages that can
support QoS for the NGI -- ACE and TAO:
- The ADAPTIVE
Communication Environment (ACE) is a freely
available open source
object-oriented (OO) framework that implements many core design patterns for concurrent communication
software. ACE provides a rich set of reusable C++ wrappers and
framework components that perform common communication software tasks
across a broad range of OS
platforms. The communication software tasks provided by ACE
include event
demultiplexing and event handler dispatching, signal
handling, service
initialization, interprocess
communication, shared memory management, message
routing, dynamic
(re)configuration of distributed services, concurrent
execution and synchronization.
- ``The ACE ORB'' (TAO) is a CORBA-compliant Object Request Broker
(ORB) that addresses the QoS requirements of NGI applications and
provides many standard CORBA services. Like ACE, TAO is freely
available using the open source model. Moreover, it leverages ACE
components to communicate efficiently, predictably, and portably with
operating systems and network protocols on the application's behalf to
establish the necessary end-to-end QoS. Empirical performance
analysis indicates that TAO's second-generation architectural design
has yielded a high-performance, real-time ORB with highly
predictable response over a wide range of demanding environments. For
instance, TAO contains the first real-time ORB
endsystem that supports end-to-end QoS guarantees over high-speed ATM networks and embedded
system interconnects.
Our research on ACE and TAO is motivated by the recognition that
advances in communication middleware software can be achieved only by
simultaneously investigating techniques, patterns, and tools that (1)
simplify software development, (2) optimize system performance, and
(3) rigorously measure system behavior to pinpoint and alleviate
performance bottlenecks and sources of priority inversion and
non-determinism.
In addition to working closely with our research sponsors on ACE and TAO,
many other companies have deployed our
middleware in commercial projects and research labs around the world,
where it is used for a broad spectrum of systems ranging from
telecommunications, medical imaging, avionics, simulation, and
financial services. As a testament to our success in technology
transfer, a independent company, Riverace, has formed to provide
commercial support for ACE and a St. Louis company, OCI, has recently begun to provide
commercial support for TAO.
Structure, Funding, and Resources of the Distributed Object
Computing Lab
Much of the success of ACE and TAO projects
stems from the dedication of the members in the DOC group. This research group
includes the following members:
-->
The Road Ahead
We plan to the Laboratory for Distributed Object Computing it as a
vehicle to enhance our partnerships with various industrial sponsors
and other UCI research groups.
Back to Douglas
C. Schmidt's home page.