Space
A space provides shared virtual storage for data. A space is:
- A container for a collection of entries that consist of a tuple and associated metadata.
- A shared entity. Many applications can access a space concurrently and each application has the same coherent view of the data contained in the space. The spaces in ActiveSpaces are called tuple spaces, and the items stored in them are called tuples.
A space can proactively notify applications of changes in the data contained in the space as changes happen (push model), and can therefore be used as a coordination mechanism for building distributed systems.
- A virtual entity that is distributed and implemented collaboratively by a group of processes located on multiple hosts and communicating over the network.
ActiveSpaces handles changes in this set of processes automatically: processes may join or leave the group at any time without requiring any user intervention. A space automatically scales up as the number of processes in the group increases, and scales down when processes suddenly disappear from the group or network. There is no negative impact on the data contained in the space when processes leave the space.
System spaces are a set of administrative spaces that are created and maintained by ActiveSpaces and are used to describe the attributes of the spaces.
User spaces are spaces that are defined by the user.