Krzys Ostrowski's Wedding

Krzysztof Ostrowski

Position:Postdoctoral Associate
Office: 4162 Upson Hall
Phone:+1 (607) 2552219
Skype:krzys_ostrowski
Email:
Address: Department of Computer Science, Cornell University
Ithaca, NY 14853, USA


Research

My interests revolve around techniques that facilitate building large-scale distributed systems. In particular, I'm interested in systems in which distributed multi-party protocols are used pervasively to achieve reliability, fault-tolerance, security, and other kinds of strong guarantees. I'm interested in different ways these guarantees may be implemented in a scalable manner, in different types of scalable architectures, as well as the ways in which the programming language, runtime environment, and development environment can support them, and how object-oriented and component-driven techniques can be ported to the realm of distributed programming.

Currently, I'm most actively working on the Properties Framework, a system that allows the programmer to express the semantics of a distributed protocol in a concise data flow notation in a form of a few to a few tens of rules, and automatically generate a scalable hierarchical implementation that can be deployed on thousands of machines and used as a basis for massive-scale replication or similar services. Early results can be found in our technical report (bib, pdf), and a new paper on the system is forthcoming. The design also leverages many ideas described in earlier work on scalable multicast architectures (bib, pdf) and it is ultimately an extension and generalization of my early work on a high-performance scalable multicast engine (bib, pdf), the prototype of which is a freeware available for anyone to download and use. The prototype of the Properties Framework should be available within the next few months, perhaps sometime in Q1'2009. 

The second, closely related line of my work is Live Distributed Objects, a component integration technology (bib, pdf) that treats instances of distributed protocols as reusable building blocks. The technology has a wild variety of potential uses; some are illustrated by the short videos at the bottom of this page, and the broader vision has been described in my dissertation (bib, pdf). In a nutshell, the goal is to enable new styles of distributed Web applications that go beyond the existing client-server paradigm and seamlessly support technologies such as replication, collaborative editing, collaborative storage etc., and to enable programmers to build such applications in the same way as GUI applications in Visual Studio, by visual drag and drop within a strongly typed object-oriented runtime environment. The early prototype of the live objects platform that has been used in the demos shown below is also available for download. In the nearest future, the work on the platform will focus on integrating various communication substrates (such as the Properties Framework) into the platform. In the longer term, the follow-up work will focus on security, distributed type systems, combining live objects with grid and data center architectures.

The list of publications ordered by date can be found here.

Below are the demos of the live objects platform in action; more information on the platform can be found on the project website.