Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Ninja: A Framework for Network Services

Ninja is a new framework that makes it easy to create robust scalable Internet services. We introduce a new programming model based on the natural parallelism of large-scale services, and show how to implement the model. The first key aspect of the model is intelligent connection management, which enables high availability, load balancing, graceful degradation and online evolution. The second key aspect is support for shared persistent state that is automatically partitioned for scalability and replicated for fault tolerance. We discuss two versions of shared state, a cluster-based hash table with transparent replication and novel features that reduce lock contention, and a cluster-based file system that provides local transactions and cluster-wide namespaces and replication. Using several applications we show that the framework enables the creation of scalable, highly available services with persistent data, with very little application code -- as little as one-tenth the code size of comparable stand-alone applications.

J. Robert von Behren, University of California at Berkeley

Eric A. Brewer, University of California at Berkeley

Nikita Borisov, University of California at Berkeley

Michael Chen, University of California at Berkeley

Matt Welsh, University of California at Berkeley

Josh MacDonald, University of California at Berkeley

Jeremy Lau, University of California at Berkeley

Steve Gribble, University of California at Berkeley

David Culler, University of California at Berkeley

BibTeX
@inproceedings {270672,
author = {J. Robert von Behren and Eric A. Brewer and Nikita Borisov and Michael Chen and Matt Welsh and Josh MacDonald and Jeremy Lau and Steve Gribble and David Culler},
title = {Ninja: A Framework for Network Services},
booktitle = {2002 USENIX Annual Technical Conference (USENIX ATC 02)},
year = {2002},
address = {Monterey, CA},
url = {https://www.usenix.org/conference/2002-usenix-annual-technical-conference/ninja-framework-network-services},
publisher = {USENIX Association},
month = jun
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/usenix02/full_papers/behren/behren.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/usenix02/full_papers/behren/behren_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us