# A Real-Time Data Delivery for Mobile Sinks Group on Mobile Cyber-Physical Systems
## 2 The Proposed Mechanism
### Real-Time Data Transfer via Branch Points  
From a source node to the exit point of the movable area (via the entry point of the movable area), data are transferred by the main forwarding. During the main forwarding, the destination of the data packets for geographic routing is the coordinate of the exit point of the movable area. Each branch forwarding is repeated in every radio-range. For each branch forwarding, multiple branch zones are virtually constructed. The reason to construct the branch zone is to reduce energy consumption by allowing only a flow of data in a zone and avoiding every node participating in communication. There are \(\lceil 2R/r\rceil\) branching points in the main forwarding in a movable zone, where the radius is \(R\) and the radio range of the sensor nodes is \(r\). The branching point set is represented as follows. \[ \begin{array}{ll}BP=\left\{b_{i}=(x_{i},y_{i})|&x_{i}&=x_{c}+i(x_{s}-x_{c})r/ D,\\ y_{i}&=y_{c}+i(y_{s}-y_{c})r/D,\\ i&=\left[-\lceil R/r\rceil,\lfloor R/r\rfloor\right]\right\}\end{array}  \tag{5}\]  
Each branch point is on the straight line between the entry point and the exit point. The entry point \(\text{P}_{EN}\) and the exit point \(\text{P}_{EX}\) can be represented as follows. \[ \begin{array}{l}P_{EN}=(x_{c}+R(x_{s}-x_{c})/D,y_{c}+R(y_{s}-y_{c})/D)\\ P_{EX}=(x_{c}+R(x_{c}-x_{s})/D,y_{c}+R(y_{c}-y_{s})/D)\end{array}  \tag{6}\]  
In each branch point, three nodes could be selected at most as the next-hop nodes as shown in Figure 3. One is selected for the main forwarding, the others for branching toward orthogonal directions. To transfer data to the multiple next-hop nodes, we exploit the broadcast nature in wireless transmission. However, there might be interference and concurrent transmission among the selected nodes in the radio-range of the node holding a data packet. To avoid this problem, we apply time slot-based transmission for branching. It divides the time slot and assigns the nodes to each slot. The slot-based transmission is needed for sharing opportunity to relay among the branch nodes. Each node can relay its data packet from its hop delay to time deadline for the real-time packet. Figure 2: Longest distance in the movable area. The temporal duration can be called real-time tolerable time. As the tolerable times of the selected next-hop nodes might be overlapped to each other, controlled relaying is needed. The nodes are assumed to timely synchronize by the time synchronization schemes [13; 14]. Each next-hop node has its own and different available time until time deadline in real-time data transmission. We call it the tolerable time. However, in the branch node, the multiple next-hop nodes can relay their data packet independently, thus causing serious packet collision. In order to avoid this problem, an additional scheduling procedure is needed by the branch nodes. The branch node divides the real-time tolerable time to multiple time slots and assigns the time slots to its next-hop candidates. As the maximum number of the next-hop candidates is three, we divide it into three time slots. Each next-hop node could forward data packet in the assigned slot. The duration of the time slot should be longer than the minimum relaying time. For assignment of the time slots, we apply the following rules. * The first time slot is assigned to the node which has the shortest hop delay. * The last time slot is assigned to the node which has the longest time deadline. * The remaining time slot is assigned to the node which has not been assigned to any time slot. After branching, the destination of the data packet is modified toward the orthogonal direction. The destination could be calculated with the coordination of branch point and source node, and the information of the movable area.