E-mail: rdunn AT cs DOT washington DOT edu
Other people have noted that by artificially introducing copies, you can achieve any level of desired availability for objects. I've noticed that some smart thinking about how available the peers are and the nuances of media-based workloads can help reduce the number of such requests that need to be introduced. The length of the trace we took for the P2P file-sharing analysis got us thinking about how traditional measures of availability fail miserably under certain conditions, so we developed some new metrics that allow us to predict object availability given an underlying peer availability and number of copies. I've also taken some traces of BitTorrent activity; this gives a very good look at how requests to a particular object are distributed over its lifetime. It turns out that objects are usually only popular for a short time after they are introduced, so we can focus on keeping that object available for only a short amount of time.
I briefly explored another area of systems working on an offshoot of the Denali project. The work focused on using virtual machines to enforce strong isolation between applications on a user's desktop. I looked at traces of application activity to determine the extent to which applications utilize shared resources, and whether those interactions can be safely and efficiently implemented given a strong (i.e. machine-level) barrier between the applications. I also did my general exam in this area, looking at whether application security is best enforced above the OS (Java and .NET), in the OS, or below the OS (virtual machines).
Prior to that, I worked on the UWTrace project, which operates a network tracer at the border router of the UW. We analyzed a 200-day trace of traffic from KaZaA, the dominant P2P file-sharing app, and arch-nemesis of the RIAA. We discovered some interesting patterns in this workload (including the non-Zipf nature of requests, due to fetch-once behavior), and quantified the benefit of a locality-aware request scheme. The sheer length of the trace also exacerbated some deficiencies in the standard measure to report peer availability (average uptime). So we later developed a series of predictive equations to measure availability of peers and, more importantly, the availability of objects given the availability of the peers holding those objects. By measuring from the point of view of each peer, these equations give a better prediction on the availability of a particular object in the system.
I also worked briefly on the Piazza project.