## 2 iNUIT Architecture  
In Figure 1, we described the vision behind the iNUIT program in which different kinds of services (e.g., physical security, mobility, resource management, _etc._) relay on a bottom layer of connected objects (e.g., sensors, actuators, _etc._). A more complete vision of the iNUIT architecture is provided in Figure 2.  
The iNUIT program is structured in five layers. Security and privacy approaches are envisaged for each layer. The first layer (bottom) is the sensor layer. It contains the heterogeneous connected objects that collect and transmit data in real-time. Some of these objects may be \"smarter\" then others permitting the first data processing step and working as interface with the users. The chosen sensors should allow a secure and reliable data acquisition to respect security and privacy constraints (for instance, anonymizing the sent data). The network represents the second layer. It is composed of technologies and protocols that allow the transmission of the different types of data from the sensors to the cloud layer. As well as the sensors, the hardware required for the network is also distributed in the environment and therefore should have features to guarantee low electric consumption and a  
Figure 2: iNUIT architecture divided in five layers from the sensors (bottom) to the services (up).  
secure and reliable data transmission. The Cloud layer aims to make the iNUIT architecture as generic, open and flexible as possible. The \"client\" that will install the iNUIT system across a city (or for a particular event) should not worry about the IT infrastructure that will support the different processes (acquisition of equipment, maintenance, logistics, _etc._). In this context, we opted to adopt a cloud solution, which supports treatment, data analysis and representation of results. Above the cloud layer, there is the layer in which are grouped the systems and algorithms that manage the data analysis (classification, knowledge extraction, _etc._) and storage. Big data techniques should be used to take into account the large volume of data and their heterogeneity. In order to respect the users' privacy, these algorithms should be based on privacy preserving techniques (_i.e._, techniques that do not allow the identification of a user form the available data). Finally, on the top of the pile, there is the services and applications layer that actually provides the services to the user. This layer covers also the role of interface towards the user; therefore, it should help to build the trust towards the system providing to the user the control of privacy settings (e.g., which information to share with the system and other users). Each layers of the iNUIT architecture is composed of several modules that implement the different functionalities required to provide the different services on the top layer. Figure 3 shows a more detailed view of the iNUIT architecture in which it is possible to see the modules that we implemented to develop the two projects presented in this paper: SmartCrowd and OpEc.  
It is worth noting that the iNUIT architecture permits the implementation of very different systems to provide different services. While the Cloud layer is the core of the system flexibility, also other modules may offer functionalities that may be used by different applications. Sections 4 and 5 describe with more detail the structure of SmartCrowd and OpEc.