Implementation of Network coding on Commercial Platforms

Network coding has a significant impact on the research community with different application fields. As network coding differs conceptually from source and channel coding, the implementation of network coding is still challenging. In this extended abstract, we will highlight the activities of the network coding research activities at Aalborg Universities. The application of network coding is mainly focusing on commercial platforms. The main reasoning for that is that is can be reproduced by other researchers around the world and it is easily usable for teaching. Aalborg University (together with MIT as the main collaborator) started early with the implementation of new research ideas on mobile devices. The main motivation was to deploy novel ideas on standard commercial platforms to get a higher acceptance for new ideas especially in the field of user cooperation. As the success of user cooperation depends on the efficient communication among the mobile devices, network coding is a key technology for network coding. Early implementations of network coding at Aalborg University were focusing on COPE [1] ideas [2]. The COPE concept was easy to implement and results were achieved quickly. In parallel the implementation of random linear network coding (RLNC) took place. But in contrast to COPE, RLNC was hard to implement. First implementations led to low performance due to the wrong parameterization (large field and generation sizes resulted in low coding rates) of network coding. But as shown in [3] the coding rates could be increased over the years even for low complexity mobile devices. E.g. an Nokia N95 with 330MHz achieved coding rates between 20 and 40 MB/s. Out of x¡this work a software library called KODO was started. The KODO library is a general network coding library for commercial platforms. It can be easily applied to smart phones and it has been done for Android, iPhone, WM7, and MeeGoo. The idea is to facilitate the implementation of network coding and allow other research to make use of the software library to hide the complexity behind the actual coding operations. The software library is freely available for research purposes and can be downloaded at [4]. In order to increase the acceptance of network coding, first applications have been derived for that platform. E.g. the application photofeeder that allows sharing of pictures among mobile devices. The application allows sharing photos that are stored on one device with devices that are close to the originating device. Network coding supports this in efficiently sending the information from the originating device to the neighboring devices as well as supporting multi hop topologies. A second implementation path is the use of network coding Fig. 1. This subtitle can also be skipped. on wireless meshed routers based on IEEE802.11. In the project CATWOMAN network coding is combined with the routing scheme B.A.T.M.A.N. In a first version simple XOR coding schemes are implemented. This simple approach has been adopted already by the B.A.T.M.A.N. group . Therefore every OPENMESH is now enabled to use network coding if configured. The future is to deploy even random linear network coding using KODO. This would increase the gain and relax the dependency of the traffic patterns that we are currently suffering from. In other words the CATWOMAN approach supports currently INTER FLOW network coding and with the introduction of KODO it will also allow to support INTRA FLOW network coding. The CATWOMAN approach is also downloadable [5]. In order to let researchers and students let try out the network coding with CATWOMAN, a new project was started. This new project is turning every laptop in a network coding enabled node by booting a LINUX system from a USB stick. After booting from the USB stick, there is a graphical user interfaces to communicate among the nodes and even to manage the network topology.