David A. Karr

PhD Student

Department of Computer Science
Cornell University
4144 Upson Hall
Ithaca, NY 14853

Tel: (607)255-1159
Fax: (607)255-4428
E-mail: karr@cs.cornell.edu


I am a Ph.D. student in the Department of Computer Science at Cornell University. I am working on the Horus project (a layered architecture for reliable distributed systems) with Professor Kenneth P. Birman and Dr. Robbert van Renesse. My minor field is mathematics, concentrating in statistics.

Research Interests

[Engineering layered communication protocols] -- [Weak consistency] -- [Performance] -- [HTML/Java]

Engineering layered communication protocols

My research interests include the problems of specifying, implementing, and verifying applications to run on distributed computer systems. My dissertation work has concentrated on the formal specification and verification of the properties of Horus protocol layers. Using the Temporal Logic of Actions, one can specify various interesting fundamental properties of the protocol layers used in Horus protocol stacks; furthermore, one can write a formula in the assume/guarantee style for each layer, specifying the properties it might provide at its interfaces depending on the properties of the layers above and below it in the stack. One can then employ straightforward techniques to verify that a given stack provides certain desired properties at the top of the stack under specified conditions, even for unusual combinations of layers or layers stacked in an atypical stacking order. Ultimately, users of Horus and other layered communications systems should be able to call on these verification techniques to help construct customized stacks that omit unnecessary layers (avoiding their associated costs), with the confidence that the included layers and their stacking order are sufficient to provide the desired guarantees.

This work is intended to be part of the basis for the Securing and Hardening Horus project. I have developed a Java applet that gives a rough demonstration of my proposed method of verifying the properties of Horus protocol stacks.

My initial interest in the Horus project stems from the promise of the Horus protocol suite to provide various guarantees of consistency to programmers in message-passing environments where hosts may crash and messages may be delayed or lost. As a software development engineer who has worked on distributed applications whose components were prone to failure, I feel the features of Horus offer considerable promise to application developers.

Weak consistency

While at Cornell I have become interested in the problems of distribution of computing over wide-area networks, and have looked into the problems of revision control of files in a wide-area environment, and in general in a distributed environment whose network is prone to be partitioned into disconnected portions. More generally, I am interested in notions of ``weak consistency'' that would allow multiple temporarily disconnected sites to make progress concurrently.

Performance

My research at Cornell has concentrated on correctness of protocols, but other measures such as high availability, low response time, and efficient use of resources are clearly equally important. A large part of the problem is the apparently randomized timing of system loads and activity in distributed applications (with the notable exception of those that run on dedicated parallel machines). This behavior also should be susceptible to some mathematical analysis, though of a different kind (which encouraged my interest in statistics).

HTML and Java

The World Wide Web itself is an interesting distributed application with many possibilities to explore. I've experimented with simple ways to use hypertext to navigate information (most of these appear in my Web site about LEGO toys), and I've been hacking Java applets (executable code that a Netscape 2.0 browser can download and run), for example a birthday puzzle calculator. and a tool for verifying properties of Horus protocol stacks.

Professional Affiliations

I am a member of IEEE, ACM, and MAA.

Other Information

See my WWW links for other topics I find interesting or useful.


Last updated 11 June 1996.

David A. Karr / karr@cs.cornell.edu