Roger S. Barga
Microsoft Research,
Redmond, Washington USA

I am currently a researcher in the Database Group at Microsoft Research, part of the Microsoft Corporation

My research interests include workflow processing, for both business and scientific applications, and database systems, in particular extending concurrency control, recovery and transaction processing to meet the requirements of advanced applications.  Other technical interests include machine learning and the application of adaptation and feedback in software systems.


Current Projects

Phoenix for Robust Applications:  The long term goal of the Phoenix project is to develop and apply recovery techniques that will enable application programs to survive system crashes and allow application programmers to deal effectively with application errors. The project relies fundamentally on exploiting and extending conventional database recovery techniques.

In one of our first project efforts, Phoenix/ODBC, we focused on providing persistent database sessions to client applications accross database server failures. In layman's terms, Phoenix/ODBC captures client interactions with the database and takes steps to ensure that volatile data on the server will not be lost during a failure. If a failure does occur, Phoenix/ODBC masks the failure from the application, and once the server has recovered, it automatically reconnects the client to the database and resumes normal processing. The application is not aware of the failure, and need take no special measure to deal with it. In our papers listed below we describe the design, implementation and performance of Phoenix/ODBC. In a most recent project, Phoenix/APP, our focus is on recoverable middle-tier applications.

The benefits of persistence, like those of a good butler,
are the greater for the fact that they are not immediately apparent.

Immortal DB: Transaction Time Database

The Immortal DB project began in the fall of 2002. The project aims to provide transaction time database support built into SQL Server, not layered on top. Transaction-time databases provide the infrastructure for saving and indexing all prior states of a database. Our intent is to demonstrate that we can support transaction time functionality in addition to snapshot functionality, and that we can do this with good performance. Foundational work in this area describing the indexing of versions, and on choosing timestamps has already been done.

Our Immortal DB prototype currently supports “as of” transactions and snapshot transactions against both persistent versioned tables and snapshot enabled tables and mixes of the two.  The prototype provides time and key splitting so that the number of records and historical versions can grow.   The prototype does lazy, post commit timestamping.  It garbage collects the snapshot versions that are too old.  Database concurrency control and recovery are fully integrated with and use the Sql Server mechanisms.

Darwin: Agile Workflow Processing   This project began in the Spring of 2004 -- project description and objectives will be posted soon.


Recent Professional Activities

Journal of Web Services Research : editorial board
International Journal of Business Process and Management : editorial board
International Journal for Infonomics: editorial board
Sigmod DiSC: editorial board

VLDB 2006 Int'l Conference on Very Large Databases: program committee
ICDE 2006 Int'l Conference on Data Engineering: workshop chair
ICSOC 2005 Int'l Conference on Service Oriented Computing: area chair, middleware
Middleware 2005 program committee
IDEAS 2005,'04,'03,'02 Int'l Database Engineering and Applications Symposium: program committee
SIGMOD 2004 Int'l Conference on Management of Data: industrial chair
ICWS 2004 Int'l Conference on Web Services: industrial chair
ICWS 2004 Int'l Conference on Web Services: program committee
VLDB 2002 Int'l Conference on Very Large Databases: demonstrations chair
TES 2004 VLDB TES Workshop: program committee
SIGMOD 2002 Int'l Conference on Management of Data: demonstrations committee
ICDE 2002 Int'l Conference on Data Engineering: program committee
ICDCS 2001 Int'l Conference on Distributed Computing Systems: program committee vice chair
VLDB 2001 Int'l Conference on Very Large Databases: program committee
MOBIDE 2001 Workshop on Mobile Database Engineering: program committee
ICDE 2000 Int'l Conference on Data Engineering: finance chair


Selected Publications


Microsoft Research
One Microsoft Way
Redmond, WA 98052 USA
Email barga@microsoft.com
Telephone 425-936-2064
Fax 425-936-7329