11 research outputs found
Network Coding Over SATCOM: Lessons Learned
Satellite networks provide unique challenges that can restrict users' quality
of service. For example, high packet erasure rates and large latencies can
cause significant disruptions to applications such as video streaming or
voice-over-IP. Network coding is one promising technique that has been shown to
help improve performance, especially in these environments. However,
implementing any form of network code can be challenging. This paper will use
an example of a generation-based network code and a sliding-window network code
to help highlight the benefits and drawbacks of using one over the other.
In-order packet delivery delay, as well as network efficiency, will be used as
metrics to help differentiate between the two approaches. Furthermore, lessoned
learned during the course of our research will be provided in an attempt to
help the reader understand when and where network coding provides its benefits.Comment: Accepted to WiSATS 201
Immersive interconnected virtual and augmented reality : a 5G and IoT perspective
Despite remarkable advances, current augmented and virtual reality (AR/VR) applications are a largely individual and local experience. Interconnected AR/VR, where participants can virtually interact across vast distances, remains a distant dream. The great barrier that stands between current technology and such applications is the stringent end-to-end latency requirement, which should not exceed 20 ms in order to avoid motion sickness and other discomforts. Bringing AR/VR to the next level to enable immersive interconnected AR/VR will require significant advances towards 5G ultra-reliable low-latency communication (URLLC) and a Tactile Internet of Things (IoT). In this article, we articulate the technical challenges to enable a future AR/VR end-to-end architecture, that combines 5G URLLC and Tactile IoT technology to support this next generation of interconnected AR/VR applications. Through the use of IoT sensors and actuators, AR/VR applications will be aware of the environmental and user context, supporting human-centric adaptations of the application logic, and lifelike interactions with the virtual environment. We present potential use cases and the required technological building blocks. For each of them, we delve into the current state of the art and challenges that need to be addressed before the dream of remote AR/VR interaction can become reality
Adaptive Causal Network Coding with Feedback for Multipath Multi-hop Communications
We propose a novel multipath multi-hop adaptive and causal random linear
network coding (AC-RLNC) algorithm with forward error correction. This
algorithm generalizes our joint optimization coding solution for point-to-point
communication with delayed feedback. AC-RLNC is adaptive to the estimated
channel condition, and is causal, as the coding adjusts the retransmission
rates using a priori and posteriori algorithms. In the multipath network, to
achieve the desired throughput and delay, we propose to incorporate an adaptive
packet allocation algorithm for retransmission, across the available resources
of the paths. This approach is based on a discrete water filling algorithm,
i.e., bit-filling, but, with two desired objectives, maximize throughput and
minimize the delay. In the multipath multi-hop setting, we propose a new
decentralized balancing optimization algorithm. This balancing algorithm
minimizes the throughput degradation, caused by the variations in the channel
quality of the paths at each hop. Furthermore, to increase the efficiency, in
terms of the desired objectives, we propose a new selective recoding method at
the intermediate nodes. We derive bounds on the throughput and the mean and
maximum in order delivery delay of AC-RLNC, both in the multipath and multipath
multi-hop case. In the multipath case, we prove that in the non-asymptotic
regime, the suggested code may achieve more than 90% of the channel capacity
with zero error probability. In the multipath multi-hop case, the balancing
procedure is proven to be optimal with regards to the achieved rate. Through
simulations, we demonstrate that the performance of our adaptive and causal
approach, compared to selective repeat (SR)-ARQ protocol, is capable of gains
up to a factor two in throughput and a factor of more than three in delay
Reliable Packet Streams with Multipath Network Coding
With increasing computational capabilities and advances in robotics, technology is at the verge of the next industrial revolution. An growing number of tasks can be performed by artificial intelligence and agile robots. This impacts almost every part of the economy, including agriculture, transportation, industrial manufacturing and even social interactions. In all applications of automated machines, communication is a critical component to enable cooperation between machines and exchange of sensor and control signals.
The mobility and scale at which these automated machines are deployed also challenges todays communication systems. These complex cyber-physical systems consisting of up to hundreds of mobile machines require highly reliable connectivity to operate safely and efficiently. Current automation systems use wired communication to guarantee low latency connectivity. But wired connections cannot be used to connect mobile robots and are also problematic to deploy at scale. Therefore, wireless connectivity is a necessity. On the other hand, it is subject to many external influences and cannot reach the same level of reliability as the wired communication systems.
This thesis aims to address this problem by proposing methods to combine multiple unreliable wireless connections to a stable channel. The foundation for this work is Caterpillar Random Linear Network Coding (CRLNC), a new variant of network code designed to achieve low latency. CRLNC performs similar to block codes in recovery of lost packets, but with a significantly decreased latency. CRLNC with Feedback (CRLNC-FB) integrates a Selective-Repeat ARQ (SR-ARQ) to optimize the tradeoff between delay and throughput of reliable communication. The proposed protocol allows to slightly increase the overhead to reduce the packet delay at the receiver. With CRLNC, delay can be reduced by more than 50 % with only a 10 % reduction in throughput. Finally, CRLNC is combined with a statistical multipath scheduler to optimize the reliability and service availability in wireless network with multiple unreliable paths. This multipath CRLNC scheme improves the reliability of a fixed-rate packet stream by 10 % in a system model based on real-world measurements of LTE and WiFi.
All the proposed protocols have been implemented in the software library NCKernel. With NCKernel, these protocols could be evaluated in simulated and emulated networks, and were also deployed in several real-world testbeds and demonstrators.:Abstract 2
Acknowledgements 6
1 Introduction 7
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Use Cases and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Opportunities of Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 State of the Art of Multipath Communication 19
2.1 Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Data Link Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Network Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Transport Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Application Layer and Session Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 Research Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 NCKernel: Network Coding Protocol Framework 27
3.1 Theory that matters! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 Socket Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 En-/Re-/Decoder API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.4 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.5 Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5 Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 Low-Latency Network Coding 35
4.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Random Linear Network Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3 Low Latency Network Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4 CRLNC: Caterpillar Random Linear Network Coding . . . . . . . . . . . . . . . . . . 38
4.4.1 Encoding and Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.4.2 Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4.3 Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.2 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5.3 Packet Loss Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5.4 Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5.5 Window Size Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5 Delay-Throughput Tradeoff 55
5.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Network Coding with ARQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3 CRLNC-FB: CRLNC with Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3.1 Encoding and Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.2 Decoding and Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.3 Retransmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.2 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4.3 Systematic Retransmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4.4 Coded Packet Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.4.5 Comparison with other Protocols . . . . . . . . . . . . . . . . . . . . . . . . 67
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6 Multipath for Reliable Low-Latency Packet Streams 73
6.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.3 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3.1 Traffic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3.2 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3.3 Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3.4 Reliability Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4 Multipath CRLNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.4.1 Window Size for Heterogeneous Paths . . . . . . . . . . . . . . . . . . . . . 77
6.4.2 Packet Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.5.1 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.5.2 Preliminary Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.5.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7 Conclusion 94
7.1 Results and Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.2 Future Research Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Acronyms 99
Publications 101
Bibliography 10