JavaSpaces is a service specification. It provides a distributed persistence and object exchange mechanism for Java objects. It can be used to store the system state and implement distributed algorithms. It is an implementation of the Tuple spaces idea.