1. 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.
2. The Proposed Mechanism
2.1. 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.
2.2. 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.
2.3. 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
and the radius of movable area
.
is the central coordinate calculated based on the position of all sinks in the group, and when a circle is drawn around
, the radius of the circle that can contain all member sinks is
.
could vary depending on the requirement of application.
Equation (
1) is a formula for calculating
, and Equation (
2) is a formula for obtaining
.
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 (
,
) and the center point (
,
). The branching forwarding for each sink
i (
,
) could be defined by the distance between the sink and the straight line:
where
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
: (R
, R
). The distance to each point is presented as follows.
With a differential equation from the Equation (
4), we can get the farthest points on the circle:
or
as
=
= 0 and
. Therefore, the maximum distance is
. With the maximum distance, the source node makes the delivery speed which will be maintained during the data delivery.
2.4. 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
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
and the exit point P
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:,
where
a =
. The
is the angle of the straight line of the source node and the center point and presented as
The
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,
2.5. 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 (
). 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.
4. 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.