David W. Richardson
Ph.D. Candidate
|
|
I am a Ph.D. student at the Computer Science Department at the University of Washington where I am advised by Professor Steven D. Gribble. I am expecting to graduate by November of 2011. For more details, please refer to my resume.
I am broadly interested in the design, implementation, and analysis of computer systems. My thesis research has focused mainly on the Web and Cloud Computing, although I have done research in many other areas of computer science including large-scale distributed systems, virtualization, malware detection, machine learning applied to systems problems, and software model checking.
I received my Bachelors degree in Computer Science from Cornell University, and my Masters degree in Computer Science from the University of Washington.
In 2006 I took a 2.5 year leave from graduate
school to co-found and serve as Chief Scientist of Skytap Inc. Skytap was founded to
commercialize technology stemming from my research at UW. The company provides
pay-per-use cloud automation solutions for enterprises and software vendors to
develop, test, migrate, evaluate, demo, and train on new and existing
applications in the cloud. Using only a Web browser, customers can provision,
deploy, change, interact with, and manage scalable cloud resources such as
virtual machines, virtual machine clusters, and custom network
configurations.
Skytap has raised over $23 million in venture capital from Madrona Venture Group, Ignition Partners, Bezos Expeditions, OpenView Venture Partners, and Washington Research Foundation. Now profitable, Skytap has won numerous industry awards (e.g., 2010 Top 10 Cloud Computing Startup, 2010 Product of the Year), and its customers include Oracle, HP, CSC, and Savvis.
As a co-founder and the Chief Scientist of Skytap, I was integrally involved with nearly every aspect of the company from its inception, including developing the initial software prototype, raising venture capital, hiring, managing, building and running datacenter operations, designing product and technology strategies, taking part in board meetings, speaking with the press, and acquiring customers. Here's a link to an early article in the Seattle Times when Skytap was just getting started (and was originally named illumita).
Viper: Long-Running Browser Services
Traditional desktop
operating systems support background services, such as file system indexing,
file synchronization, and event notification. Despite advances in Web browser
technology, browsers do not yet support an equivalent notion of a service. I
built Viper, a research browser that supports long-running, background Web
programs called browser services [1].
Maverick: Local Device Access For Web Applications
Web browsers do not provide Web applications with safe, convenient access to
local devices. To expose local devices to Web applications, I built Maverick,
a secure Web browser that on-demand downloads and runs in the browser
JavaScript and Native Client implementations of USB device drivers and
frameworks [2].
Skytap: On-Demand Desktop Apps Over The Web
Delivering feature-rich applications, such as Office, over the Web requires
developers to rewrite them from scratch. I built a system that leverages
virtualization and thin-client technologies to allow clients to use their Web
browser to interact with unmodified desktop applications running in the
cloud [4,5].
Automatic OS Fingerprint Generation
Remote operating system fingerprinting tools require expert manual effort to
construct discriminative fingerprints and classification models. I performed
an in-depth evaluation at scale of the effectiveness of various machine
learning techniques for automatically generating these
fingerprints [3].
Internet Worm Detection
Global scanning worm detection systems monitor network traffic for anomalous
increases in worm probes to detect the growth of a new worm. I constructed
analytic models, simulations, and measurements to understand how background
Internet noise impacts the detection fidelity of these
systems [6].
Undergraduate Projects
As an undergraduate at Cornell, I was involved in a number of research
projects, including a software model checker for C source code, and various
network flow algorithms [7].
I have taken a wide range of graduate-level Computer Science courses, including Design and Analysis of Algorithms, Computability and Complexity, Computer Networks, Artificial Intelligence, Computer Graphics, Operating Systems, Computer Vision, Concepts of Programming Languages, Computational Biology, and Operating Systems and the Web.
I designed and taught a Masters level class on Model Checking and Automated Verification.
I have also had a lot of experience teaching as a TA for undergraduate courses, including Data Structures and Algorithms, Introduction to Programming II, Programming Languages, and Operating Systems.
