# An Edge-Based LWM2M Proxy for Device Management to Efficiently Support QoS-Aware IoT Services
## 5 Conclusions  
In this work we considered LWM2M-based networks and we proposed the introduction of a LWM2M Proxy at the network edge, in between LWM2M Clients and LWM2M Servers. The Proxy is composed of a Core function that implements an optimized version of LWM2M and of one or more optional extended functions that support QoS-aware services. The optimized version of LWM2M allows to reduce the number of messages exchanged in the IoT network and to reduce the computations executed on the Client by decreasing the number of requests forwarded to the Clients. The extended functions are managed by the Core function to improve network performance and they tackle the issues of avoiding network congestion, of further reducing the number of requests forwarded to the Clients, and of reducing the packet size to deal with the limitations on packet payload size imposed by energy-constrained networks. Thus, we proposed that the Proxy implements the following extended functions: a (i) requests-shaping function that regulates the flow of requests sent over the IoT network, so that the Server experiments reduced delays and packet losses; a (ii) cache function that reduces the number of messages exchanged in the constrained network while guaranteeing information freshness measured by the Age of Information metrics, so that the Server experiments reduced response times and the power consumption of the Client is reduced; and a (iii) compressing function that compresses/decompresses the messages exchanged with the Client and that applies a SCHC-based compression also to the LWM2M payload. These functions can be applied singularly or together depending on the LWM2M Server demands and the LWM2M Proxy design allows to easily define new extended functions. Experiments considering a Proxy that implements each of the proposed functions demonstrate that it can alleviate the traffic load of the IoT network, improving the QoS of the system in terms of a reduced latency and a reduced packet loss, and that it can reduce the size of the exchanged packets. As future work we aim at analyzing the case of cellular networks where end-devices have high-mobility characteristics. Indeed, the Proxy will be required to be moved accordingly, to preserve proximity. To this aim, the Proxy can be seen as a network service that is migrated with the support of the underlying edge platform. It is worth noting that, since some functions of the Proxy are Client-dependent, i.e., the Core, the cache, and the compression functions, the migration should be stateful. Moreover, we also aim at investigating the scalability of our proposed solution in case of massive IoT deployments. \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c c c} \hline \hline  & \ \begin{tabular}{c} **Read** \\ **Object** \\ \end{tabular}  & \begin{tabular}{c} **Notify** \\ **Object** \\ \end{tabular}  & \multicolumn{3}{c}{**Read**} & \multicolumn{3}{c}{**Write**} & \multicolumn{3}{c}{**Write**} \\  & & & & & & & & & & & & & **Resource** \\ \cline{2-13}
**Type of** & \multirow{2}{*}{**Message**} & \multirow{2}{*}{**3/0**} & \multirow{2}{*}{**1/0**} & \multirow{2}{*}{**3303/0**} & \multirow{2}{*}{**3/0/11**} & \multirow{2}{*}{**3/0/16**} & \multirow{2}{*}{**1/0/0**} & \multirow{2}{*}{**1/0/1**} & \multirow{2}{*}{**1/0/6**} & \multirow{2}{*}{**1/0/7**} & \multirow{2}{*}{**1/0/7**} & \multirow{2}{*}{**1/0**} & \multirow{2}{*}{**1/0/1**} & \multirow{2}{*}{**1/0/6**} & \multirow{2}{*}{**1/0/7**} \\  & & & & & & & & & & & & & **1/0/1** & **1/0/6** & **1/0/7** \\ \hline \begin{tabular}{c} Percentage \\ reduction \\ \end{tabular}  & 58.8\% & 75\% & 44.4\% & 35.7\% & 37.5\% & 37.5\% & 21.4\% & 37.5\% & 37.5\% & 56\% & 54.5\% & 54.5\% & 63.2\% & 45\% & 64.3\% & 64.3\% \\ \hline \ \begin{tabular}{c} Compression \\ ratio \\ \end{tabular}  & 2.43 & 6 & 1.8 & 1.56 & 1.6 & 1.6 & 1.27 & 1.6 & 1.6 & 2.27 & 2.2 & 2.2 & 2.71 & 1.81 & 2.8 & 2.8 \\ \hline \begin{tabular}{c} Fit in a \\ LoRaWAN \\ packet \\ \end{tabular}