# An Implementation of Network Coding with Association Policies in Heterogeneous Networks

Ashutosh Kulkarni, Michael Heindlmaier, Danail Traskov, Marie-Jose Montpetit, Muriel Médard

► To cite this version:

Ashutosh Kulkarni, Michael Heindlmaier, Danail Traskov, Marie-Jose Montpetit, Muriel Médard. An Implementation of Network Coding with Association Policies in Heterogeneous Networks. International IFIP TC 6 Workshops PE-CRN, NC-Pro, WCNS, and SUNSET 2011 Held at NETWORKING 2011 (NETWORKING), May 2011, Valencia, Spain. pp.110-118, 10.1007/978-3-642-23041-7_11 hal-01587852

HAL Id: hal-01587852

https://inria.hal.science/hal-01587852

Submitted on 14 Sep 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# An Implementation of Network Coding with Association Policies in Heterogeneous Networks

Ashutosh Kulkarni¹, Michael Heindlmaier¹, Danail Traskov¹, Marie-José Montpetit², and Muriel Médard²

¹ LNT, TUM, Germany
{ashutoshbkulkarni}@ieee.org
{michael.heindlmaier,danail.traskov}@tum.de
http://www.lnt.ei.tum.de/
² RLE, MIT, USA
{mariejo,medard}@mit.edu
http://www.rle.mit.edu/

**Abstract.** This paper presents a wireless network performance study of a modified TCP/IP protocol stack with a network coding layer inserted between the transport and the network layer. The simulation was performed with the OPNET simulation tool and considered a heterogeneous wireless environment where a mobile device could connect to both LTE (Long Term Evolution) and WLAN (wireless LAN) networks. We simulate various user-network association policies in such an environment with the goal of usage cost optimization under a Quality of Service (QoS) constraint. The results show that using a threshold-based online policy the network usage cost can be reduced significantly while remaining within the user's QoS requirements.

**Keywords:** TCP/IP protocol stack, network coding, OPNET, heterogeneous wireless environment, user-network association, cost optimization.

## 1 Introduction

Network coding is a promising technique that provides benefits such as throughput improvement, reduced delays and loss resiliency [6], [7]. It has proven its merits over traditional routing and forwarding approaches by considering data as algebraic entities that can be modified inside the elements of both wireline and wireless networks[6], [7], [8]. We use the solution proposed in [1], [2] and implement it in the widely used OPNET Modeler [9]. Following [1] the model introduces a network coding layer between the transport and network layers of the TCP/IP protocol stack. This solution does not require any changes to the behavior of the Transmission Control Protocol (TCP) or the Internet Protocol (IP) as packets are seamlessly transmitted across the known interfaces [2].

A large variety of wireless technologies such as second-generation (2G), third-generation (3G) and pre-4G also known as Long Term Evolution (LTE) cellular, Wi-Fi/WLAN and WiMAX are being widely deployed and currently co-existent
but not collaborating. These networks provide worldwide internet access to mul-
tihomed clients operating over the heterogeneous interfaces [3]. Mobile devices
with multiple interfaces (3G and Wi-Fi for example) are widely available in
the markets. These devices must decide on associating with one or more access
networks. The usage costs for accessing these networks can vary greatly. For
example, accessing the base station of a cellular network can result in high data
charges, while it might be possible to receive the same information from the
access point of a local Wi-Fi for free. However, the cellular network may pro-
vide better reliability, whereas the Wi-Fi network is usually best-effort. Hence
a user would prefer to use the free or less costly Wi-Fi connection as much as
possible and to use the costly network intermittently only to satisfy Quality of
Service (QoS) demands. In [4] individually optimal user-network association in
WLAN-UMTS networks has been studied under a non-cooperative game frame-
work. The mobile user decides only at the start of the session to which network
to connect depending on the estimate of expected required service time. In [3]
the authors propose a data broadcast mechanism for network association and
adaptive network coding based on Lagrangean relaxation and demonstrate that
these problems are NP-hard. User-network association decisions can be optimal
when the decision process becomes stationary Markov with respect to the user's
state [5].

In our work, we simulate a network coded TCP connection which uses two
different paths. Intuitively, we assume that network coding will remove the need
for coordination between these heterogeneous networks and will eliminate the
tight control required in routing to avoid reception of duplicate packets, besides
its capability of erasure-correction. This provides the basis for the work presented
in this paper.

The remainder of the paper is summarized as follows: In Section 2 we present
our simulation setup based on the widely used event-driven OPNET Modeler.
Section 3 introduces the network coding layer and the packet format used in the
simulation. In Section 4 the actual association policies are defined along with
their implementation in the OPNET Modeler; these policies necessitated novel
ways of using the modeler to realize the heterogeneous receiver. Section 5 shows
the results and Section 6 concludes with a summary of the salient findings of the
study as well as with thoughts on how to continue the work in the future.

## 2 Simulation Setup

Fig. 1 shows a simulation setup where a user can connect to an LTE network and a WLAN hotspot at the same time. These two networks are independent since the transmission activity in one network does not create interference with the other [4]. In such a heterogeneous environment, consider a multihomed client requesting a multimedia application from a server, for instance, a video streaming session. Such applications typically run as progressive downloads over the Hypertext Transfer Protocol (HTTP) that runs over TCP. The server divides a media file into chunks, which are then further divided into packets for transmis-
<figure><img src="image_2.png" /><figcaption>Fig. 1: Simulation setup.</figcaption></figure>

sion. Network coding is employed to mix these packets, and combined packets are sent over both networks. By using network coding we eliminate the need for coordination between the two networks at the receiver side and issues related to packet re-ordering at the receiver: The two different channels can be re-combined because of the network coding inherent structure. This feature enables the information to be delivered in a more elastic way over a capacity-limited network, and optimal end-to-end throughput can be achieved [3]. After the client has received a complete chunk, it is passed to the application layer.

In this hybrid scenario, we study the performance of several policies for user-network association. The goal is to use the free WLAN for most of the time and use the costly LTE network only to satisfy the QoS constraints.

## 3 Implementation of Network Coding in the OPNET Modeler

*Architecture* In order to guarantee interoperability with legacy protocols, we seek to have a seamless integration of network coding functionalities into the protocol stack. To this end, we rely on the architecture proposed in [1], [2] as shown in Fig. 2a. In a nutshell, the network coding (NWC) layer combines TCP packets in the coding window in a random linear fashion. The coding window, with maximum size fixed to *W*, is the subset of TCP packets that are linearly combined until they are acknowledged by the receiver module. For each TCP packet, the NWC layer sends out *R* > 1 coded packets on average, with *R* denoting the redundancy factor. If this factor is high enough, the NWC layer can mask packet losses in the network to the TCP. The receiver NWC module retrieves original TCP packets by performing Gaussian elimination on received
randomly combined packets. For more details about the implementation in the OPNET Modeler, please refer to [10].

<figure><img src="image_3.png" /><figcaption>(a) Modified Stack Architecture</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>(b) Packet Format used by NWC Module</figcaption></figure>

<caption>Fig. 2: Modified TCP/IP protocol stack in the OPNET Modeler.</caption>

*Packet Format* Fig. 2b shows the packet format used by the network coding (NWC) module. This packet format is a modified version of the packet format used in [2]. This header structure adds (9+2n) bytes of overhead, where n is the number of source packets involved in the random linear combination. Note that for TCP control packets, only the first 8 bytes are prepended as these packets are not involved in coding operations. The coding vector information in the header is packet-based as opposed to byte-based in [2] that helps reducing the header overhead. Typically, TCP segments have a length of around 1500 bytes. With maximum value of n = W = 12, the NWC header overhead per TCP segment will be 2.2% in contrast to 4.467% for the packet format proposed in [2] which adds (7+5n) bytes of overhead. For a more detailed description, refer to [10].

*Process Model* The network coding protocol as described in [1], [2] is implemented in a new OPNET process model. The sender NWC module generates and sends *R* random linear combinations of the packets in the coding window. As mentioned above, the coding window is the subset of TCP packets stored in a coding buffer until they are ACKed by the receiver module. *W* is a fixed parameter used by the NWC module for the maximum coding window size. The receiver NWC module retrieves original TCP packets by performing Gaussian elimination on the received randomly combined packets [10]. We do not perform actual coding operations on buffered TCP packets in the simulation. Instead, we add an appropriate NWC header assuming that the coding operation has been performed on the TCP packets. As payload, we will encapsulate an unformatted packet of modeled bulk size equal to the length of the largest packet within the coding window.
## 4 Heterogeneous Network Model

In OPNET, multihomed clients with multiple interfaces can be created using the device creator utility. However, in our version, the OPNET Modeler does not support a heterogeneous client that can support LTE & WLAN technologies jointly. Hence, we combine the models for the LTE & WLAN workstation, which are already available, into one heterogeneous client, as shown in Fig. 3. The WLAN client will behave as a virtual client and deliver received packets to the LTE client directly using OPNET kernel procedures. Hence these two clients together form a NWC receiver and can be considered as a single client with heterogeneous connections.

<figure><img src="image_5.png" /><figcaption>Fig. 3: OPNET realization for heterogeneous client.</figcaption></figure>

*Association Policies* An association policy is a decision policy for user-network association based on an individual decision cost criteria, for example aiming at a minimal use of the LTE network while maintaining the QoS constraints.

A deterministic association policy [5] denoted by $\pi$ is a Boolean function defined as

$$ \pi(t) = \begin{cases} 0 & \text{if only the WLAN network is used,} \\ 1 & \text{if both LTE \& WLAN networks are used,} \end{cases} \qquad (1) $$

and the total cost associated with this policy is given by

$$ C^{\pi} = C_{WLAN} \cdot \tau + C_{LTE} \cdot \int_{0}^{\tau} \pi(t)dt, \qquad (2) $$

where $\tau$ is the time required to complete a file download from the server (hereafter called as a download response time) and $C_{WLAN}$ & $C_{LTE}$ are the costs per unit time for using the WLAN and the LTE networks, respectively. The optimization problem is to minimize the cost required to download a media file while keeping the download response time within a certain maximum value ($\tau \le \tau^*$).
We have adopted the following policies from [5], applied them to our specific technologies and implemented them in the OPNET Modeler:

1. Offline Policy: The decision for association is made at the start of service use and is not changed afterwards. A client with this policy uses both the LTE and WLAN networks for the time period $t_s$ from the start of the service. After that, it uses only the WLAN network.

2. Online Policy: The decision for association is made online during the use of service depending on policy parameters. A client with this policy uses the LTE network along with the WLAN network only if the receiver buffer size drops below the threshold value $T$, else it uses only the WLAN network.

In contrast to [5], we assumed discrete time as the OPNET Modeler is a discrete event simulator [9]. For simplicity, the decision for association made at the user is conveyed to the server node using a remote interrupt method [9] instead of sending the request through the channel.

## 5 Simulation Results

We tested the performance of the proposed NWC protocol on a TCP flow running from a server to a user connected to both the LTE and the WLAN network. The WLAN channel uses Direct Sequence Spread Spectrum (DSSS) as modulation scheme and supports a bit-rate of 2Mbps. We model losses within the network (see Fig. 1): Lost packets will not be recovered by the link layer retransmissions and will have to be corrected above IP. The LTE channel PHY parameters are set as default: No packet losses are experienced in the LTE channel in this setup. We model the progressive download by an FTP application traffic model from the OPNET standard model library. The size of the file to be transferred is chosen as 5MB. All TCP control traffic runs over the LTE network. Further, we choose a redundancy factor, $R = 1.25$ and a maximum coding window size, $W = 4$ for the NWC module. So, for each 4 TCP packets in the coding window, 5 coded packets will be sent. This choice of parameters for NWC module turned out to be the best one for this setup [10].

We compared the offline policies and the online policies including the limiting case where the user is only using the WLAN network. We assume that the application requires a playout rate of 240kbps and the user starts playout after an initial delay of 5 seconds.

Fig. 4 compares the performance of the simulated association policies in terms of the download response time and the usage of the LTE network. The usage of the LTE network is shown as a fractional cost in percentage calculated as below:

$$ \text{Fractional cost in } \% = \frac{\text{Total Cost associated with the policy used}}{\text{Total Cost if only the LTE network is used}} \times 100. \quad (3) $$

<footnote n="3">³ The LTE network alone turns out to be sufficient to satisfy the required QoS constraints in this setup. However, as the objective is cost minimization, we try to keep the usage as low as possible.</footnote>
<figure><img src="image_6.png" /><figcaption>Fig. 4: Performance evaluation for various association policies.</figcaption></figure>

For the cost analysis above, a unit cost per received byte is assigned for the LTE network and the WLAN network is considered to be free.

Using only the WLAN network provides an upper bound in terms of the download response time and a lower bound in terms of the cost for downloading the media file (free). With losses less than 5% in the WLAN network, network coding masks the packet drops to TCP and achieves the required rate and delay constraints at the user side. Hence the user will only use the WLAN network. When losses in the WLAN network are increasing, the LTE network is used to maintain the QoS. Coded packets coming from the LTE network can help to reduce the download response time. For the offline policy, the LTE network only helps to compensate for the losses in the WLAN link during the time period of $t_s$ at the start of application.

The online policy uses the LTE network intermittently to maintain the receiver buffer size at the threshold level to guarantee playout without interruptions. With packet losses in the WLAN network, the receiver buffer level starts dropping. When it reaches the threshold value selected by the online policy, the user decides to use the LTE network. The combined use of both networks helps the receiver to refill the playout buffer. Due to the costs introduced by the use of the LTE network, only the free WLAN network is used once the buffer level goes above the threshold value. For higher losses in the WLAN network, the receiver buffer drops below the threshold size more often and hence the LTE network is used more frequently, resulting in increased cost. However, the download response time for a media file is still within the maximum download response time, $\tau_{max} = 5MB/240kbps = 166.67$ seconds. Fig. 4 shows that the usage cost is significantly reduced by the online policy with a guaranteed QoS. Even with 20% losses in the WLAN network, the LTE network is only infrequently used to maintain the QoS, reducing the cost by around 65%.

Fig. 5 shows the playout curves and buffer levels at the receiver for the online and offline policy with parameters selected in such a way that no interruptions occur. It turns out that $t_s = 70$ seconds and $T = 150kB$ satisfy the QoS de-
<figure><img src="image_7.png" /><figcaption>(a) Playout curve for offline policy with $t_s = 70$ seconds</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>(b) Playout curve for online policy with threshold level $T = 150kB$</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>(c) Buffer fullness for offline policy with $t_s = 70$ seconds</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>(d) Buffer fullness for online policy with threshold level $T = 150kB$</figcaption></figure>

Fig. 5: Buffer level and playout curves at the receiver for a 20% loss probability in the WLAN channel and a lossless LTE channel.

For the application (playout rate = 240kbps with initial playout delay = 5 seconds). However, the cost associated with the online policy is about one third of the cost associated with the offline policy. The buffer fullness in Fig. 5c and 5d is the difference between the number of bytes received and the playout curve in Fig. 5a, 5b, respectively. For the offline policy, we have to buffer a huge amount of the data before playout without interruptions can be achieved. The online policy is more flexible: The LTE network is used when the buffer level is below the threshold. There is no playout interruption, as the buffer level never drops below zero.

## 6 Conclusion and Future Work

We implemented network coding in the TCP/IP protocol stack in the OPNET Modeler. We considered a media streaming application with LTE & WLAN networks and evaluated the performance of our solution. Various decision policies of user-network association were simulated in this heterogeneous wireless environment to optimize costs under QoS constraints. The results show that network coding helps reducing the interdependence between the networks. The threshold-based online policy turns out to be an improved policy for which the
network usage cost is significantly reduced while remaining within the user's QoS demands. The availability of the higher-cost LTE network as a backup network improves the overall performance of media streaming without incurring a significant usage cost.

In this study the network coded operations were end-to-end, for a TCP flow running from the server to a client. The main focus for future work is to investigate the scalability of the system in the case where many users request media files and compete for network resources. The benefits of network coding in masking the losses in the network to achieve fast transmission of data and to avoid retransmissions of lost data may also lead us to investigate network coding at the Medium Access Control layer. Hence, a base station (eNodeB) in the LTE network and an access point (AP) in the WLAN network could also use network coding.

**Acknowledgments.** The authors would like to thank the OPNET university relation team for their logistical support and Minji Kim of MIT for her technical advice during the project.

This work was supported by the European Commission through the FP7 Network of Excellence in Wireless Communications (NEWCOM++) and by the France Telecom S.A. Under Award Number: 018499-00.

## References

1. Sundararajan, J. K., Shah, D., Médard, M., Mitzenmacher, M., Barros, J.: Network coding meets TCP. In: IEEE INFOCOM, pp. 280–288. (2009)

2. Sundararajan, J. K., Shah, D., Médard, M., Jakubczak, S., Mitzenmacher, M., Barros, J.: Network Coding Meets TCP: Theory and Implementation. In: Proceedings of the IEEE, vol.99, no.3, pp.490-512. (2011)

3. Yang, D. N., Chen, M. S.: Data Broadcast with Adaptive Network Coding in Heterogeneous Wireless Networks. IEEE Trans. on Mobile Computing, 109–125 (2009)

4. Kumar, D., Altman, E., Kelif, J.-M.: User-Network Association in a WLAN-UMTS Hybrid Cell: Individual Optimality. In: IEEE Sarnoff Symposium, pp. 1–6. (2007)

5. ParandehGheibi, A., Ozdaglar, A. E., Médard, M., Shakkottai, S.: Access-Network Association Policies for Media Streaming in Heterogeneous Environments. In: Proceedings of CDC, (2010)

6. Koetter, R., Médard, M.: An Algebraic Approach to Network Coding. IEEE/ACM Transactions on Networking, 782–795 (2003)

7. Fragouli, C., Le Boudec, J. Y., Widmer, J.: Network Coding: An Instant Primer. Computer Communication Review, 63–68 (2006)

8. Ho, T., Médard, M., Koetter, R., Karger, D. R., Effros, M., Shi, J., Leong, B.: A random linear network coding approach to multicast. IEEE Transactions on Information Theory, 4413–4430 (2006)

9. OPNET Modeler, http://www.opnet.com/

10. Kulkarni, A.: Network Coding for Heterogeneous Networks. Master Thesis, Institute for Communications Engineering, Munich University of Technology, (2010)