To support component-based software engineering, simple and efficient mechanisms for dynamic composition and decomposition of components are needed. Shared data spaces are a simple composition mechanism, yet their efficient distributed implementation faces several complicating factors. One of these factors is that the communication needs of components may differ per data type, per application, and may even change over time. While existing data-space implementations treat all data equally, we propose a distributed data-space architecture that provides the means for differentiating distribution policies according to the type of data. Using this approach we are able to cater for the specific needs of the data. We maintain the transparency of t...