## 4 SARA: Main Characteristics and Architecture Components  
The development of the architecture has been carried out based on the challenges detected in the solutions of the literature and the collaboration characteristics exposed in Section 3. SARA's name comes from \"an architecture for **S**hared-**A**ugmented **R**eality experiences and **A**pplications\" and its characteristics are presented below. 1. **Multi-user management**: Since SARA's main objective is to facilitate the development of collaborative AR applications, multi-user management is a vital concept of architecture. With this characteristic we refer to both user access control (e.g., logins, logouts) as well as the exchange of information between participants in the collaboration. 2. **Session management**: in order to orchestrate the collaboration, SARA uses the concept of _Session_. Several users may connect to the same Session, each session with a different functional concept and objective. The AR content associated with a Session may be shared among the participants in the collaboration. Each session will be treated independently within the system, so the same instance can be used for handling totally different applications at the same time. 3. **AR content visualization management**: SARA is able to manage in a flexible way the visualization of AR assets, i.e., it is capable of controlling features over the shared AR element (e.g., it is possible to control that visualization based on permissions) and also who visualizes  
Figure 2: Collaboration Layers. the common features. This management can be carried out from the functional logic of a Session or externally through the use of collaboration models. 4. **Device-optimized interaction management**: in addition to display AR content, the system handles interaction with AR content adapting it to the specific standard interaction means of the target device. Each device has an inherent form of interaction associated with it. SARA integrates all these interaction types. As an example, when a user works with a smartphone the main interaction is performed through its touch screen. On the contrary, when the user is wearing an HMD such as the HoloLens, the main interaction is performed by hand gestures. However, the user expects that _a touch_ on a digital object and _a tap gesture_ to have a similar functional meaning. Moreover, interactions from different device types are translated to a common understanding. 5. **AR platform and development framework independence**: the whole architecture has been designed as a platform-independent environment. This feature means that different devices can cooperate over the platform. From smartphones to wearable AR devices, going through standard platforms such as computers, SARA provides a cross-platform information exchange system. Besides that, the creation of new end-point applications for the architecture is platform and framework independent, which allows developers to work with the tools of their preference. 6. **Location independence**: the collaboration between participants can be performed both _remotely_ and _locally_. This process is transparent to the user, since all she has to do is connect to a session. Then, according to the session details, if required, the alignment process will begin. 7. **AR Content Alignment**: in case that AR content alignment is required, the system establishes it according to the requirements of the session. To do so, SARA offers _different strategies_. The basic mode of operation is intended to be through the use of markers, which are 2D physical images located on the real world. Although it would be ideal, the process of aligning cloud of points (also known as SLAM maps [32]) extracted from the real world reveals such difficulty that it is proposed to be integrated in a future version of the architecture. 8. **Time decoupling**: Collaboration is allowed to take place both in real time (or near-real time) with all the users collaborating at the same time and in shifts, with the participants not being coincident in time.