# An Edge-Based LWM2M Proxy for Device Management to Efficiently Support QoS-Aware IoT Services
## 2 Related Work
### Related Work on IoT Proxies  
In a typical IoT architecture, a gateway acts as an intermediary between devices in the IoT network and IoT applications running in data centers usually deployed in the cloud, because most IoT devices cannot connect directly with the application as they use near-range technology. IoT applications may require gateways to also provide quality of experience and better performance in terms of latency, throughput, energy consumption, response time, etc. [6]. Queue management and traffic shaping are typical functions implemented by IoT gateways. For example, in [11] the authors propose an IoT gateway that uses the Hierarchical Token Bucket algorithm to configure the output rate of a high priority queue for critical messages that need to be immediately forwarded to middleware and of a low priority queue for non-critical messages. Instead, since the IoT network can become easily congested, our proposed Proxy uses a request shaper based on the token bucket algorithm to control the flow of requests towards the Clients. As another example, in [12] authors implement a proxy virtualization framework to ensure scalability in a large IoT network and to support the implementation of custom functionalities. They implement a QoS prioritization policy \begin{table}
\begin{tabular}{c c} \hline \hline
**Interface** & **Operation** \\ \hline \multirow{3}{*}{Client Registration} & Register: the Client registers with the Server \\ \cline{2-3}  & Update: the Client updates registration information \\ \cline{2-3}  & De-register: the Client de-registers with the Server \\ \hline \multirow{6}{*}{Device Management and Service Enablement} & Read: the Server accesses the value of a Resource, a Resource \\  & Instance, an Object Instance or an Object \\ \cline{2-3}  & Discover: the Server learns the attributes of an Object, Object \\ \cline{2-3}  & Instances, and Resources, and discovers which Resources are \\ \cline{2-3}  & instantiated in a given Object Instance \\ \cline{2-3}  & Write: the Server changes the value of a Resource, a Resource \\ \cline{2-3}  & Instance, and multiple Resources from an Object Instance \\ \cline{2-3}  & Write-Attributes: the Server modifies the notification attributes \\ \cline{2-3}  & Execute: the Server performs some action on individual Resources \\ \cline{2-3}  & Create: the Server creates Object Instances within the Client \\ \cline{2-3}  & Delete: the Server deletes an Object Instance or a Resource Instance \\ \cline{2-3}  & within the Client \\ \hline \multirow{6}{*}{Information Reporting} & Observe: the Server initiates an observation request for changes of a \\ \cline{2-3}  & specific Resource, Resources within an Object Instance or for all the \\ \cline{1-1} \cline{2-3}  & Object Instances of an Object within the Client \\ \cline{1-1} \cline{2-3}  & Cancel-Observation: the Server ends an observation relationship \\ \cline{1-1} \cline{2-3}  & Notify: the Client sends the new value of the Object Instance or \\ \cline{1-1} \cline{2-3}  & Resource to the Server \\ \hline \hline \end{tabular}
\end{table} 
Table 1: LWM2M Operations. to differentiate the service offered to two groups of applications using a priority-based scheduler that buffers the requests. Another typical function of an IoT gateway is reducing the number of exchanged messages for energy conservation and congestion avoidance. So, authors of [13] propose a CoAP proxy to provide support to applications that need to continuously retrieve data from the Wireless Sensor Network (WSN) using WebSocket. The CoAP proxy uses the observe protocol to receive status notifications from the device; so, the proxy is the only observer, reducing the WSN traffic. Moreover, the proxy implements a cache to reduce the number of interactions between the proxy and the WSN where the expiration time of the cached response is indicated using the Max-Age option. Similarly, authors of [14] propose a framework for proxies to regulate the transmission of notifications in a CoAP-based IoT network.