Context aware middleware infrastructures have traditionally been implemented with a modular approach to allow different components to work cooperatively and supply context synthesis and provision services. In this paper, we discuss the important requirements that arise when such a middleware is deployed in a distributed environment and present the design and implementation of Context Aware Middleware for Ubiquitous Systems (CAMUS1 ) with which the authors have attempted to meet those requirements. Issues related to distributed coordination within the middleware in terms of component discovery and management and multiple context domains are also discussed.