Neptune: Middleware Support for Cluster-based Network Services

There has been explosive deployment of large-scale cluster-based network services in recent years. Examples of such services include Internet search engines, discussion groups, and various other online services. High availability, incremental scalability, and ease-of-management are just some of the challenges faced by designers of these services. The main goal of this project, we call Neptune, is the design and implementation of a scalable software infrastructure to shield clustering complexities from service designers. With the assistance of the proposed software infrastructure, service designers can focus their attention on developing service-specific components without worrying about various clustering complexities. In particular, this project has been focusing on the construction of three specific components:

  1. a scalable clustering architecture with load-balancing support that works well for fine-grain services;
  2. an integrated resource management framework that combines the "response time"-conscious service quality, the overall system resource utilization efficiency, and service differentiation support;
  3. a service replication framework that provides flexible replica consistency support with strong emphasis on performance scalability and fail-over support.

Deployment and evaluation:

Neptune has been deployed as the clustering middleware at Internet search engine Teoma and Ask Jeeves.

Publications:

Project Contact:

Kai Shen (kshen@cs.rochester.edu)

Support:

This project is supported by the National Science Foundation under Grant No. 0306473 and No. 0234346.

Note:

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The mirror project site at University of California, Santa Barbara.