# Mobility-Aware Hybrid Flow Rule Cache Scheme in Software-Defined Access Networks
## 3 System Model  
Figure 2 presents the system architecture of software-defined access networks, where the forwarding nodes, including the ADs and switches, are connected to the controller via the SDN interface (i.e., OpenFlow [1]). Since the controller placement problem is one of the most challenging issues in SDN [28; 29], this paper assumes that the controller can communicate with the ADs with a constant propagation delay through the dedicated control channel [30]. In addition, the controller can configure the flow-based network context view using the statistics reports from the forwarding nodes in terms of the port, queue, group, meter, and table [1; 28]. Each forwarding node has its own flow table composed of flow rules. Mobile nodes such as sensor nodes (SNs), phones, and vehicles can move between the ADs. When the mobile nodes move from AD1 to AD2, the flow rules of the mobile nodes can be proactively or reactively cached to AD2. If the proactive rule placement operates, the rules are proactively cached to AD2 and switch along with the path, which will be the changed path due to the mobility. The number of flow rules at time \(t\) in the \(i\)th AD is denoted by \(R_{i}^{t}\). The maximum number of rules in the \(i\)th access device due to the capacity constraint is denoted by \(R_{i}^{t}\)_max_. \(R_{i}^{t}\) includes the reactively and proactively cached rules and is thus given by  
\[R_{i}^{t} = R_{i}^{t-1}+R_{i,N}^{t}+R_{i,M}^{t}-R_{i,E}^{t}. \tag{1}\]  
where \(R_{i,N}^{t}\), \(R_{i,M}^{t}\) and \(R_{i,E}^{t}\) are the numbers of static, mobile, and expired flow rules, respectively, in the \(i\)th AD. Static flow rules are newly generated flows in the area of the AD. In addition, flow rules can be removed after a timeout with no received traffic according to the flow expiry mechanism in the OpenFlow protocol [1]. In addition, the mobile flows are handover flows from the neighboring ADs. The controller determines that the rules for the mobile flows need to be proactively or reactively cached. Therefore, \(R_{i,M}^{t}\) is denoted by  
\[R_{i,M}^{t} = \sum_{j=1}^{M_{i}^{t}}r_{i}^{r,j}+\sum_{j=1}^{M_{i}^{t}}r_{i}^{p, j}. \tag{2}\]  
where \(r_{i}^{r,j}\) and \(r_{i}^{p,j}\) denote the \(j\)th reactive and proactive flow rules among the total \(M_{i}^{t}\) mobile flows into the \(i\)th AD at time \(t\), while \(r_{i}^{r,j}\) and \(r_{i}^{p,j}\) are binary variables, where the  
Figure 2: System architecture of the software-defined access network with mobile nodes. value is 1 if the flow rule exists and 0 if not. For example, if the \(k\)th flow rule is proactively installed in the \(i\)th AD, then \(r_{i}^{r,k}\) is 0 and \(r_{i}^{p,k}\) is 1. Meanwhile, the \(j\)th mobile flow can have its own response delay requirement (or constraint) \(d_{j}^{th}\). The response delay of the \(j\)th mobile flow can be measured by the duration between the packet-in and packet-out messages at \(t\), denoted as \(d_{j}^{t}\). This depends on the load on the controller. Since there can be a dynamic incoming load on the controller, especially for the mobile access networks, the delay requirement should be managed well. This is tightly related to the quality of service (QoS) [31]. In other words, a proactive rule cache is required when the controller cannot guarantee the delay requirement. If the flow rule is proactively cached, \(d_{j}^{t}\) can be 0, which means no delay. In addition, the controller's response delay at \(t\) with the \(i\)th AD is denoted as \(D_{i}^{t}\) from the controller's perspective. The response delay depends on several parameters, such as a the queuing delay, transmission delay, and propagation delay. It can be noticed that the controller can monitor the queuing delays according to the current state. In this paper, we assume that the controller follows the M/M/1 queuing model, as it is generally utilized for SDN controllers [10].