Currently, there is a trend to develop context-aware mobile distributed systems (MDS), such as systems that recommend places according to the location and the path of users. Some of the key challenges in the development of this type of systems are the following: acquisition, management and use of data context. In this paper, we propose two-level software architecture to obtain, use and provide context information in a MDS. From our point of view, the proposed architecture takes into account the requirements that emerge from data collection, use and management of context, as well as the own features of MDS. Based on our software architecture, a context-aware group communication system is implemented, which allows members to have four types of context: physical activity, logical activity, location and level of sound.