# Self-protection of IoT Gateways Against Breakdowns and Failures Enabling Automated Sensing and Control

Alexios Papaioannou, Asimina Dimara, Iakovos Michailidis, Aliki Stefanopoulou, Georgios Karatzinis, Stelios Krinidis, Christos-Nikolaos

Anagnostopoulos, Elias Kosmatopoulos, Dimosthenis Ioannidis, Dimitrios Tzovaras

► To cite this version:

Alexios Papaioannou, Asimina Dimara, Iakovos Michailidis, Aliki Stefanopoulou, Georgios Karatzinis, et al.. Self-protection of IoT Gateways Against Breakdowns and Failures Enabling Automated Sensing and Control. 19th IFIP International Conference on Artificial Intelligence Applications and Innovations (AIAI), Jun 2023, León, Spain. pp.231-241, 10.1007/978-3-031-34171-7_18. hal-05417772

HAL Id: hal-05417772

https://inria.hal.science/hal-05417772v1

Submitted on 15 Dec 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_2.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
# Self-protection of IoT Gateways Against Breakdowns and Failures Enabling Automated Sensing and Control

Alexios Papaioannou¹,², Asimina Dimara¹,³(✉), Iakovos Michailidis¹,
Aliki Stefanopoulou¹, Georgios Karatzinis¹, Stelios Krinidis¹,²,
Christos-Nikolaos Anagnostopoulos³, Elias Kosmatopoulos¹,
Dimosthenis Ioannidis¹, and Dimitrios Tzovaras¹

¹ Information Technologies Institute (ITI), Centre for Research Technology (CERTH), Thessaloniki, Greece
{alexiopa,adimara,michaild,alkistef,gkaratzi,krinidis, kosmatop,djoannid,Dimitrios.Tzovaras}@iti.gr

² Management Science and Technology Department, International Hellenic University (IHU), Kavala, Greece

³ Department of Cultural Technology and Communication, Intelligent Systems Lab, University of the Aegean (UoA), Mytilene, Greece
canag@aegean.gr

**Abstract.** Smart home IoT technologies have provided a new level of overall degrees of control freedom over modern homes. The core of such a system is an edge device. In this paper, a CNN-based LSTM-Autoencoder method is presented to detect anomaly points in five critical operating parameters of an edge device while managing its perpetual operation. This proposed method is based on a hybrid model using 1D-CNN layers in the encoder layer and LSTM layers in the decoder layer. Experiments were conducted using real data from Raspberry Pi devices. Compared to other state-of-the-art methods, the proposed approach had a remarkable accuracy close to 0.996 and an execution time of 312 ms.

**Keywords:** Smart Home devices · IoT protection · Error Analysis · Failure Diagnosis

## 1 Introduction

A smart home refers to an automation system that interlinks our devices and appliances to automate particular chores and is often able to be operated from a distance (remotely). Sprinklers, cameras, sensors, power switches and home security systems may all be programmed using a smart home system, along with other domestic appliances like air conditioners and heaters [1]. Smart homes have enough functional flexibility and capacity to become energy-efficient and reduce carbon footprint through automation; saving also valuable programming time and waste of money. The first generation of smart homes focused more on
automation and remote control than intelligence [2]. A decade ago, all that was required to qualify as a smart home was an automated - usually rule-based environment - where you could automatically control simple operations e.g., blinders, lights, etc. with your smartphone or program your thermostat to recall your preferred temperature.

Nowadays, there is an entirely new degree of control freedom over household appliances, thanks to smart home IoT technology [3]. The entire functioning of smart applications can be fully automated, advancing many steps when compared to the simplistic switching/regulation of home equipment. IoT has emerged thanks to ongoing advances in micro-processing systems, interoperable connectors, open communication protocols that transform ordinary homes into smart ones. Sensors, actuators, control hubs, communication networks, and other hardware components make up the smart home system [4]. As a result, a variety of sensors are utilized to gather information about the indoor environment.

Such a system (Fig. 1 [5]), apart from the sensors, includes a Gateway or edge device (e.g., Raspberry Pi (Rpi), mini PC). The edge gateway device is the core of the system and the one responsible for retrieving and pushing all IoT devices data to a selected end-point. As a result, its operation should be perpetual while short failures and drop-downs must be detected soon to recover the system. If the edge device is not operating properly the IoT network will fail to fulfil its purpose. Within this context, it is really important to detect edge devices' breakdowns and failures as soon as possible, even proactively, to take informative recovery actions.

<figure><img src="image_3.png" /><figcaption>**Fig. 1.** Smart home IoT conceptual architecture</figcaption></figure>

To detect malfunctions at the IoT network edge, an error analysis or error detection technique must be applied. Finding unusual occurrences or observations that drastically depart from the majority of the data is known as anomaly detection [6]. Anomalies for time series are categorized into three categories in the literature: point anomaly, contextual Anomaly and collective Anomaly [7]. There are various techniques and methodologies for data detection like reconstruction error, prediction error and dissimilarity [8]. Moreover, there are a plethora of models like Autoregressive Moving Average, Recurrent Neural Networks, Long short-term memory and Variational Autoencoders [9].
In the present study, to ensure that an edge will be operating smoothly and that the end-user will be informed to take some actions to prevent breakdowns, self-protection of IoT edges against breakdowns and failures is performed. In this perspective, an innovative CNN-based LSTM-Autoencoder is presented in this paper to detect anomaly points in five critical operating parameters of an edge device.

The remainder of the paper is set up as follows: Sect. 2 analyzes the methodology followed in the current study, highlighting the anomalies detection method utilized. Section 4 discusses the results during an experimental phase while the findings are summarized in the last section.

# 2 Methodology of Autoencoder-Based Anomaly Detection

## 2.1 LSTM Autoencoder

An autoencoder is a type of neural network that aims to extract a compressed representation from input data. It is an unsupervised method, although it is trained using supervised learning methods, referred to as self-supervised. Normally it consists of encoder layers that receive data from the input layer and compress them into the latent space and decoder layers which decompress the output from the encoder and transmits them to the output layer [10]. The encoder layer can be described in detail using the following equation:

$$h_i = f_{\theta}(x) = s\left(\sum_{n}^{j=1} W_{ij}^{input} x_j + b_{input}\right), \quad (1)$$

where $x$ is the input vector with $x \in \mathbb{R}^d$, $\theta$ is the parameters $\{W^{input}, b^{input}\}$, $W$ is the encoder weight matrix with dimension $m \times d$, ($m < d$) and $b$ is the bias. Following, the decoder layer can be described:

$$x'_{i} = g'_{\theta}(h) = s\left(\sum_{n}^{j=1} W_{ij}^{hidden} h_j + b_{hidden}\right), \quad (2)$$

where the parameter set of the decoder is $\theta = \{W^{hidden}, b^{hidden}\}$.

LSTM is a special type of RNN, consisting of a number of interconnected units at each level, introduced by Hochreiter and Schmidhuber in 1997 [14]. It consists of one or more interconnected memory cells, input, output and forget gates. The main concept of the LSTM is described in the following equations:

$$i^t = \sigma(W^i x^t + V^i h^{t-1} + b^i), \quad (3)$$

$$f^t = \sigma(W^f x^t + V^f h^{t-1} + b^f), \quad (4)$$

$$o^t = \sigma(W^o x^t + V^o h^{t-1} + b^o), \quad (5)$$
$$c^t = f^t \odot c^{t-1} + i^t \odot \tanh(W^c x^t + V^c h^{t-1} + b^c), \quad (6)$$

$$h^t = o^t \odot \tanh(c^t), \quad (7)$$

where $t$ is the time step, $h^t$ the hidden state at time $t$, $x^t$ the data at time $t$, $h^{t-1}$ the hidden state at previous time, $i^t$ the input gate, $f^t$ the forget gate, $o^t$ the output gate and $c^t$ is a memory cell. Additionally, $W \in \mathbb{R}^{d^*k}$, $V \in \mathbb{R}^{d*d}$, $b \in \mathbb{R}^d$, $\sigma$ is the sigmoid function, $\odot$ denotes the element-wise product and $k$ is a hyper-parameter that represents the dimensionality of hidden vectors.

## 2.2 CNN-Based LSTM-Autoencoder

CNN is a feed-forward deep neural network that is most commonly used in a variety of applications such as image and video recognition, image classification and recommender systems [15]. CNN which is used to analyze visual imagery does not directly support sequence input due to the 2D structure. However, 1D-CNN is capable of reading across sequence input and identifying the key features.

A hybrid model using 1D-CNN layers in the encoder layer and LSTM layers in the decoder layer is presented in this paper. Figure 2, illustrates the proposed methodology. Two 1D-CNN modules were used in the Encoder layer with 64 filters each one and kernel size of one time step. The first CNN reads through the input sequence and projects the observations onto feature maps. The second CNN module performs the same functionality on the feature maps exported by the first layer, attempting to recognize any notable features.

Subsequently, a 1D Max pooling layer was applied to the feature maps, keeping 1/4 of the values with the largest signal. A flatten layer was added to convert the output from the pooling layer to a single vector that then can be used as input to the decoding process. The decoder layer included two LSTM modules with 128 units each one. The output from the LSTM modules was used as input in the Time Distributed and Dense layer which exports the reconstructed time series. Finally, the real time series and the reconstructed time series for each feature are compared, and if the deviation exceeds a predetermined threshold, the point is classified as an anomaly point.

## 2.3 Framework of Anomaly Detection

The framework used for anomaly detection points using AEs consists of two phases; the training and the detection phase. The training phase includes:

- Data preprocessing: Five features regarding the IoT device were selected including, the CPU usage and temperature, the disk usage, the virtual memory usage and the power consumption of the device. Missing values or outliers were replaced with previous values and a scaling method was applied in order to pre-scale all the features into a specific interval. In this paper, the Standardization method was used to shift the distribution of data to have a mean
<figure><img src="image_4.png" /><figcaption>Fig. 2. Proposed CNN-Based LSTM-Autoencoder</figcaption></figure>

of zero and a standard deviation of one. The following equation describes the method

$$X_{scaled} = \frac{X - mean}{StandardDeviation}. \qquad (8)$$

Subsequently, the scaled data is then transformed into [samples, time steps, and features] in order to be used as input in the autoencoder.

- Autoencoder training: Output data from the preprocessing phase is used as input in the training phase. For the proposed autoencoder the Adam optimizer was used to minimize the average reconstruction error [11]. Additionally, the mean squared error was used as a loss function.

The detection phase includes the execution of the autoencoder and the calculation of the error between the actual and predicted time series. The error is calculated using the mean absolute error (MAE) of the predicted value, $\hat{x}$ and the true one x [12]:

$$MAE = \sum_{i=1}^{D} |x - \hat{x}|. \qquad (9)$$

Additionally, a threshold value had to be set to classify the data as normal or anomaly points. In this paper as the output of the MAE follows a normal distribution the following equation was used to calculate the threshold value [13].

$$Threshold\_value = mean(MAE) + confidence\_interval * std(MAE) \quad (10)$$

## 3 Results

In this section, the devices which were used to collect the dataset are described as well as the used dataset and the evaluation metrics. Additionally, the experimental results along with a comparison to the state-of-art methods are presented.
<table><caption>**Table 1.** Raspberry Pi 4 Model B specifications</caption><tr><td>Processor</td><td>Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5 GHz</td></tr><tr><td>Memory</td><td>4 GB LPDDR4</td></tr><tr><td>Connectivity</td><td>2.4 GHz and 5.0 GHz IEEE 802.11b/g/n/ac wireless LAN, Bluetooth 5.0, BLE Gigabit Ethernet 2 × USB 3.0 ports 2 × USB 2.0 ports.</td></tr><tr><td>GPIO</td><td>Standard 40-pin GPIO header (fully backwards-compatible with previous boards)</td></tr><tr><td>Video &amp; sound</td><td>2 × micro HDMI ports (up to 4Kp60 supported) 2-lane MIPI DSI display port 2-lane MIPI CSI camera port 4-pole stereo audio and composite video port</td></tr><tr><td>Multimedia</td><td>H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES, 3.0 graphics</td></tr><tr><td>SD card support</td><td>Micro SD card slot for loading operating system and data storage</td></tr><tr><td>Input power</td><td>5V DC via USB-C connector (minimum 3A1) 5V DC via GPIO header (minimum 3A1) Power over Ethernet (PoE)-enabled (requires separate PoE HAT)</td></tr><tr><td>Environment</td><td>Operating temperature 0–50°C</td></tr></table>

## 3.1 Experiment Setup, Evaluation Metrics, and Dataset

Measurements from 4 Raspberry Pis (Rpis) 4 Model B (Table 1) were collected at regular 10-s intervals which described normal and anomaly events. Furthermore, 4 Smart Wall Plugs Fibaro were utilized to measure energy consumption (Table 2). The smart plug was utilized to monitor the energy consumption (Fig. 3). Different residential and working areas were used for the experiment. Totally, 35,630 total data points were collected, including data on the CPU temperature (C), CPU usage (%), disk usage (%), virtual memory usage (%), and power consumption (W) of which 400 were labeled as anomaly points. Statistics for the used features are illustrated in Table 3.
<table><caption>**Table 2.** Smart Wall Plug Fibaro - type E/F FGWPE-102 — FGWPF-102 specifications</caption><tr><td>Power supply:</td><td>230 V AC, 50/60 Hz</td></tr><tr><td>Rated load current:</td><td>11 A</td></tr><tr><td>Power consumption:</td><td>up to 1.6 W</td></tr><tr><td>Power output (for resistive load):</td><td>2.5 kW</td></tr><tr><td>In accordance with EU standards:</td><td>RED 2014/53/EU<br/>RoHS 2011/65/EU</td></tr><tr><td>Operational temperature:</td><td>0-40 °C</td></tr><tr><td>To be used with E or F type (Schuko) sockets:</td><td>CEE 7/16 - max load 2.5 A<br/>CEE 7/17 - max load 11A<br/>Dual type plugs E/F</td></tr><tr><td>Radio protocol:</td><td>Z-Wave<br/>Z-Wave+ (firmware 3.2 or higher)</td></tr><tr><td>Radio frequency:</td><td>868.4 or 869.8 MHz EU;<br/>869.0 MHz RU;</td></tr><tr><td>Radio transmit power:</td><td>up to -10 dBm (EIRP)</td></tr><tr><td>Range:</td><td>up to 50 m outdoors<br/>up to 30 m indoors<br/>up to 40 m indoors (firmware 3.2 or higher)<br/>(depending on terrain and building structure)</td></tr><tr><td>Dimensions: (D x H):</td><td>43 x 65 mm</td></tr></table>

Due to the difficulty in observing anomalies in a normal operation of an RPi, various types of anomalies were simulated based on [10]. In order to find any power consumption anomalies, more tests were conducted and the results revealed that anomalies exist at power consumption greater than 6 W.

<table><caption>**Table 3.** Dataset Statistics</caption><thead><tr><td>Stats</td><td>CPU Usage</td><td>CPU Temperature</td><td>Disk Usage</td><td>Virtual Memory Usage</td><td>Power Consumption</td></tr></thead><tbody><tr><td>Mean</td><td>1.457</td><td>54.22</td><td>5.516</td><td>13.145</td><td>2.48</td></tr><tr><td>Std.</td><td>0.5137</td><td>1.596</td><td>0.042</td><td>0.406</td><td>0.262</td></tr><tr><td>Min.</td><td>0.64</td><td>48.558</td><td>5.50</td><td>12.20</td><td>0.4</td></tr><tr><td>25%</td><td>1.22</td><td>53.436</td><td>5.50</td><td>13.10</td><td>2.2</td></tr><tr><td>50%</td><td>1.35</td><td>54.023</td><td>5.50</td><td>13.40</td><td>2.5</td></tr><tr><td>75%</td><td>1.62</td><td>54.917</td><td>5.60</td><td>13.60</td><td>2.7</td></tr><tr><td>Max.</td><td>42.10</td><td>64.183</td><td>5.80</td><td>15.70</td><td>4.8</td></tr></tbody></table>
<figure><img src="image_5.png" /><figcaption>Fig. 3. Experimental setup</figcaption></figure>

Precision, recall, accuracy and f-score were used to evaluate the performance of the proposed model. The f-score is an evaluation metric that combines the precision and recall of a classifier. The formulas used to calculate the evaluation metrics are provided below:

$$ accuracy = \frac{TP + TN}{TP + TN + FP + FN}, \qquad (11) $$

$$ precision = \frac{TP}{TP + FP}. \qquad (12) $$

$$ recall = \frac{TP}{TP + FN}, \qquad (13) $$

$$ f-score = \frac{2 * precision * recall}{precision + recall}, \qquad (14) $$

where TP, FP, TN, FN are abbreviations for True Positive, False Positive, True Negative, and False Negative.

## 3.2 Experimental Results

In this subsection, a comparison of the proposed method with state-of-the-art methods including AE-LSTM with one layer in the encoder and decoder layer, isolation-forest (IF) [16], one-class SVM (OCSVM) [17], local outlier factor (LOF) [18] and DBSCAN [19] is presented.

Table 4 illustrates that all models achieved high precision, recall, and f-score, indicating that they were able to detect the majority of anomaly points while
keeping the number of false positives low. Additionally, the results showed that the proposed method outperformed the other algorithms, achieving an accuracy of 0.996, a precision of 0.956, a recall of 0.886 and an f-score of 0.896. The proposed method had the longest execution time when compared to other state-of-the-art methods, but 312 ms is more than enough time for the system to be informed and the necessary adjustments to be made.

<table><caption>**Table 4.** Comparison of the proposed model with state-of-the-art methods.</caption><thead><tr><th>Model</th><th>Accuracy</th><th>Precision</th><th>Recall</th><th>f-score</th><th>Execution time (msec)</th></tr></thead><tbody><tr><td>Isolation Forest (IF)</td><td>0.963</td><td>0.877</td><td>0.749</td><td>0.804</td><td>129 ms</td></tr><tr><td>One-Class SVM (OCSVM)</td><td>0.972</td><td>0.912</td><td>0.678</td><td>0.787</td><td>214 ms</td></tr><tr><td>Local Outlier Factor (LOF)</td><td>0.961</td><td>0.901</td><td>0.729</td><td>0.780</td><td>135 ms</td></tr><tr><td>DBSCAN</td><td>0.959</td><td>0.871</td><td>0.748</td><td>0.806</td><td>217 ms</td></tr><tr><td>LSTM → LSTM</td><td>0.984</td><td>0.927</td><td>0.762</td><td>0.834</td><td>237 ms</td></tr><tr><td>2*CNN → 2*LSTM</td><td>0.996</td><td>0.956</td><td>0.886</td><td>0.896</td><td>312 ms</td></tr></tbody></table>

<figure><img src="image_6.png" /><figcaption>**Fig. 4.** Real and reconstructed time series for power consumption and cpu usage using the proposed method</figcaption></figure>

Figure 4, depicts the results for two variable, power consumption and cpu usage of the Rpi device. The red lines illustrate the reconstructed power consumption and cpu usage, respectively for each diagram. The nearly horizontal lines (blue lines) represent the data which were collected from the Rpi when it was operating normally. Any deviation from those two lines denotes an anomaly
point, and the values obtained are therefore regarded as malfunctions. Last but
not least, there are bar plots for each variable that display the reconstruction
error using the MAE metrics and lines that show the threshold value chosen
using the method presented in Sect. 2.3. As it can be observed, the majority of
anomaly points can be found using the proposed method at the start of the error
phase.

4 Conclusions

This paper proposed a CNN-based LSTM-Autoencoder method to detect
anomaly points in five critical operating parameters of an edge device. The pro-
posed method is based on a hybrid model using 1D-CNN layers in the encoder
layer and LSTM layers in the decoder layer. Compared to other state-of-the-art
methods, the proposed approach had a remarkable accuracy close to 0.996 and
an execution time of 312 ms.

In terms of future work, it will be interesting to use techniques to reduce
execution time while retaining high accuracy using quantization techniques with
8 or 6-bit integers. In addition, more simulations can be conducted to create
more samples at anomaly points to improve recall, precision and f-score.

**Acknowledgements.** This work is partially supported by the PRECEPT project funded by the European Union's Horizon 2020 under Grant Agreement No. 958284 and the SMART2B project funded by the European Union's Horizon 2020 under Grant Agreement 101023666.

References

1. Marikyan, D., Papagiannidis, S., Alamanos, E.: A systematic review of the smart home literature: a user perspective. Technol. Forecast. Soc. Chang. **138**, 139–154 (2019)

2. Sovacool, B.K., Furszyfer, D.D., Rio, D.: Smart home technologies in Europe: a critical review of concepts, benefits, risks and policies. Renew. Sustain. Energy Rev. **120**, 109663 (2020)

3. Maalsen, S., Sadowski, J.: The smart home on FIRE: amplifying and accelerating domestic surveillance. Surveillance Soc. **17**(1/2), 118–124 (2019)

4. Stolojescu-Crisan, C., Crisan, C., Butunoi, B.-P.: An IoT-based smart home automation system. Sensors **21**(11), 3784 (2021)

5. Vujović, V., Maksimović, M.: Raspberry Pi as a sensor web node for home automa-
tion. Comput. Electr. Eng. **44**, 153–171 (2015)

6. Ren, H., et al.: Time-series anomaly detection service at Microsoft. In: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2019)

7. Braei, M., Wagner, S.: Anomaly detection in univariate time-series: a survey on the state-of-the-art. arXiv preprint arXiv:2004.00433 (2020)

8. Tang, Y., et al.: Integrating prediction and reconstruction for anomaly detection. Pattern Recogn. Lett. **129**, 123–130 (2020)
9. Thudumu, S., Branch, P., Jin, J., Singh, J.J.: A comprehensive survey of anomaly detection techniques for high dimensional big data. J. Big Data **7**(1), 1–30 (2020). https://doi.org/10.1186/s40537-020-00320-x

10. Dimara, A., et al.: Self-healing of semantically interoperable smart and prescriptive edge devices in IoT. Appl. Sci. **12**(22), 11650 (2022). https://doi.org/10.3390/app122211650

11. Kingma, D.P., Ba, J.: Adam: a method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014)

12. Gensler, A., Henze, J., Sick, B., Raabe, N.: Deep Learning for solar power forecasting-an approach using AutoEncoder and LSTM neural networks. In: 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp. 002858–002865. IEEE, October 2016

13. Wang, B., Shi, W., Miao, Z.: Confidence analysis of standard deviational ellipse and its extension into higher dimensional Euclidean space. PLoS ONE **10**(3), e0118537 (2015)

14. Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural Comput. **9**(8), 1735–1780 (1997)

15. Li, Z., Liu, F., Yang, W., Peng, S., Zhou, J.: A survey of convolutional neural networks: analysis, applications, and prospects. IEEE Trans. Neural Netw. Learn. Syst. (2021)

16. Liu, F.T., Ting, K.M., Zhou, Z.H.: Isolation forest. In: 2008 Eighth IEEE International Conference on Data Mining, pp. 413–422. IEEE, December 2008

17. Schölkopf, B., Platt, J.C., Shawe-Taylor, J., Smola, A.J., Williamson, R.C.: Estimating the support of a high-dimensional distribution. Neural Comput. **13**(7), 1443–1471 (2001)

18. Breunig, M.M., Kriegel, H.P., Ng, R.T., Sander, J.: LOF: identifying density-based local outliers. In: Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, pp. 93–104 (2000)

19. Ester, M., Kriegel, H.P., Sander, J., Xu, X.: A density-based algorithm for discovering clusters in large spatial databases with noise. In: Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining (KDD-96), pp. 226–231 (1996)