# Resource Indexing and Querying in Large Connected Environments
## 3 Related Work  
### Indexing Overview  
To collect data, sensor and actuator networks are critical components of the IoT architecture. In addition, the number of connected nodes has expanded in recent years, generating a tremendous volume of data. The goal of an indexing scheme in a connectedenvironment is to quickly find and retrieve a resource that contains the desired data from a group of linked devices. According to [PERSON] et al. (2018), indexing can be classified into three categories in connected environments: data indexing, resource indexing, and indexing of higher-level abstractions. Data indexing refers to organizing IoT data (e.g., sensor measurement/observation) to enable fast search and retrieval of the data, without identifying the data source. Resource indexing refers to organizing IoT resources (e.g., sensor, service, device) to facilitate querying or finding a specific resource or a resource that can answer user queries. Finally, data abstraction is a transformation of lower-level raw data (e.g., 2 \({}^{\circ}\)C) into higher-level information that describes patterns or events (e.g., cold weather). Higher-level abstractions refer to inferring information and insights from published raw data using various IoT resources, such as events, activities, and patterns.  
In this study, we focus on resource indexing, which can be divided in turn into three categories: spatial, multi-dimensional, and semantic indexing. Spatial indexing uses geographical features like latitude, longitude, and altitude coordinates to represent the environment component scheme (e.g., kd-tree, R-tree, geohashes...). Multidimensional indexing ([PERSON] et al., 2018; [PERSON] et al., 2018; [PERSON] et al., 2018) treats resources as multi-feature objects and aims at simplifying mapping/identification IoT resources (to unique identifiers). Semantic indexing ([PERSON] et al., 2018; [PERSON] et al., 2018) relies on the enriched (semantic) description of IoT resources.  
Much research has been conducted on resource indexing. [PERSON] et al. (2018) showed a survey in which resource discovery techniques were classified into different categories: (i) protocol-based, in which protocols are used to find the appropriate device, such as CoAP ([PERSON] et al., 2018; [PERSON] et al., 2018), SSDP ([PERSON], 2018), TRENDY ([PERSON] et al., 2018), and DNSNA ([PERSON] et al., 2018), which mainly rely on the domain name system DNS; (ii) architecture-based, where different architectures were discussed, such as centralized ([PERSON] et al., 2018), distributed ([PERSON] et al., 2018), and hybrid ([PERSON] et al., 2018); (iii) semantic approaches, where devices are represented and grouped depending on their knowledge, such as in ([PERSON] et al., 2018; [PERSON] et al., 2018); (iv) location-based, which focuses on the device discovery in a local area, such as in ([PERSON] et al., 2018) (smart homes for example), or a remote area for larger environments, such as in ([PERSON] et al., 2018); and (v) clustering-based, which builds communities or groups by connecting and linking resources, such as in ([PERSON] et al., 2018; [PERSON] et al., 2018).  
In this paper, we focus our literature review solely on spatial indexing, since our approach falls into this category, as our resources here are not multi-dimensional and do not embed semantic features. Following the classification schema of ([PERSON] et al., 2018), we can classify our approach as an architecture-based discovery technique, since a distributed design is adopted. It can also be allocated to the location-based indexing approaches, because it relies on a spatial indexing technique that requires the resource location. In what follows, we present research studies belonging to the spatial resource indexing category.