Computing is becoming increasingly mobile and ubiquitous. This implies that applications and services must be aware and adapt to highly dynamic environments. However, building contextaware mobile services is currently a complex and time consuming task. The emergence of truly ubiquitous computing, enabled by the availability of mobile and heterogeneous devices and an increasing number of commercial off-the-shelf sensing technologies, is hampered by the lack of standard architectural support for the development of context-aware systems. In this paper, the common architecture principles of context-aware systems are presented and the crucial contextaware architecture issues to support the next generation context-aware systems which will enable seamless service provisioning in heterogeneous, dynamically varying computing and communication environments are identified and discussed. Furthermore, a novel architecture, CArc,is proposed to aid in the development of the next generation context-aware systems. A prototype implemented of C-Arc is also presented to demonstrate the architecture. C-Arc provides support for most of the tasks involved in dealing with context, namely acquiring context from various sources, interpreting context and disseminating context.Keywords: Context-aware architecture, context-aware systems, context-aware mobile services,mobile and ubiquitous computing