Professor Dave Bakken’s Personal Web Page Supplement

More Detailed Background

My current CV is online (.pdf, .html).

I’m a native of the Seattle area, born in 1961 in Burien, graduated from Monroe High School  in 1979.  I wanted to be an Army officer (Special Forces), so I went to the US Military Academy at West Point.  I “walked on” the Army Wrestling Team, but unfortunately suffered a chronic back injury, and in 1981 was summarily given a medical discharge.  I hitchhiked across the country to Pullman to pick up my hot rod from my brother, then returned there to Washington State University as a student 6 months later.  I finished in 1985 with BS degrees in Computer Science and Mathematics and a minor in Electrical Engineering.

After WSU I went to work for Boeing.  I worked there until 1988.  I worked in the Flight Simulation Lab in Renton, where I initiated, designed, and built a tool called DataFlow to help parallelize legacy flight simulation code.  (DataFlow was still being maintained and used as of 2001, and was called a “major tool” by a senior engineer there.  It has obviously been extended quite a bit since I left so I cannot claim full credit!)  I also worked some on a debug monitor for the 7J7 airplane’s realtime executive.  After this airplane was cancelled due to market conditions, I finished my last 6 months at Boeing teaching classes in Ada, C, Unix, and related topics.

Next I did a MS and PhD in Computer Science at The University of Arizona in Tucson.  I started out my research working under Prof. Greg Andrews’ direction in parallel programming in general and what was informally called “portable parallelism” in particular.  As part of this, I extended the runtime system of Andrews’ parallel and distributed language, Synchronizing Resources (SR), to take advantage of a shared memory multiprocessor.  After a few years, however, I realized my heart was in distributed fault tolerance, so I started working under Prof. Rick Schlichting’s direction (now at AT&T Research).  I developed a fault-tolerant version of the language Linda, called FT-Linda, using virtually synchronous atomic multicasts.  FT-Linda featured multiple kinds of tuple spaces (scope: private, global; resilience: volatile, stable) and a guarded atomic statement allowing multiple tuple space operations to be combined and executed atomically (with a few restrictions to allow them to be delivered in one atomic message; similar to a “one-shot transaction”, I am told).  FT-Linda is related to JavaSpaces, which is part of Java’s Jini.

After Arizona I joined the Distributed Systems Department at BBN Technologies, in Cambridge, Mass. (across the river from Boston).   BBN built the first Internet, called the ARPANET, in 1969, and has been building wide-area distributed applications and middleware to program them with since shortly thereafter.  There I was one of the original co-architects of the Quality Objects (QuO) framework, along with Dr. John Zinky and Dr. Richard Schantz, and later Dr. Joe LoyallQuO has been very successful, and has been used to integrate research mechanisms from many universities including Cornell, Carnegie Mellon, Georgia Tech, University of Illinois at Urbana-Champaign, and others as part of the DARPA Quorum programQuO has also been used in experimental software in a Boeing military aircraft (see the ICDCS-21 paper and a briefing “Weapon System Open Architecture: A Quorum Technology Transition Case Study” ).  It also is being used to develop software to provide adaptive quality of service for video streams for Unmanned Aerial Vehicles (UAV) such as the Predator drone being used in Afghanistan, in Iraq, and in the Balkans.

The main journal paper on QuO has been cited 449 times (per google scholar) as of 2008.

While at BBN I was also the PI for a DARPA project, AQuA, with Prof. Bill Sanders of UIUC and Prof. Ken Birman of Cornell.  AQuA was one of the early versions of CORBA that supported replicated servers.  AQuA has been evaluated by the Navy for potential shipboard computing use, and has been used as an intgrated technology as part of the QUITE technology transfer project by The Open Group, Teknowledge Inc., and System/Technology Development Corp. I also was lead consultant on replication and caching strategies to GTE/BBN’s global ISP, BBN Planet (later Genuity).

But after five years of being back East (the “wrong coast” IMO), my wife and I decided it was time to get back home closer to family, and I always knew that I eventually wanted to be a professor.  So we “came home” and I became an Assistant Professor here at WSU in 1999.  More about what I do here at WSU is on my main web page.  While in Pullman I also have consulted to Amazon.com, on fault tolerance and scalability; to  NAI Labs (formerly “Trusted Information Systems”) on the ITDOS project (funded by DARPA), adding support for tolerating Byzantine failures (computers compromised by hackers) in CORBA; and to TriGeo Network Security quite a bit on their novel distributed security framework.

During AY2004-05 I was on sabbatical in Norway at the University of Oslo and Simula Research Lab.  I also worked on an European Commission (EC) proposal involving critical information protection and the electric power grid with Prof. Neeraj Suri of Technische Universität Darmstadt and other partners including ABB Research (Switzerland), IBM Zurich Research Lab, SAP, and Siemens.  Many of these (and other) partners hope to collaborate on a large project in the upcoming FP7 of the EC.

Like a number of applied experimental “systems software” researchers, I like to skirt the line between the academia and industry, because neither is perfectly satisfying.  In the academe, prototypes lead to papers but are rarely fully developed (let alone hardened), released, used by others, etc.  But in industry you rarely get to look at the fundamental issues of a problem in depth.  So this skirting the line I my way to try to have it both ways