Priya Narasimhan
Associate Professor
Home/Contact
Brief Biography
Research
Overview
Fault Tolerance
Outages
Interceptors
Teaching
Publications
Professional Service
Honors/Awards
Tech Writing
|
|
Research
My research interests lie in the following areas: dependable systems,
embedded systems, mobile systems, and sensor networks.
CURRENT RESEARCH PROJECTS
- Fingerpointing: Problem
Diagnosis in Distributed Systems
This research project focuses on diagnosing the root cause of
a variety of problems (performance problems, configuration faults,
crash failures, correlated failures, etc.) in distributed systems.
This involves a synergistic combination of runtime instrumentation,
offline and online analysis through machine-learning and time-series
analysis, as well as proactive recovery mechanisms to preemptively
avert the failure.
- Survivable Distributed
Systems -- Vajra, Elephant, Thema
The Elephant work focuses on live updates of intrusion detection systems,
such as Snort. The Thema work focuses on Byzantine-fault tolerance for
multi-tier distributed applications based on Web Services. Vajra focuses
on benchmarking the survivability of various distributed infrastructures
(such as Castro-Liskov BFT, Immune, Fleet, etc.) through fault-injection
of benign and malicious failures.
- MEAD: Adaptive, Dependable Middleware
Enhances distributed middleware applications
with dependability, including:
1) transparent, yet reconfigurable,
fault tolerance at runtime,
2) configuration advice to tailor an application's fault-tolerance
to its reliability and resource needs,
3) proactive fault tolerance based
on failure prediction,
4) resource-aware system adaptation to failures,
and
5) enabling distributed, fault-tolerant applications to live realistically with
nondeterminism.
- Middleware for
Embedded Systems and Sensor Networks
This research project focuses on middleware for resource-constrained embedded sensor
networks. The purpose of the middleware is to allow sensor applications
to be programmed all on one single node, and then for the applications
to be automatically relocatable/distributable, without requiring changes
to the application. This allows for the rapid prototyping of distributed
sensor applications in the context of Sensor Andrew, a new initiative
within Carnegie Mellon aiming for a campus-wide living sensor testbed.
- Trinetra: Mobile Assistive
Technologies
This project aims to provide blind people with a greater degree of
independence in their daily activies. The overall objective is to
improve the quality of life for the blind by harnessing the collective
capability of diverse networked mobile and embedded devices to support grocery
shopping, transportation, navigation, etc.
- Football Research & Engineering
This project aims to enhance the viewing, refereeing and broadcasting experience
of (American) football games through the strategic use of embedded systems, sensors,
mobile devices, network protocols and computer vision. This project conveniently taps into two of
my passions, football and embedded systems.
USEFUL RESOURCES
PREVIOUS RESEARCH
- Eternal: This was the predecessor to the MEAD system that
we are currently developing. MEAD was, in fact, born out of the lessons
that we learned in building Eternal. Eternal is a transparent infrastructure that I developed to
provide strong fault tolerance to CORBA applications, without
requiring any modification to the application, to the operating
system, or to the ORB itself. Eternal provides support for active and
passive replication, overcomes the non-determinism inherent in
multithreaded CORBA applications, and provides for gateways to support
external clients. The key contributions of this research work are the
support for strong replica consistency, the sanitization of
non-deterministic multithreading, and most importantly, the
transparency of the fault tolerance. This transparency frees CORBA
application programmers from worrying about the difficult issues of
reliability, and allows them to focus on their area of expertise - the
application. This also leads to considerable savings in terms of
development time because, as soon as the application logic is ready,
fault tolerance is available to be deployed "out-of-the-box" at
run-time. Because it does not require any modification of the ORB, the
current implementation of the Eternal system provided
transparent fault tolerance
to the following implementations of CORBA: VisiBroker (Borland), Orbix
(Iona), CORBAplus (Expersoft), TAO (Washington University, St. Louis),
e*ORB (Vertel), omniORB2 (AT & T Laboratories, UK), ORBacus
(Object-Oriented Concepts) and ILU (Xerox PARC). The understanding and
insights gained from this research have impacted industrial practices
through significant contributions to the Fault-Tolerant
CORBA Specification, formally adopted by the CORBA standards body,
the Object Management Group.
- Interceptors: Operating-system "hooks" that allow the
transparent insertion of code, at run-time, to modify the application
behavior. Software interceptors can provide various enhancements to
applications, without requiring the application to be re-linked,
re-compiled, or re-written. Some of the possible enhancements include
security, debugging, profiling, etc. By developing an interceptor to
"attach" a reliable infrastructure to CORBA applications, I developed
the interception approach to providing fault tolerance for CORBA.
- Immune: Collaborative research effort with Prof. Kim
P. Kihlstrom that led to the development of a survivable
infrastructure for CORBA applications. Immune enables CORBA
applications to continue operating, despite faults that occur within
the system, as well as intrusions or malicious/Byzantine attacks that
damage the underlying system. Majority voting on the traffic between
replicated CORBA objects, value fault detection, and secure multicast
protocols (which employ message digests and digital signatures) are
the cornerstones of the Immune System.
|