PlanetLab Project

A Divert Mechanism for Service Overlays

Aki Nakao
Princeton University

Description

Overlays are gaining popularity as a vehicle for deploying network services. Examples include resilient transport, distributed object location, peer-to-peer storage, and multicast. Most of these services behave in the same way: participants collectively and cooperatively implement some service for the benefit of all overlay members. We propose a new perspective on such overlay networks. Provided there are multiple service overlays that implement their own network services on shared overlay nodes, we let users subscribe to arbitrary service overlays in a way that is transparent to applications they are running. In our design, we made a clear distinction between desktop and overlay nodes. A desktop is a user's machine that subscribes to a service overlay. Desktops are usually under full control of the user. All privileged operations, such as loading kernel modules and setting up firewall rules, are allowed on desktop machines. On the other hand, overlay nodes are shared, protected, and restricted, intermediate resources, where privileged operations are prohibited, or modified to be restricted or protected in some way. We made use of protected RAW socket machanism avaliable on our overlay nodes. We explored the idea of transparently diverting designated packets onto arbitrary service overlays. By implementing an example routing overlay service based on RON on PlanetLab, we have identified a general-purpose mechanism that allows users to connect their desktops to arbitrary service overlays, with both client and server applications unaware of the existence of the service overlay. In addition, by turning RON into an overlay service, we are able to scale RON to a larger number of client nodes, and allow thin clients to access the service as well.

Download

Links

Copyright (C) 2002 Akihiro Nakao. All rights reserved.