To improve our collective ability to solve the
world's problems, we must harness the immense promise and power of
technology.
- Douglas Engelbart
|
|
Delegated
Computing: Orchestrating Distributed Computations
The vision guiding
my research conceptualizes a world where a population of networked
programs and devices, each providing services and data, cooperate
and compete to perform tasks for each other and for human users. One
challenge is how to encourage flexible cooperation in an environment
where components offering new, perhaps unanticipated services can
join in at any time. Computational elements must be able to express
needs, tasks, and services at various levels of abstraction without
hardcoding explicitly how the task should be accomplished or by
whom. The decisions regarding which components will participate on a
task are themselves arrived at in a cooperative, distributed
fashion. This is the essence of delegated computing. Recent
work focuses on applying these principles to business-to-business
integration and supply chain contexts, enabling dynamic communities
of enterprises and trading partners arranged in flexible networks to
exchange information, products and services.
Delegated
Computing: Helping People Work Better
If we assume that
such a computational cloud exists, we can ask how human users will
interact with the services contained inside. In today's computing
world, users typically work with a single application or website at
a time, and are responsible for explicitly driving any sharing of
data or task by the applications (e.g., by cut and paste). In a
delegated view of human-computer interaction, users describe their
objectives (at an appropriate level of detail) and the entire
community of component services assembles itself to handle the
request, without the user needing to know which participants are
involved. As agents capable of performing new services join the
party, what the user can say and do expands accordingly.
In terms of
human-computer interaction styles, we are pursuing forms of
delegated communication that meet the following criteria: Users
should be able to interact with an agent community in whatever way
is the most productive and natural to them; this may include
standard GUI devices (e.g., mouse, scroll bars), natural language,
speech, drawing, pointing, etc. They should be able to access and
task the agents from anywhere: their desktop, a telephone, their
phone and their desktop together, any web browser, and
through physical interactions with the real world. Agent
interactions should adapt based on the set of input and output
modalities the user has available. In addition, multiple users
should be able to work together on a common task, directing groups
of software components. As humans and agents collaborate, some
agents should be capable of filling various social roles in the
interaction: subordinate, colleague, advisor; most components remain
invisible in the interaction process.
Topics
of Exploration
In pursuit of this
overarching vision, my research interests have come to include (and
combine):
-
Technologies
for extended enterprise management (data visibility,
comprehension, and response)
-
Distributed
Computing
-
Web Services
-
Software Agents
-
Multimodal
Interfaces
-
Natural
Language Processing
-
Spoken Language
Dialog
-
Adaptive
Interfaces (for varying classes of abilities and disabilities)
-
Collaborative (CSCW)
Systems
-
Knowledge
Management
-
Video and Image
Analysis and Processing
-
Expert Systems
-
Ontologies
-
Distributed
Robotics
-
Virtual and
Augmented Realities
|