## 2 Literature Review  
In this section, the main mechanisms of related works are stated in sequence. Then a summary and analysis of the related works will be provided. Last, compared to related works, the differences and contributions of our work will be discussed. There have been several works on the hybrid-MOPs topic [21; 22] since the first related research was proposed by [PERSON] et al. [23], which is called a more memory-efficient RPL (MERPL). MERPL provides a way to change the non-storing mode to the storing mode and determines the upper limit of the number of route entries for each node of the storing mode, through which to reduce memory consumption. However, downward routes establishment starts from leaf nodes and proceeds to the root, which indicates that children would receive full memory earlier than parents in normal case. It is a reverse order of the proposed mechanism. Moreover, the switch from the non-storing mode to the storing mode requires a statistic number of route entries of each child, which introduces new control overhead. [PERSON] et al. [24] have proposed the DualMOP RPL. Their work solves the network connectivity problem by allowing interoperation between by mixing the two modes in downward routing, without switching them. The nodes in the storing mode save downward routing information and make decisions based on conditions of the next-hop node. If there is the non-storing mode of the next-hop node, the current node performs a source routing to destination. Otherwise, the current node sends packets normally to the next-hop in a standard storming mode way. However, the coexistence of two modes keeps drawbacks of them both. Even though that downward routing avoids partition from connectivity, there is still room for a higher network performance compared to switching modes dynamically. Moreover, extra control overhead also is introduced, due to the fact that a parent must know which MOP its child uses. [PERSON] et al. [25] have proposed the D-RPL, which uses a multicast group that acts as the special memory space for downward routing. When a node's preferred parent's memory is full and cannot store downward routes information, the node issues a request to register as a member of the downward routing multicast group. Then it is termed a junction node, due to the fact that it can perform both in the normal case and in that multicast group case. The root transmits some packets to a junction node in that group, when the root does not know where the packets' destination is. Then, the junction node takes the duty to forward these packets through normal downward routing. Even though nodes of full memory can be skipped in downward routing, the memory space in the multicast group is still part of network, which does not improve the memory limitation of overall network. Moreover, the long-path problem is not solved thoroughly; there are still many packets going through the root. [PERSON] et al. [26] have proposed the Enhanced RPL. According to their work, a node is permitted to send DAO messages through multiple parents to lighten the storage burden of a single preferred parent. In detail, a node sorts all its candidate parents based on the parents' rank. The parent of highest rank in the list is selected to receive DAO messages. However, the parent can refuse DAO messages. If it does so, it will be removed from the list of children to send DAO messages. Then, the child continues to try to send DAO to the first parent in the current list. Generally, the proposed mechanism is more related to the selection of DAO parents instead of handling MOPs. In this case, the memory limitation problem can be improved by polling each candidate parent in sequence. However, a polling process is time and resources consuming, which is also a control overhead. Moreover, results are more random and unpredictable, so the proposed mechanism is not efficient enough. [PERSON] et al. [27] have proposed the hybrid mode RPL. In this scheme, the authors try to achieve both advantages of two modes in RPL.