Context-Aware Computing is a paradigm where context-aware applications, use acquired knowledge related to a set of environmental states and attributes, to determine and adapt the applications behavior at runtime. Presented in this paper is a context-aware architectural framework, named "Context Spaces". The context spaces framework enables the development and research of context-aware applications by mitigating common issues associated with dynamic environments. The framework components include: a conceptual model, a protocol Application Message Interface for space based-distributed information sharing, and a method for context sharing between spaces named context acquisition.