This section details use cases where Network Coding techniques could improve SATCOM system performance.
This use case considers two-way communication between end users through a satellite link, as seen in
Figure 2.
Satellite terminal A sends a packet flow A, and satellite terminal B sends a packet flow B, to a coding server. The coding server then sends a combination of both flows instead of each individual flow. This results in non-negligible capacity savings, which has been demonstrated in the past [
ASMS2010]. In the example, a dedicated coding server is introduced (note that its location could be different based on deployment use case). The Network Coding operations could also be done at the satellite level, although this would require a lot of computational resources onboard and may not be supported by today's satellites.
-X}- : traffic from satellite terminal X to the server
={X+Y= : traffic from X and Y combined sent from
the server to terminals X and Y
+-----------+ +-----+
|Sat term A |--A}-+ | |
+-----------+ | | | +---------+ +------+
^^ +--| |--A}--| |--A}--|Coding|
|| | SAT |--B}--| Gateway |--B}--|Server|
===={A+B=========| |={A+B=| |={A+B=| |
|| | | +---------+ +------+
vv +--| |
+-----------+ | | |
|Sat term B |--B}-+ | |
+-----------+ +-----+
The use of multicast servers is one way to better utilize satellite broadcast capabilities. As one example, satellite-based multicast is proposed in the Secure Hybrid In Network caching Environment (SHINE) project of the European Space Agency (ESA) [
NETCOD-FUNCTION-VIRT] [
SHINE]. This use case considers adding redundancy to a multicast flow depending on what has been received by different end users, resulting in non-negligible savings of the scarce SATCOM resources. This scenario is shown in
Figure 3.
-Li}- : packet indicating the loss of packet i of a multicast flow M
={M== : multicast flow including the missing packets
+-----------+ +-----+
|Terminal A |-Li}-+ | |
+-----------+ | | | +---------+ +------+
^^ +-| |-Li}--| | |Multi |
|| | SAT |-Lj}--| Gateway |--|Cast |
===={M==========| |={M===| | |Server|
|| | | +---------+ +------+
vv +-| |
+-----------+ | | |
|Terminal B |-Lj}-+ | |
+-----------+ +-----+
A multicast flow (M) is forwarded to both satellite terminals A and B. M is composed of packets Nk (not shown in
Figure 3). Packet Ni (respectively Nj) gets lost at terminal A (respectively B), and terminal A (respectively B) returns a negative acknowledgment Li (respectively Lj), indicating that the packet is missing. Using coding, either the access gateway or the multicast server can include a repair packet (rather than the individual Ni and Nj packets) in the multicast flow to let both terminals recover from losses.
This could also be achieved by using other multicast or broadcast systems, such as NACK-Oriented Reliable Multicast (NORM) [
RFC 5740] or File Delivery over Unidirectional Transport (FLUTE) [
RFC 6726]. Both NORM and FLUTE are limited to block coding; neither of them supports more flexible sliding window encoding schemes that allow decoding before receiving the whole block, which is an added delay benefit [
RFC 8406] [
RFC 8681].
This use case considers improving multiple-path communications with Network Coding at the transport layer (see
Figure 4, where DSL stands for "Digital Subscriber Line", LTE for "Long Term Evolution", and SAT for "SATellite"). This use case is inspired by the Broadband Access via Integrated Terrestrial Satellite Systems (BATS) project and has been published as an ETSI Technical Report [
ETSI-TR-2017].
To cope with packet loss (due to either end-user mobility or physical-layer residual errors), Network Coding can be introduced. Depending on the protocol, Network Coding could be applied at the Customer Premises Equipment (CPE), the concentrator, or both. Apart from coping with packet loss, other benefits of this approach include a better tolerance for out-of-order packet delivery, which occurs when exploited links exhibit high asymmetry in terms of Round-Trip Time (RTT). Depending on the ground architecture [
5G-CORE-YANG] [
SAT2017], some ground equipment might be hosting both SATCOM and cellular network functionality.
-{}- : bidirectional link
+---+ +--------------+
+-{}-|SAT|-{}-|BACKBONE |
+----+ +---+ | +---+ |+------------+|
|End |-{}-|CPE|-{}-| ||CONCENTRATOR||
|User| +---+ | +---+ |+------------+| +-----------+
+----+ |-{}-|DSL|-{}-| |-{}-|Application|
| +---+ | | |Server |
| | | +-----------+
| +---+ | |
+-{}-|LTE|-{}-+--------------+
+---+
This use case considers using Network Coding in the scenario where a lossy WiFi link is used to connect to the SATCOM network. When encrypted end-to-end applications based on UDP are used, a Performance Enhancing Proxy (PEP) cannot operate; hence, other mechanisms need to be used. The WiFi packet losses will result in an end-to-end retransmission that will harm the quality of the end user's experience and poorly utilize SATCOM bottleneck resources for traffic that does not generate revenue. In this use case, adding Network Coding techniques will prevent the end-to-end retransmission from occurring since the packet losses would probably be recovered.
The architecture is shown in
Figure 5.
-{}- : bidirectional link
-''- : WiFi link
C : where Network Coding techniques could be introduced
+----+ +--------+ +---+ +-------+ +-------+ +--------+
|End | |Sat. | |SAT| |Phy | |Access | |Network |
|user|-''-|Terminal|-{}-| |-{}-|Gateway|-{}-|Gateway|-{}-|Function|
+----+ +--------+ +---+ +-------+ +-------+ +--------+
C C C C
This use case considers the usage of Network Coding to cope with subsecond physical channel condition changes where the physical-layer mechanisms (Adaptive Coding and Modulation (ACM)) may not adapt the modulation and error-correction coding in time; the residual errors lead to higher-layer packet losses that can be recovered with Network Coding. This use case is mostly relevant when mobile users are considered or when the satellite frequency band introduces quick changes in channel condition (Q/V bands, Ka band, etc.). Depending on the use case (e.g., bands with very high frequency, mobile users), the relevance of adding Network Coding is different.
The system architecture is shown in
Figure 6.
-{}- : bidirectional link
C : where Network Coding techniques could be introduced
+---------+ +---+ +--------+ +-------+ +--------+
|Satellite| |SAT| |Physical| |Access | |Network |
|Terminal |-{}-| |-{}-|Gateway |-{}-|Gateway|-{}-|Function|
+---------+ +---+ +--------+ +-------+ +--------+
C C C C
This use case considers the recovery of packets that may be lost during gateway handover. Whether for off-loading a given equipment or because the transmission quality differs from gateway to gateway, switching the transmission gateway may be beneficial. However, packet losses can occur if the gateways are not properly synchronized or if the algorithm used to trigger gateway handover is not properly tuned. During these critical phases, Network Coding can be added to improve the reliability of the transmission and allow a seamless gateway handover.
Figure 7 illustrates this use case.
-{}- : bidirectional link
! : management interface
C : where Network Coding techniques could be introduced
C C
+--------+ +-------+ +--------+
|Physical| |Access | |Network |
+-{}-|gateway |-{}-|gateway|-{}-|function|
| +--------+ +-------+ +--------+
| ! !
+---------+ +---+ +---------------+
|Satellite| |SAT| | Control-plane |
|Terminal |-{}-| | | manager |
+---------+ +---+ +---------------+
| ! !
| +--------+ +-------+ +--------+
+-{}-|Physical|-{}-|Access |-{}-|Network |
|gateway | |gateway| |function|
+--------+ +-------+ +--------+
C C