Example Scenario

Components

Learn More...

Downloads

This page is devoted to a set of closely related projects that we’ve been conducting under funding from AFRL, AFOSR, DARPA, Intel Corportation, NSF and other sources. The overall objective is to make it dramatically easier to build distributed systems, and to endow the systems people build using our tools with a variety of “trust” properties, such as scalability, robustness under “mundane” stress, data security, resilience to outright attack, etc.

We’ve developed a number of technologies over the years; some of the recent ones can be downloaded from our download area.  Right now, however, we’re particularly excited about a set of recent projects, which we’ll describe briefly on this page.  More information can be obtained from our publications, and downloads of these technologies are possible too (or will be shortly).

Watch this 8-minute streaming flash video to see our live objects in action!
If you can't access this video or the playback isn't smooth, try these externally hosted versions: higher quality (700 kbps) or lower quality (100 kbps).
This video demonstrates integration with spreadsheets and databases that Jong Hoon Ahnn is working on.
If you can't access this video or the playback isn't smooth, try these externally hosted versions: higher quality (700 kbps) or lower quality (100 kbps).

·         Live Distributed Objects and QSM.  Distributed computing has lagged a productivity revolution that has transformed the desktop in recent years. Programmers still generally treat the Web as a separate technology space and develop network applications using low-level message passing primitives or unreliable Web Services method invocations.han the tools for building non-distributed applications. We’ve created live distributed objects in the hope of changing this dynamic.  They offer developers an easy to use and scalable multicast infrastructure, tightly integrated with a runtime environment that includes powerful development and debugging tools, memory management and type checking.  Using live distributed objects, many applications can be built using drag-and-drop and a few mouse-clicks… with no coding required!

o   We prepared an 8-minute demo of live objects in action (see to the right).

o   You can download early versions of the live objects prototype from the Live Objects website. Download our IEEE Internet Computing “spotlight” article, or the paper on programming with live objects.

o   Download Quicksilver Scalable Multicast (QSM) now, for stand-alone use.  Live objects run over QSM (or other technologies – the approach is extensible and you can add plug-ins of your own).  With live objects, users drag and drop live components into live documents, often without needing to write new code.  In addition to the live objects UI, the capability requires a multicast layer that scales in dimensions not previously explored, and this is our primary focus in QSM. In particular, live documents generate large numbers of heavily overlapped multicast groups. Traditional reliable multicast protocols were conceived for a single group at a time, and multi-group configurations can trigger costly resource contention. Quicksilver Scalable Multicast  (QSM) solves these problems using two kinds of mechanisms.  First, we introduce several techniques to aggregate traffic when groups overlap.  But we also identify a previously unnoticed linkage between memory footprint and CPU consumption, motivating a second class of techniques that minimize memory use and CPU loads.  The resulting system is fast, scales well, and is stable under stress.  For those who prefer to use it directly, QSM can be used as a scalable publish-subscribe platform.  Email us for a preprint of the most recent QSM paper.

·         Maelstrom and Ricochet.  The global network of datacenters is emerging as an important distributed systems paradigm—commodity clusters running high-performance applications, connected by high-speed ‘lambda’ networks across hundreds of milliseconds of network latency. Packet loss on long-haul networks can cripple application performance — a loss rate of 0.1% is sufficient to reduce TCP/IP throughput by an order of magnitude on a 1 Gbps link with 50ms latency. We’re tackling such problems with two systems:

o   Maelstrom is an edge appliance that masks packet loss transparently and quickly from inter-cluster protocols, aggregating traffic for high-speed encoding and using a new Forward Error Correction scheme to handle bursty loss.  Maelstrom works extremely well, masking link problems in a completely transparent manner even when loss rates are very high and link latencies are huge.  We’ll have a download soon.  Meanwhile, email us for a preprint of our Maelstrom paper.

o   Ricochet is a technology that uses similar ideas to improve the performance of replication and multicast as used in data centers.  This work was pretty much finished by late in 2006.  The NSDI paper on Ricochet is on our pubs page, and you can download a version of Ricochet from our downloads area.

·         Tempest.  This project is developing easy to use tools for automating the replication of web services.  You can download a version from our downloads area.  Tempest runs over Ricochet and achieves great real-time performance even when faults occur.