**5.2 Causality control**

*Robotics Software Design and Engineering*

packet loss.

operation.

the virtual-time axis.

**5.1 Media synchronization control**

(or group) synchronization control [18].

**5. QoS control**

collaborative work. In this case, remote robots need to intercommunicate with each other and finish cooperation based on force sensors. That is, we need to handle the

From the above, there are many problems to be solved. Here, we mainly focus on QoS control which alleviates the influences of network delay, delay jitter, and

QoS control is effective for solving the problems occurred by network delay, delay jitter, and packet loss. As described in the previous section, in the remote robot operation, there exists a control loop between a haptic interface device and a robot. We need to carry out QoS control in the loop to improve the QoE. This means that we need to carry out QoS control at a haptic interface device terminal and/or at a robot terminal. There are many types of QoS control such as traffic management and control, error control, spatiotemporal synchronization control (we can carry out media synchronization control or causality control to achieve spatiotemporal synchronization), consistency control, adaptive reaction force control [4], and position control using force information [17]. We also introduce serval types of QoS control which we previously proposed for the remote robot

Media synchronization control is used to solve the problems occurred by network delays and delay jitter. The control can be grouped into intra-stream synchronization control, inter-stream synchronization control, and inter-destination

Intra-stream synchronization control is used to preserve the timing relation between media units (MUs, which are information units for media synchronization) [19] in a single media stream. There are several types of intra-stream synchronization control, for example, Skipping [19], Virtual-Time Rendering (VTR) [19], and so on. Skipping outputs MUs on receiving the MUs, and when the sequence number of a received MU is smaller than that of the last-output MU, the control discards the received MU. VTR has a virtual-time axis which can be contracted or expanded dynamically according to the network delay, and MUs are output along

In multimedia applications, if we only carry out intra-stream synchronization control for each media stream separately, the temporal relationship among media streams may be disturbed and QoE may be deteriorated. In order to solve the problem, we need to carry out inter-stream synchronization control. The VTR can be used for intra-stream and inter-stream synchronization control. Under the control, one media stream is handled as the master stream and the others are dealt with as slave streams. VTR carries out only the intra-stream synchronization control for the master stream, and it exerts the inter-stream synchronization control after carrying

In remote cooperation, in order to improve the efficiency of cooperative work, it is important to output MUs simultaneously at different terminals. Group (or inter-destination) synchronization control outputs each MU simultaneously at different terminals. We proposed three schemes for inter-destination synchronization control (i.e., the master–slave destination scheme, synchronization maestro

out the inter-stream synchronization control for the slave streams.

scheme, and distributed control scheme) [4].

case of emergency and establish effective methods in the case.

**62**

Causality control keeps the causal (i.e., temporal order) relationships among events. Here we introduce two typical examples of causality control; one is the Δ-causality control [20], and the other is the adaptive Δ-causality control [21].

In the Δ-causality control, each MU has a time limit which is equal to the generation time of the MU plus Δ seconds for preservation of the real-time property. The control output the MU at the time limit, and if the MU is received after the time limit, it is discarded because it is considered useless. The adaptive Δ-causality control dynamically changes the value of Δ according to the network load. The control does not discard an MU received after the time limit and uses the MU for prediction.
