# Proxy-Based Adaptive Transmission of MP-QUIC in Internet-of-Things Environment
## 3 Proposed Proxy-Based Adaptive MP-QUIC Transmission  
### System Model and Overall Operations  
In this paper, we address how to effectively use the MP-QUIC in the IoT environment that consists of a lot of IoT devices (QUIC clients). To support many IoT clients, we employ a proxy device that is located between clients and the QUIC server. The network environment between client and proxy will act as a local network environment, while the proxy and server can be defined as a large internet environment. The proxy will be used to aggregate data traffics from many clients by using the QUIC connections and then forward the traffics to the server by using an MP-QUIC connection in the backbone network with multiple paths. More specifically, in this paper, we propose a proxy-based adaptive MP-QUIC transmission scheme. Depending on the dynamic network conditions, the proxy will monitor the current network condition for each available path to the server by measuring the Round-Trip Time (RTTs) periodically. To do this, the proxy employs a _path manager_. To manage the QUIC connections between clients and server, the proxy also employs a _connection manager_, which is used to maintain the mapping relationship between QUIC connections with many clients and the MP-QUIC connection with the server. Figure 1 shows an overview of the proposed MP-QUIC transmission system. In the figure, many IoT clients communicate with the IoT server by way of the proxy that employs a path manager and a connection manager. There are multiple paths between the proxy and the server. In the proxy section, a bridge of the connection will handle the whole network process. The connection manager and path manager are doing internal communication on the user-space level with an additional program. Because QUIC comes on the user-space programming, it can be easy to edit the primary QUIC system. Our bridges system was built on the QUIC-GO library. In the figure, each client (IoT device) is pre-configured to contact with the proxy, as shown in most of IoT services, such as smart home [15], smart farm [16] and smart factory [17]. The proxy corresponds to the IoT gateway that is used to interconnect IoT clients and IoT server. The access network between clients and proxy is just used to aggregate and forward the traffics of many clients to the proxy. In the access network, IoT clients are connected to the proxy via one or two hops. The proposed adaptive MP-QUIC transmission scheme is applied mainly to the backbone network between the proxy and the server. It is noted that each client uses the URL of the server for data communication. When the proxy receives the URL of the server who the client wants to communicate with, the proxy will initiate and manage the corresponding MP-QUIC connection with the server by referring to the URL information of the server. In the proposed scheme, we assume that the clients generate two types of data packets: _priority packets_ and _non-priority packets_. The priority packets can be considered as a premium class, and thus these packets will be delivered to the server by using the best path with the smallest RTT among the available network paths. In the meantime, the non-priority packets are regarded as a best-effort class, and thus these packets will be delivered to the server by using a path with the lowest utilization among the available network paths. Accordingly, the probability that a non-priority packet uses the best path will be inversely proportional to the number of priority packets to be delivered. In this paper, we propose the scheme for mapping one connection between clients and proxies to N connections between proxies and servers. Figure 2 describes the overall operations of the proposed scheme. The proposed proxy-based adaptive MP-QUIC transmission procedures can be divided into three operations: _path management_ (by path manager), _connection management_ (by connection manager), and _data transmission_. All communications will be done by using HTTP/3 over QUIC.