Space-based what?
Space-based architecture is a software architecture pattern for achieving linear scalability of stateful, high-performance applications using the tuple space paradigm.
With a space-based architecture, applications are built out of set of self-sufficient units, known as processing-units. These units are independent of each other, so that the application can scale by adding more units.
The model is closely related to other patterns that have been proved successful in addressing the application scalability challenge, such as the shared nothing architecture used by Erlang.
Tuple space paradigm
A tuple space is an implementation of the associative memory paradigm for parallel/distributed computing. It provides a repository of tuples that can be accessed concurrently.
Consider that there are a group of processors that produce pieces of data and a group of processors that use the data. Producers post their data as tuples in the space, and the consumers then retrieve data from the space that match a certain pattern. This is also known as the blackboard metaphor.
Space-style systems
In the "space" or "tuple space" style of distributed computing, participating processors share data containing objects through an intermediary system that acts like a huge "associative memory". An associative memory lets you address objects by their content rather than their physical location.
The term "tuple" in "tuple space" also "tuplespace" implies that the data containing objects may contain more than one value that can be used in locating the object.
Processes that need some computing resources write into the space an object with values defining what is needed defining the variables that must be returned. Worker processes register with the space as being able to perform work on objects with specified values. The space matches jobs with workers and sends the object to a worker, which returns it after performing the needed computation. Complex tasks can be accomplished by passing an object from one specialized worker program to the next.
Associative memory
Compares input search data (tag) against a table of stored data, and returns the addresses of matching data (or in the case of associative memory, the matching data). Typically exposes a digest generated by a cryptographic hash function from the document it refers to.
Tuples
In mathematics, a tuple is a finite ordered list (sequence) of elements. An n-tuple is a sequence (or ordered list) of n elements, where n is a non-negative integer. There is only one 0-tuple, an empty sequence, or empty tuple, as it is referred to.