Neptune is a software system which allows application
developers to easily deploy and replicate partitionable network services
on a cluster of machines. Neptune provides location-transparent services
to application front-ends by dynamically selecting proper storage nodes
based on their workload, availability, and consistency requirements. Neptune
also provides multiple levels of replica consistency to exploit application
characteristics and performance tradeoffs. Using a version control scheme,
Neptune can ensure that each client updates and obtains information in
an incremental order with respect to one data partition. This paper describes
the programming model, replica management, and availability control in
Neptune and illustrates its performance using three Internet applications.
Back