A Real-Time Data Delivery for Mobile Sinks Group on Mobile Cyber-Physical Systems

Mobile Cyber-Physical Systems (MCPS) have extended the application domains by exploiting the advantages of Cyber-Physical Systems (CPS) through the mobile devices. The cooperation of various mobile equipment and workers based on the MCPS further improved efficiency and productivity in the industry. To support this cooperation of groups of workers (hereafter referred to as the Mobile Sink Groups), data should be delivered to appropriate groups of workers in a timely manner. Traditionally, the data dissemination for MSG relies on flooding-based geocasting into the movable area of the group due to frequent movements of each group member. However, the flooding-based data dissemination could not be directly applied to real-time data delivery that demands the required time deadline and the end-to-end delivery distance, because the flooding could not define the end-to-end distance and progress to each member in a group. This paper proposes a real-time data delivery mechanism for supporting MSG in time-critical applications. In our mechanism, a ring-based modeling and data transfer scheme on a virtual grid in the ring for group mobility provides the end-to-end distance and the progress to forward real-time data to each member. Simulation results show our mechanism is superior to the existing ones in terms of real-time communication for MSG.


Introduction
As Cyber-Physical Systems (CPS) are collectively a technology for managing systems that interlink real-world assets, such as various sensors and actuators, with computing power in the information world [1], and it has recently become a key research area in industry, which utilized in various applications such as smart factory, digital manufacturing, and digital twin [2]. For example, CPS exploit sufficient computing resources to process information that has not been addressed in the physical world in the past to promote economic benefits such as improved energy efficiency and productivity in the industry [3]. In addition, by transferring the experimental environment of the physical world to the virtual world, various prototypes could be tested in the virtual environment in advance as performing error diagnosis, predictive maintenance, and product performance measurement very efficiently [4]. Nowadays, with the development of pervasive mobile devices, Mobile Cyber-Physical Systems (MCPS) have attracted more and more attention. MCPS have extended the application domains by exploiting the advantages of CPS through mobile devices [5]. In other words, MCPS could embrace not only CPS, which mainly deal with static equipment and stable networks, but also a network consisting of a number of mobile devices, such as vehicle networks. As the networks with mobile devices are unstable, unlike the networks assumed by the CPS, and the computing power of each mobile device is very different, many studies have been proposed from various aspects for their efficient cooperation. In particular, the timeliness of the data is very important because delay and failures due to bottlenecks, etc., which could be caused by variable network environments, adversely affect the entire system [6,7]. In addition, the various mobile equipment and groups of workers (Mobile Sink Groups (MSG)) performing the collaboration should be able to receive data within a valid time because they must be operated in a mutually collaborative manner.
In the past, the spatiotemporal approach was exploited for real-time data transmission [8,9]. The spatiotemporal approach forwards data with the required delivery speed. The end-to-end delay is proportional to the distance between the devices. By maintaining the delivery speed across the network, this approach could provide a predictable real-time service according to the distance. For multihop communication, each node selects one node among its neighbor nodes, which has faster delivery speed than the required delivery speed. To apply the spatiotemporal approach, per-hop data forwarding requires the delivery speed, the coordinates of the specific destination, and the progress to the destination by each of the 1-hop neighbor nodes.
This traditional spatiotemporal approach has been able to successfully transmit data for individual mobile sinks through virtual infrastructure; however, data dissemination to a group of mobile sinks causes duplicated location management of all sinks and duplicated data delivery to all sinks. Therefore, the group mobility support scheme, divided into two steps, has been proposed: member information gathering and data forwarding to group members [10][11][12]. Typically, a leader gathers the location of member sinks and reports the representative location of the group (i.e., center point and radius) as the location information of each members might be changed frequently. After gathering, M-Geocasting [10] causes data packets to be flooded into the region (a circle) for active data delivery. In [10], a source node sends its data toward the center point of the movable area of a group. Once one of the boundary nodes gets the data, it starts flooding them only in the area. Flooding data could reduce the cost for trivial movement of sinks within the region. The authors of [11] exploit the internal movement of each member sink. They put data in a virtual rectangular area passing the center point of the group so that member sinks passively get the data when the sinks encounter the area. However, flooding-based dissemination has still a problem regarding application into the spatiotemporal approach for real-time data. The data flooding could not define the final destination for a mobile sink group. Without the final destination, the source node could not calculate the delivery distance and the required delivery speed. Furthermore, each node on the delivery path is not able to calculate the progress to the destination via its neighbor node. Moreover, the passive data dissemination also could not define the end-to-end distance and the progress. VTS [12] exploits a virtual tube storage to deliver data to mobile sink group. As this scheme requires the process of storing data and acquiring data through queries in the sink, it is difficult to achieve real-time data transmission.
To overcome the problem, we propose a real-time data delivery mechanism for supporting a mobile sink group. First, the proposed scheme calculates the movable area of mobile sink group based on the virtual grid structure. Based on the structure, the maximum (farthest) distance for the real-time communication is calculated to find the minimum speed that should be satisfied in the process of data transmission. Finally, the proposed scheme could transfer data to all sinks in the group in a valid time by performing main forwarding and branch forwarding process which along nodes that meet the previously calculated minimum speed. The simulation results verify that the proposed mechanism achieves better performance than the existing ones to support real-time communication for mobile sink groups.
The remainder of this paper is organized as follows. In Section 2, we explain the real-time data delivery for mobile sink groups. The performance evaluation results are provided in Section 3. Finally, the proposed scheme and simulation results are summarized in Section 4.

Overview
In this section, we describe the overview of the our proposed scheme through Figure 1. As the group moves collectively, our mechanism puts data in a ring-based movable area of the group. In order to define the delivery distance, we construct a grid-based virtual structure in the movable area. Based on the virtual structure, our proposed scheme is largely divided into two forwarding steps: main forwarding and branch forwarding. In the main forwarding process, the data are forwarded along a straight line between the source node and center point of the group sinks (the solid line in Figure 1). The branch forwarding is performed at each branch point in the process of main forwarding. When any branch point receives data through the main forwarding process, each branch point forwards the data through the line to the previously anticipated boundary of the movable area of mobile sinks (the dotted line in Figure 1). In addition, the proposed mechanism calculates the maximum (farthest) distance for the real-time communication based on the virtual structure. Then, each destination and the progress toward the destination could be provided according to either main forwarding or branch forwarding.

Group Sink Modeling
In the MCPS environment, a group of mobile sinks usually have a common goal such as maintenance or production work in a restrict region. However, they have different roles for individuals. Thus, we assume that the group of mobile sinks collectively moves, but each member sink in the group moves independently in a restrict region. Each sink receives data from the nearest sensor as an agent node. To forward data to a sink, the coordinates of the sink are needed. However, in the case of a mobile sink group, per-sink movement management causes excessive energy consumption. M-Geocasting [10] offers an effective data delivery to mobile sink groups. We can gather the geographical information of member sinks and report the group information by a leader sink of the group that is responsible for gathering the location of all member sinks and periodically advertising coordinates of center point and a radius of the area. With the information of the mobile sink group, a source node sends its data using the geographic routing toward the center point. Once the data enter the area, it is flooded within the area. Using the flooding, the protocols do not need to independently manage the locations of each members. The group has a ring-based movable area with the center point and the radius. Each member sink selects one of the sensor nodes as an agent to access the network since the mobile sinks in the group exist on an infrastructureless field.

Calculation of the Delivery Speed of a Mobile Sink Group
In the spatiotemporal approach for the real-time communication, the delivery speed concept is applied. The delivery speed is maintained in order for all relay nodes to evenly distribute the real-time requirement of applications that have a dynamic topology and error-prone nodes. The selected next-hop node must have a relay speed that is faster than the required delivery speed to meet the requirement. The speed concept includes the spatial requirement and the temporal requirement for the data delivery. The temporal requirement can be given by the application, whereas the spatial requirement might be calculated with the Euclidean distance between the source node and the destination node, as we assume each sensor node could get its own coordinates from either GPS or any localization algorithms. However, in the mobile sink group, the end-to-end distance between a source node and each sink node could not be defined as the data delivery towards each sink node is based on flooding within the area.
A source node defines the distance and calculates the delivery speed after getting the location information of a mobile sink group from sink location server [10,11]. From the server, the source gets the center point P C and the radius of movable area R C . P C is the central coordinate calculated based on the position of all sinks in the group, and when a circle is drawn around P C , the radius of the circle that can contain all member sinks is R C . R C could vary depending on the requirement of application.
Equation (1) is a formula for calculating P C , and Equation (2) is a formula for obtaining R C .
To define the distance and calculate the delivery speed, main forwarding and branch forwarding are applied. In the main forwarding, we follow the longest straight line of the area, passing the center point. Branching the longest straight line could reduce the total length of the grid structure and increase the probability of path merging.
The total transmission distance for each sink is the summation of the main forwarding and the branching forwarding. The main forwarding operates on the straight line between a source (x s , y s ) and the center point (x c , y c ). The branching forwarding for each sink i (x si , y si ) could be defined by the distance between the sink and the straight line: In order to derive the delivery speed for every member in a mobile sink group, we consider the maximum (farthest) distance in the movable area. In the area, as the farthest point from the entry point might be located on the ring, we calculate the distance between two points on the ring. In Figure 2, we assume that the center point and the source node are on the coordinate (0,0) and (D,0), respectively. Each point on the circle can be represented with the angle θ: (Rcos θ, Rsin θ). The distance to each point is presented as follows.

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 2R/r 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.
Each branch point is on the straight line between the entry point and the exit point. The entry point P EN and the exit point P EX can be represented as follows.
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.
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. The destinations of branch points are needed to calculate because of the two orthogonal direction in shown in Figure 4. As the destination points locate on the circle of the movable area, the destination could be presented as follows:, (x c + Rcos(a), y c + Rsin(a)), where a = π + θ E + θ B . The θ E is the angle of the straight line of the source node and the center point and presented as The θ B is the angle between two line from the branch point and the destination point to the center point. To the point, data packet is transferred via the geographic routing. Finally, the destination of each branch zone is presented as follows,

Management of Mobile Sinks by Sensor Nodes
Typically, mobile sink selects a sensor node as its communication agent node and gets data from the agent node. The procedure of data transfer starts in source node, via main forwarding, branch forwarding, and agent, ends in the mobile sink. For the real-time data transmission, the agent should relay the holding data with the highest priority (almost no delay).
Sometimes, each individual mobile sink might temporally be out of the movable area due to obstacles on the path. That is, deviations from environmental factors could be occur. When the mobile sink leaves the movable area, the sink selects the node closest to the edge of the movable areas as inner agent to report its location. In addition, if the sink is out of the communication range of inner agent, the node that exists within the communication range of inner agent is selected as outer agent. It ensures that the sink has a connectivity to receive data even if it is out of the movable area. When the inner agent receives a data packet, the agent forwards the packet to the outer agent using geographic routing. It is possible to relay with more distance because there might be remaining distance to the maximum distance (D + √ 2R). The remaining distance could be represented as follows, Although the remaining distance is positive, it cannot be enough to support the out-of-range mobile sink. In order to support the mobile sink with higher remaining distance and higher probability, the location of the out-of-range mobile sink is shared with neighbor boundary nodes and the data packet is relayed via one of the multiple boundary nodes by multipath routing as shown in Figure 5.

Location Report Data Transfer
A sink out of the area

Analysis
We analyze the energy consumption of the flooding based scheme and the proposed protocol to define our routing protocol. To analyze the energy-efficiency of the proposed scheme, we focus on the worst-case communication overhead of each protocol. We consider a square area A in which N sensor nodes are uniformly distributed. There is a mobile sink group which has k multiple mobile sinks. The group moves at an average speed, while receiving d data packets from a source. The communication overhead to flood an area is proportional to the number of sensor nodes in the area, and that to send a message along a path by greedy geographical forwarding is proportional to the number of sensor nodes in the path. In this analysis, the mobile sink group has a radius R. There are n = N/A*π*R 2 sensor nodes in the group region.
A sink group is assumed to update its location m times, and receive d/m data packets between two consecutive location updates. A radius of the expected group region is 2R. The overhead for group information calculation and advertisement is 5n+kR+ √ 2A, where n is the number of sensor nodes in the group region, kR is the update cost from each sink to the leader sink, and √ 2A is the update cost from the leader sink to the location server in the sensor field. The communication overhead for location update is m(5n+kR+ √ 2A)). To deliver a data packet, we have two communication modes: unicasting from the source the entry point of the sink group and delivery mode within the group area. The length of the unicasting is (D − R), where D is the average length between a source and the center of the group area and R is the radius of the area. Thus, the energy consumption of the unicasting is (D − R)/r. For delivery in the group area, the energy consumption is based on the number of sensor nodes in the area: NπR 2 /A. It is exponential to the radius of the area R. Our protocol divides the delivery before and after the branch. There are b = 2R/r branch points on the straight line 2R. After the branch, energy consumption is 2bR, where the constant 2 is for the two branches in the opposite directions. Totally, the energy consumption is presented as follows, As a result, the energy consumption of the flooding based scheme depends on the density and the radius of the area, whereas that of the proposed scheme is affected only by the radius of the area.

Simulation Environment and Results
We have implemented the proposed mechanism in the network simulator NS-3. For application to industrial area, sensor nodes follow the reference of the Wireless HART [15], one of the well-known standards in IWSNs which employs an IEEE 802.15.4-based radio, frequency hopping, and retry mechanisms. We compare with M-Geocasting [10] and VLDD [11], which are group mobility support protocols. The simulation network space consists of 1000 sensor nodes uniformly deployed in a 500 m × 500 m square area. Fifteen mobile sinks are in a group and the radio range of each sensor nodes is 20 m. The source node generates 30 byte data packets with an interval of 400ms and the time deadline for each packet is 400 ms. The simulation time is 50 s. We measure the in-time data delivery ratio, which means how many of data packets are received by the mobile sinks within the time deadline. The result in the figures is the average value of 100 times of simulation. Figure 6 shows the in-time data delivery ratio according to the end-to-end (E2E) distance. In this graph, the E2E distance indicates the Euclidean geographical distance between a source and the center of a movable area. In M-Geocasting, a number of packets are lost due to the fact that it exploits flooding and flooding makes broadcast storm. As VLDD is a passive forwarding for supporting group mobility based on the internal movement of each member sink, it causes temporal-useless data packets. In addition, we conduct a simulation with SPEED applying multiple destinations. With these simulation, as SPEED constructs multiple paths for each sink, the interference between multiple paths is frequently occurred. In our scheme, more than 80% of the packets could be received by the sinks of the mobile sink group via unicasting in movable area. In Figure 7, the in-time data delivery ratio is presented according to the movable area range of a mobile sink group. In M-Geocasting, as the movable area spans, a larger number of sensor nodes should participate in communication and the interference is more frequently occurred. When the range of the area is 70 m, in M-Geocasting, approximately 61 sensor nodes participate in its flooding area; however, there are only about 39 participating nodes in our scheme. In VLDD, as the area is wider, it might have a lower possibility to receive an in-time data packet due to its passive data forwarding. With the performance of the proposed scheme, we show that our proposed scheme could cover the wider movable area by multiple unicast forwarding.  Figure 8 shows that the in-time data delivery ratio is affected by the radio range of the sensor node. We vary the range from 15 m to 30 m. Our mechanism and VLDD show almost constant performance, although the range is varied. It is because that our mechanism and VLDD do not exploit the flooding. In M-Geocasting, as the range is wider, the number of one-hop neighbor nodes is increased. With the larger number of neighbor nodes, the number of branches in flooding is increased; however, the possibility of interference for each neighbors also increases dramatically. Therefore, the performance of data delivery ratio is rapidly degraded.

Conclusions
Nowadays, Mobile Cyber-Physical Systems (MCPS) are widely exploited in various domains. In this environment, the Mobile Sink Groups (MSG) perform collaborative work with a common goal. Thus, data should be delivered to all mobile sinks in the group within a valid time. Traditionally, data delivery schemes for MSG have been proposed; however, as the existing flooding-based data delivery schemes have not been able to define end-to-end distance for each mobile sink, they struggle to satisfy the real-time requirement. To solve this problem, we proposed a scheme to model the MSG in a circular form, and to satisfy the real-time requirement for each member sink through data delivery using virtual grids. First, the proposed scheme models the MSG as one center point and radius, and defines the end-to-end distance based on the member sink furthest from the source node. Through this definition, the source node could could calculate the delivery speed which will be maintained during the data delivery. The data delivery process is largely divided into two phases: the main forwarding phase, which passing through the center of the mobile sinks from source node, and the branch forwarding phase at the branch point, which received the data through the main forwarding phase. In addition, even if some mobile sinks deviate from the initially calculated radius due to various environmental factors of MCPS, the connection of the sinks is ensured through the inner/outer agent concept. Through this process, the proposed scheme could deliver data to all member sinks in a timely manner. The performance evaluation results shows that the proposed scheme is superior to the existing schemes in terms of real-time communication for MSG.
The proposed scheme could have achieved real-time data delivery for a single MSG; however, there could be more than two MSG, independent single mobile sinks, and static sinks in the actual MCPS environment depending on the application. Therefore, further studies on methods such as multicasting are required to deal with the numerous applications of MCPS environments.
Author Contributions: S.O., Y.C., S.K., C.K., K.J., and S.-H.K. contributed to protocol design and detailed algorithms. They also conducted the performance analyses. All authors have read and agreed to the published version of the manuscript.