CV (PDF) - résumé - papers PGP public key |
My doctoral work (with Prof. Krithi Ramamritham) attempts to improve the conceptual tools to specify and reason about recovery, an essential but somewhat neglected component of transactional systems. The underlying thesis is that, in spite of superficial differences, a broad range of systems and application domains share similar recovery needs that are met by combining a small set of essential ingredients. My work characterizes those ingredients and uses them to expose the essential and incidental similarities and differences in recovery support across domains (e.g., databases, mobile systems, e-commerce). A good description of the broader context and our approach is the current report to NSF, which funded our work with grant IRI-9619588; the following focuses on my contributions. See also my publications and technical reports.
Concurrency control and recovery are essential components of systems that support transactional semantics. Traditionally a domain of database transaction management systems, nowadays many application areas (databases, workflows, e-commerce, mobile computing) require support for correct and efficient recovery from failures even in the presence of complex concurrent computation necessary for high availability. As new applications become critical to organizations, individuals, and the economy at large, they require the reliability and availability that transactional systems offer, expanding the domain of application for recovery. This adds electrcnic commerce, workflows, mobile databases, etc., to classical examples like airline reservation systems to the list of applications that need recovery to be viable. This is why recovery remains an important area both for researchers and practitioners.
While substantial research efforts into concurrency control have yielded a rich body of theory and practice, the more limited study of recovery has yielded mostly implementation-specific knowledge. There exist both high-level descriptions of recovery requirements (such as Failure Atomicity), and an important body of (low-level) knowledge on how to implement recovery; however, a unified model of recovery that explains and connects both levels is lacking. Thus explaining and specifying the properties of recovery and its interactions with other system components must be done in terms of specific implementations, at a low algorithmic and architectural level. Besides making design and implementation costly, this situation hampers the design of recovery in the context of novel applications, whose semantics and implementation tradeoffs differ from those of traditional transaction models. I believe that there is a need for a deeper understanding of the essentials, to better enable specifying and reasoning about recovery; my work is an attempt to address these issues. For more on this, see my papers page.
At Xerox PARC I participated in the design of a system for indexing and manipulating multimedia streams. I helped design a rich but simple multimedia model to support collaboration among intellectual workers. At the Distributed Object Computing Group (GTE Labs, now Verizon Labs) I investigated how to define and implement extended transactions on distributed object systems. Here at UMass I worked on implementing a real-time programming language based on a concurrent language. I investigated the problems of integrating concurrency in object-oriented programming languages for my graduation thesis (PDF, PS) at Eslai (Argentina).
Picturesmixed and by place many pictures: Photo.net |
Texts & Ideasstack and webserver. on grad school, the thesis messages, on Internet myths |
Life in the Valley |
Cris, 2002.01.30