Network optimisation and topology control of Free Space Optics

Size: px
Start display at page:

Download "Network optimisation and topology control of Free Space Optics"

Transcription

1 LiU-ITN-TEK-A-15/064--SE Network optimisation and topology control of Free Space Optics Emil Hammarström Department of Science and Technology Linköping University SE Norrköping, Sweden Institutionen för teknik och naturvetenskap Linköpings universitet Norrköping

2 LiU-ITN-TEK-A-15/064--SE Network optimisation and topology control of Free Space Optics Examensarbete utfört i Elektroteknik vid Tekniska högskolan vid Linköpings universitet Emil Hammarström Handledare Scott Fowler Examinator Di Yuan Norrköping

3 Upphovsrätt Detta dokument hålls tillgängligt på Internet eller dess framtida ersättare under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: Emil Hammarström

4 Network optimization and topology control of Free Space Optics Emil Hammarström, Tobias Nordkvist December 2, 2015

5 Abstract In communication networks today, the amount of users and traffic is constantly increasing. This results in the need for upgrading the networks to handle the demand. Free space optics is a technique which is relatively cheap with high capacity compared to most systems today. On the other hand, FSO have some disadvantages with the effects on the system by, for instance, turbulence and weather. The aim of the project is to investigate the use of network optimization for designing an optimal network in terms of capacity and cost. Routing optimization is also covered in terms of singlepath and multipath routing. To mitigate the problem with turbulence affecting the system network survivability is implemented with both proactive and reactive solutions. The method used is to implement the system in Matlab, the system should also be tested so that it works as intended. The report covers related work as well as theory behind FSO and the chosen optimization algorithms. The system uses modified Bellman-Ford optimization as well as Kruskal s minimum spanning tree. K-link-connectivity is also implemented for the network survivability and multipath algorithm. Results of the implementation shows that the network survivability improves the robustness of the system by changing paths for traffic which is affected by broken links. Routing done by multipath will increase the throughput and also reduce the delay for the traffic. Keywords: Free-space optics, Network optimization, Routing, Network survivability

6 Acknowledgements This thesis marks the end of the education and we would therefore thank everyone that has supported us throughout the entirety of the studies. For this thesis we would like to thank Scott Fowler and Di Yuan for the opportunity to go to China. We would also like to thank Xinjing Zhang for letting us come to Xian. Especial thanks to Song and all other members of the lab at Xian Jiaotong University for making our stay a wonderful time. Also huge thanks to Wu for letting us rent an apartment while we where there. Finally we want to thank the European Union for financing this project.

7 Abbreviations 5G Fifth Generation. AODV Ad-hoc On-Demand Distance Vector. CPU Central Processing Unit. CSI Channel state information. DETERMINE Designing future optical wireless communication networks. ECMP Equal Cost Multipath. fbm fractional Brownian motion. FEC Forward Error Correction. FSO Free Space Optics. GBR Guaranteed bit rate. IMS IP Multimedia System. IP Internet Protocol. IPv6 Internet Protocol version 6. LOS Line of sight. LRD Long-Range Dependent. LTE Long Term Evolution. MENTOR Mesh Network Topological Optimization and Routing. MIMO Multiple-input/multiple-output. µmwave micrometre Wavelength. MnD Minimize Delay. MST Minimum Spanning Tree. MxF Maximize Flow. MxFD Maximize Flow with Delay constraint. NC Network Coding. OD Origin-Destination. OSI Open Systems Interconnection. OSM Optical Spatial Modulation. OWC Optical Wireless Communication. PPM Pulse-Position Modulation. QCI QoS Class Identifier. QoS Quality of Service. RF Radio Frequency. SNR Signal-Noise Ratio. SRD Short-Range Dependent. TCP Transmission Control Protocol. THR Table-based Hashing with Reassignment. VoIP Voice over IP.

8 Contents abstract Acknowledgements Abbreviations ii iii iv List of Figures 4 List of Tables 4 1 Introduction Background Aim Method Delimitations Outline Related work Free-space optical communication through atmospheric turbulence channels A survey of clear-air propagation effects relevant to optical communications Optical repetition MIMO transmission with multipulse PPM Path generation issues for survivable network design Free-space optics optimization models for building sway and atmospheric interference using variable wavelength Fading reduction by aperture averaging and spatial diversity in optical wireless systems Outage probability of the gaussian MIMO free-space optical channel with PPM Multiple scattering in rain and fog on free-space optical links Design of cellular backhaul topology using the FSO technology On end-to-end delay minimization in wireless network under physical interference model Literature study OSI-model Data-link layer Network layer Quality of service Routing Multipath routing Network survivability Proactive survivability Reactive survivability Time complexity Resource allocation Redundancy Network coding

9 3.9.1 Forward error correction Theoretical background Algorithm study Shortest path problem Dijkstra algorithm Bellman-Ford Floyd-Warshall Minimum spanning tree - Kruskals algorithm Multipath algorithm Theoretical background of FSO Log-normal wireless optical channel Gamma-gamma wireless optical channel model Performance measures Short-range-dependent delay (SRD) Long-range-dependent delay (LRD) Implementation Experiments Bellman-Ford experiments Multipath routing Solution sketch of the implementation Parameters Mathematical formulations for the optimization algorithms Pseudo codes Bellman-Ford Kruskal s Minimum spanning tree Algorithm for network survivability Description of proactive single-path Description of proactive multipath Description of reactive algorithm Proactive single-path Proactive multipath Reactive algorithm Results 46 7 Discussion Analysis and discussion of the results System Conclusion 58 9 Future work 59 References 60 2

10 10 Math Abbreviations 63 3

11 List of Figures 3.1 The OSI-model AODV route discovery, the right part is the discovery of the destination and the left part is the route The global network consisting of nodes and links The different regions and clusters of the global network The network from the viewpoint of a node in the A-a cluster Illustration of ECMP routing Left image is a connected network and the right image is a disconnected network Visualization of two link-disjoint paths Two connectivity network Optimal route in red and the reserve route in blue Network using all available connections Optimized network using fewer links Illustration of the addtional redundancy data added Butterfly network with one source node and two destination nodes Step by step visualized Comparison for the SRD flow for log-normal Comparison for the LRD flow for log-normal Comparison for the SRD delay for log-normal Comparison for the LRD delay for log-normal Comparison for the SRD flow for gamma-gamma Comparison for the LRD flow for gamma-gamma Comparison for the SRD delay for gamma-gamma Comparison for the LRD delay for gamma-gamma List of Tables 3.1 QCI specification table for LTE Time complexity with different values for n Parameters Experiment numbering Reactive results single path log-normal Reactive results single path gamma-gamma Reactive results multipath log-normal Reactive results multipath gamma-gamma Proactive results multipath log-normal 2-links Proactive results multipath gamma-gamma 2-links

12 1 Introduction In the world today, the need for wireless connections are constant and the demand is continuously increasing. This is resulting in high demand for cost-effective and high bandwidth systems all over the globe. By introducing an optical wireless communication system called free space optics (FSO) there will be a higher possibility for the demands to be met. FSO is a technique where all communication is done by a transmitting laser that is sent from base stations that may be placed on for instance rooftops, but they can also be placed inside buildings and send data through windows. The laser then travels to the destination by travelling from base station to base station and the laser may also bounce on mirrors. There are many factors that affect this kind of technique in a negative way, one example is turbulence and another factor is the weather. Other limitations with FSO is that the base stations have to be in line of sight of each other, even though the laser may travel a long distance. One thing that is an advantage with this kind of technique is that it can be combined with the current optical fibres that already exists. This is very important since countries are putting in huge investments to implement optical fibres. This technique is currently under development at several fronts. This project and report covers a part of the research, which is network and routing optimization with topology control for network survivability. This is important since the design of the physical network will have a great effect on the performance and also the cost of the implementation of the physical network. Routing will on the other hand ensure that the traffic is handled in an efficient way which will also reduce the cost due to resource allocation while improving the quality of service. In this project different routing techniques will be tested to evaluate different routing algorithms that provides an optimal route at as short calculation time for the optimization as possible. The physical network design optimization will be done in such a way that the cost will be taken into consideration while obtaining as high throughput as possible in the network. The implementation is also able to handle changes in the network, such as link failure which can occur due to turbulence or weather conditions. This is also done to ensure that the users of the network has a satisfying experience. In the future the techniques that FSO is built on will most likely be used in 5G networks, which is also why these kind of projects are of importance for the development of networks. The focus of this project is the link layer (layer two) and network layer (layer three) in the OSI-model, while other projects will consider other layers. 1.1 Background The need for cost-effective communication systems has started a lot of research in the area of wireless communication systems. With the continuously increasing demand, the society is interested in fulfilling the peoples demands at a reasonable cost. One other use of wireless networks that is increasing is the mobile and Wi-Fi data traffic usage, video streaming is a type of traffic that has a very large increase today. The mobile data traffic is increasing dramatically and will continue to increase more than before. According to a report made by the International Telecommunication Union, the mobile data traffic will increase 33 times between 2010 and The same report states that the increase will be larger after 2020 with an increase of 175 % between 2020 and 2025 [1]. Another forecast made by Cisco states that a large portion of the mobile data traffic is offloaded to Wi-Fi. This means that with increasing mobile data traffic the Wi-Fi traffic will also increase [2]. Therefore, the need for cost efficiency while having good QoS will be very important. Companies in the area of networking are very interested in new cost effective techniques to meet the demands from customers in a highly competitive market. Free space optics is one of the research 5

13 areas that is researched currently at Aston University, Linköping University and Xi an Jiaotong University in a collaborative research project. This project, called DETERMINE (Designing future optical wireless communication networks), started in 2013 and is founded by the European Union. The different universities are researching different parts of the project, the parts are combined to complete the research initiative. Aston University is handling the physical layer and performance, Linköping University is handling the link layer and network optimization, while Xi an Jiaotong University is handling the layer integrated multimedia applications [3]. In the cellular networks in use today the need for upgrading the cellular back-haul to increase the capacity is growing fast. In the networks today the back-haul mainly consists of three different types of transport media, about 90 % copper, around 6 % microwave radio links and about 4 % optical fibres. Copper have problems with the data rate being low while the cost increases linearly with capacity, resulting in the technique not being viable in the future. Optical fibres can handle very high data rates but have a very high cost. Radio frequency (RF) links have problems with limited data rates and will have high interference and security problems. RF will also have problems with using millimetre waves due to distance, weather conditions and licensing costs [4]. Free space optics is a technique that comes with many advantages, some of those are high bandwidth, free license, cost effectiveness and interference immunity. The technique also uses micrometre wavelength (µmwave). µmwave has the advantage of extending the spectrum which results in super high broadband. The technique is also widely considered to be used in a number of different commercial wireless systems and cellular networks. A disadvantage with µmwave is that the technique is more sensitive to blockage. Research have been done in this area at Xi an Jiaotong University which has come to a solution to solve this problem [5]. In addition to this, FSO can easily be combined with current optical fibres. This is a huge advantage since many countries are investing a lot of resources in optical fibres. There are some problems with FSO that comes from the fact that the transmission is in open air. One of those problems are that turbulence affects the system greatly, and other conditions that affect the system can be the weather, for instance rain [6]. 1.2 Aim The aim of this project is to study network-wide resource allocation and design, as well as topology control. The design consists in the allocation of resource, in form of link installation, capacity, and the number of OWC node interface. The project involves using mathematical optimization models for solving the routing for OWC network design and resource allocation, subject to the limitations of OWC networks. Also the project studies topology control mechanisms, including proactive and reactive options as well as redundancy for network survivability. The final product of this project will be a system done in Matlab that can be simulated. Following are the questions asked for the project. How to optimize the network design with regards to the FSO limitations? How to route the traffic in the network using optimization algorithms? In this thesis the QoS is reflected by the flow and the delay. How can network survivability be implemented to improve the system? For this system will proactive or reactive survivability be the best solution? 6

14 1.3 Method This project is divided into three different parts, literature study, system implementation and project report writing. The literature study was performed first together with the early implementations. For the literature study, related papers were evaluated and different optimization algorithms were examined. The theory of FSO and network design is also described. The report was continuously written during the duration of the project. The implementation of the system was done in Matlab (2014b), the code were divided into functions to separate the different parts. The implementation generates a random network and the nodes are connected according to the constraints of the OWC interface. Network design is optimized using a modified minimum spanning tree (MST) with Kurskals algorithm. MST is designed to get an optimal or close to an optimal solution for the network design. Routing is done by using Bellman- Ford and multipath routing. The implementation is also able to ensure network survivability with both proactive and reactive solutions. Experiments were conducted to test and evaluate the implementation of the system. Testing the different optimization algorithms and network survivability options. When implementing the algorithm some equations is changed compared to the literature, those changes are presented in a specific section of the report. Last part of the project is to finish writing the report, analyse and discuss the results. 1.4 Delimitations The focus of this project will be the link layer (layer 2) and the network layer (layer 3), but there will be input from the physical layer (layer 1). The parameters used for calculation will be the same parameters used in the literature, or the same parameters that was used in the project that was conducted before this one. If no specific value for a parameter can be found, the parameter will be estimated. All calculations will be done using packets which are formed by a specific number of bits. The implementation will only consider turbulence as interference, this means that there will be no objects that may interrupt any of the links. The project will not contain any implementation of network coding, but the program works as if some kind of network coding exists. Calculation times for the route optimization will not be considered, the reason for that being that Matlab solves the optimization during a time step resulting the system being frozen at that point in time. 1.5 Outline Chapter two is summary of related work done in the area of FSO. Chapter three of the report is about the theoretical background of the project. That part contains descriptions of the used algorithms, routing theory, the theory of FSO networks and a description of network survivability. The end of chapter two is about the time complexity of the implementation, it also contains a section about the theory of network coding. Chapter four explains how the implementation was made and what the different experiments were and how they were conducted. The implementation is described both in text and pseudo code. The parameters that are used is described and so are the changes from the literature for some equations are also in chapter four. The results of the experiments are presented in chapter five while the project is discussed and concluded in chapter six and seven. Finally, chapter eight is what the future work of this project could be, followed by the references. 7

15 2 Related work This section contains related work done previously in the area of FSO. 2.1 Free-space optical communication through atmospheric turbulence channels The article [7] presents methods to mitigate turbulence-induced intensity fluctuations such as signal fading for FSO. The approaches for solving this problem is divided into two categories: temporaldomain techniques and spatial-domain techniques. For spatial-domain techniques there is a requirement of at least two receivers for the light at different positions or from different spatial angles. The receivers should be placed as far away from each other as possible but it may not be possible to place them sufficiently far apart. Therefore the spatial correlation of turbulence-induced-fading was used. The temporal-domain techniques requires one receiver. If the receiver does not know the instantaneous fading state nor the temporal fading correlation, a symbol-by-symbol maximum-likelihood detection technique can be used. However if the joint temporal fading distribution is known, a maximum-likelihood sequence detection can be used to mitigate the turbulence-induced-fading. The symbol-by-symbol maximum-likelihood detection technique is done by finding the relation between: The probability for a signal level for an On bit is received over the probability for the signal level for an Off bit is received. For the maximum-likelihood sequence detection technique the calculation is done by calculating the likelihood ratio for each of the possible bit sequences. This technique has a very high time complexity and is therefore too excessive for most applications. To evaluate the results of the research, the maximum-likelihood methods are compared with the conventional equal-gain combining scheme. The results show that the maximum-likelihood detection will achieve a better performance than the equal-gain combining scheme for a given SNR [7]. 2.2 A survey of clear-air propagation effects relevant to optical communications This research in paper [8] evaluates the effects of clear atmosphere on light waves. The focus of the survey is turbulence, atmospheric stratification and the variation of the height of the atmosphere. Things that are not considered are: scattering, absorption by aerosols or precipitation and absorption by gaseous constituents. Results for the atmospheric model effects are that the large-scale variations comes from the decrease of height of atmospheric density and the curvature of the atmospheric layer. While small-scale variations comes from turbulence when optical Doppler shifts are ignored. Also, the temperature fluctuations are considered as small-scale variations. The research also states functions for calculating the optical intensity fluctuations, spatial covariance functions for irradiance and log-amplitude, phase fluctuations and angle-of-arrival fluctuations. The result of this research shows methods for calculating the propagation effects for clear-air as well as stating the different scales of effects for the system. 8

16 2.3 Optical repetition MIMO transmission with multipulse PPM The research in paper [9] handles a technique for the modulation for FSO. To mitigate the effects that fading have of an FSO system, noncoherent optical arrays are used. The photodetectors used are assumed to be photon counting, which is ideal, and the tests are done with, and without background radiation. Also, the source and destination of the laser are placed in a way so that the fading is statistically independent, which results in benefits for the multiple-input/multiple-output (MIMO) channel. Previous work done shows that pulse-position-modulation (PPM) is an averageenergy strategy which mitigates the background radiation, but classic PPM have problems when the required peak power of the laser increases. Therefore, multipulse PPM is implemented. The tests performed handled both log-normal and Rayleigh-fading models. The results show that multipulse PPM is clearly superior over classic PPM for a MIMO transmission [8]. 2.4 Path generation issues for survivable network design This paper [10] handles the issue of routing in a network to ensure that the network is reliable. In communication networks today the increasing aggregation level of traffic flows is increasing the sensitivity to link failures. This results in operators being very interested in methods which will increase the survivability of the networks. This is done by introducing backup paths that will be used if link failure occurs. The paper introduces two different methods for implementing the technique, state-independent flow restoration and state-dependent flow restoration. State-independent flow restoration works in a such way as when a link on the used path fails the back-up path is used no matter what state the system is in. While State-dependent flow restoration will assign a backup path which is the best for the current state of the system. Results of this research is that both methods work and will give a more resilient system. The authors also states that the simplified pricing based on pre-computation of k-shortest path is very efficient and sufficient [10]. 2.5 Free-space optics optimization models for building sway and atmospheric interference using variable wavelength The research in paper [11] solves two optimization models for mitigating the effects of building sway and atmospheric interference for FSO. This is done by using two different methods for calculating what parameters the system should use, among them variable wavelength. Using the technique of quantum cascade laser makes choosing the optimal wavelength for FSO feasible. The two methods are similar but the first method requires the solving of two non-linear equations. While method two only need to solve a single function. Method two can be used to estimate the results of method one. Results show that the bit error probability decreases as the wavelength increase, while the transmitter power increases as the wavelength increases [11]. 2.6 Fading reduction by aperture averaging and spatial diversity in optical wireless systems The research in paper [12] is about reducing the effects of atmospheric turbulence using aperture averaging and/or employing spatial diversity at the receiver. The focus of the paper is to improve 9

17 theperformanceintermsofoutagecapacityandbiterrorrate, whichisimportantinanfsosystem because they affect the quality and link availability. The testing of the method was done using on-off keying modulation and the model is based on the received signal intensity. The outage capacity is an appropriate performance measure since the channel is varying slowly. The tests done uses either single aperture or multiple aperture receivers, both of which use aperture averaging. Results show that for moderate turbulence a single large aperture is superior over multiple apertures. While for strong turbulence multiple apertures are superior. When the aperture size is not-too-large fading is affecting the system more for moderate turbulence than for strong turbulence. Also, channel coding is only efficient for significantly reduced turbulence [12]. 2.7 Outage probability of the gaussian MIMO free-space optical channel with PPM This paper [13] investigates the use of multiple apertures and multiple lasers to mitigate scintillation for FSO. This work focuses on the outage probability since scintillation is a slow time-varying process, which has a higher effect on outage probability. This system assumes that PPM, equal gain combining and non-ideal photodetection at the receiver. Since, typically channel variations are slower than the signalling period for FSO communications, the channel is modelled as a nonergidic block-fading channel. The scintillation are distributed differently depending on the type of turbulence. Where strong turbulence is modelled by gamma-gamma distribution, weak turbulence is modelled by log-normal distribution and for very strong turbulence exponential distribution is used. There are two types of channel state information (CSI) used, the first is perfect CSI at the receiver and the second is perfect CSI for both transmitter and receiver. Results of the research show that when CSI only is known at the receiver, the SNR exponent is proportional to the channel parameter (depending on the distribution for scintillation), multiplied with the number of apertures and laser. For exponential and gamma-gamma distributions the outage probability is dominated by a log(snr) term, while for log-normal the outage probability is dominated by a (log(snr)) 2 term. For the case when CSI is known at both the transmitter and the receiver results show that significant power savings can be made. The results also show that if the number of lasers and apertures are three, the system outages can be removed for all distributions (for this setup) [13]. 2.8 Multiple scattering in rain and fog on free-space optical links This paper [14] investigates the effects of light propagation in rain and fog. Since FSO will be operating at data rates of 10 Gb/s or more, is it of interest to know the dispersion characteristics for a channel affected by multiple scattering in hydrometeors. The simulations for this research are done using Monte Carlo photon propagation. To get good results the water droplets of rain and fog were described realistically with parameters such as, liquid water content, rain intensity, atmospheric visibility and effective droplet radius of fog. The result of this research is that the optical attenuation in rain is significantly reduced for near-infrared and optical wavelength, about two times lower than predicted by a single scattering calculation. Results for dense fog show that attenuation is also lower but the difference of multiple and single scattering are not large comparing with rain. The reason for this is mainly the difference in droplet sizes between rain and fog. When looking at the root mean square delay for a 1 km FSO path during rain it can be seen that the delay 10

18 islimitedbelow10ps, whilemoderateanddensefogmaycausethedelaytoreach50psormore[14]. 2.9 Design of cellular backhaul topology using the FSO technology The research in paper [15] handles the problems with upgrading the cellular backhaul efficiently. Due to the increasing demand for high speed services in networks the cellular backhaul needs to be improved. The aim of this research is to provide a method for calculating the cost and strengthen the reliability of the network, this is done by implementing a linear programming model. To increase the coverage of the network, mirrors can be placed and therefore aim the laser between nodes that are not in line of sight of each other. The model also takes available optical fibres into account and will therefore use them in the constructed backhaul. The objective of the model is to minimize the cost for setting up the network. To ensure that the network is more reliable a two-link-connected model is proposed which ensures that all FSO nodes have at least two links connecting them with other nodes. The results of the research show that the models can be used to create a cellular backhaul with as low cost as possible [15] On end-to-end delay minimization in wireless network under physical interference model This paper [16] handles the problem with many networks today. Optimizing the efficiency in transmission parallelization, which does not in general result in the best performance for end-to-end delay for packets. This is due to multiple frames that may be required to complete the transfer. Therefore this research is about minimizing the end-to-end delay under SNR constraints, the aim is to create two different schemes. The end-to-end delay is defined as the number of time slots required to transfer a packet from source to destination. The first scheme uses an extension of the classical minimum frame-length scheduling to include delay minimization with two phases. Where the first phase is to calculate the optimal list of compatible sets and the minimal frame length. While the second phase is to order the compatible sets in the frame so the delay is minimized, this is done using a mixed integer programming model. In the second scheme the delay is calculated on a slot-by-slot basis, which does not have the constraint of periodic framing. This is also done using a mixed integer programming formulation. The results of this research shows that scheme two can perform much better than scheme one in terms of delay. There is also a randomized greedy method suggested to solve scheme two, which is an efficient method for finding good quality solutions fast [16]. 11

19 3 Literature study This chapter contains the literature study of different parts related to this project. The literature study was performed by reading related work and evaluating the theory. 3.1 OSI-model The OSI-model is a model where the different protocols for communication is divided into different layers. OSI stands for Open Systems Interconnection and was designed in the late 1970s. The layers defines how the communication between devices should be designed. All data that is sent will pass through all the different layers at the sender and is thereafter sent to the receiver. The receiver then processes the data through the same model but in the other order. The OSI model is shown in Figure 3.1 [17]. Figure 3.1: The OSI-model Figure 3.1 shows the seven layers and what the name of each layer is. In this project the focus is on layer two and three. Therefore the following two parts of the report will describe those layers, the other layers are not described in this report Data-link layer The data-link layer is used to move data over an individual link. The protocol defines the procedure and format for all data exchanged on the link. This means that layer two handles the short term transportation of the data and ensures that the data is transferred between nodes. An example of data-link protocol is point to point [17]. 12

20 3.1.2 Network layer The network layer is used to generate the route and forward the data between a source and a destination. The network layer is where the routing is done using routing algorithms to obtain the route between source and destination. Forwarding is when a node sends the data on the appropriate link on the route that has been decided by the routing algorithm. An example of network protocol is IPv6. [17]. 3.2 Quality of service Good quality of service (QoS) is what users are expecting of a service or a product. This means that a system of any kind have to ensure that the users are having a good enough experience of it. If a user is not satisfied they might change the service [18]. QoS is something that is widely used in allkindsofsystems, thesystemcanbeanythingfromamobilenetworktotheconstructionofachair. In telecommunication networks QoS is how the user experience the data rate, coverage, delay and packet loss. For a user in a network the data rate have to be good enough for the users intention, this can vary but a good QoS have to be able to ensure most or all scenarios. The delay will have a big impact for an user if for instance VoIP is used or streaming video live. If packets start disappearing the user will experience incomplete results which can lead to high delay or bad quality which is not perceived well. Finally a user expects coverage in a system with good QoS. A user will also expect that the QoS will be the same in the entire network and therefore is it important to ensure that no areas have bad coverage. In a wireless telecommunication network the major problem is that the system changes constantly which results in that users will experience different QoS over time. Due to the fact that the data is transferred in real time (for instance video streams) the amount of traffic can vary from time to time in the network. To cope with these problems there must be an efficient way to guarantee the desirable QoS for as many users as possible. A major issue with QoS is that the system must be able to handle the fact that all users may not be able to get acceptable QoS, but as many as possible should [19]. One example of a method to ensure desirable QoS is to implement efficient data scheduling. This means that the data is scheduled to ensure that as many users as possible get their desired data rate and delay. This is done by ordering data for users in such a way that they are queued up in an order which ensures that they get their desired QoS. One way to do this is to set a weight for each data depending on their required delay. Resulting in traffic that requires short delay is given priority in queues. This is done to ensure that all users receive a minimum throughput and a maximum delay. [19] To show what is good QoS a standardization for QoS parameters required service has been made. There is no standardization specific for FSO, however there is one for LTE. But FSO will probably have at least the same standards for QoS as LTE. The standardized QCI for LTE is shown in Table 3.1 [20]. 13

21 Table 3.1: QCI specification table for LTE QCI Resource Type Priority Packet Delay (ms) Packet Loss Example traffic 1 GBR VoIP 2 GBR Video live streaming 3 GBR Video buffered streaming 4 GBR Real-time gaming 5 Non-GBR IMS signalling 6 Non-GBR VoIP, video live streaming and interactive gaming 7 Non-GBR Video buffered streaming 8 Non-GBR TCP-based, p2p file sharing and others 9 Non-GBR Routing Routing is used to create paths from source to destination in a network. When applying routing in a network there are many different ways to implement it. Routing can be the shortest path between source and destination, it can also be the path with the highest capacity and so on. This means that routing can be different from system to system or OD-pair to OD-pair depending on what is preferred in a specific case. One method for routing is to ensure QoS for as many users as possible. This method is done by ensuring that the current QoS parameters are fulfilled as much as possible for as many users as possible. This is done by finding the route from a source to a destination with for instance, the highest bottleneck or the lowest delay, it can also be the highest bottleneck with a constraint for the delay. A paper which describes this routing is [21] whereby a route is determined by finding the highest bottleneck and lowest delay. This is done by a hop-by-hop algorithm which stores the shortest paths to destinations from a node in a table for each node. This results in each node knowing where to send packets to ensure QoS for as much as possible [21]. Another routing method is Ad-hoc On-Demand Distance Vector routing (AODV routing), this method is described in paper [22]. AODV routing is a method where each node have the knowledge of its neighbouring nodes which have a connection established. This means that the nodes will only send data to known neighbours and no other nodes that may be hidden. A node is aware of its neighbours by the use of local broadcasts of hello messages, which are sent to find the neighbours. Each node has a routing table which stores its neighbours in an optimized way to be able to respond quickly to establish routes. AODVs primary objectives are only to broadcast discovery messages when necessary. This is to differ from neighbourhood detection and general topology maintenance. Information is disseminated to nodes that are likely to need the information. Using a pure on-demand route acquisition system, the route discovery is only initiated when a source want to communicate with another node. The method for route discovery used is a source sends a message containing the source address and the destination address. This data is sent to its neighbours and those send to their neighbours until the destination has been found. When the destination has been found the route is constructed using the reverse way to the source. The finding of a destination 14

22 node is shown in Figure 3.2 [22]. Destination node Destination node Source node Source node Figure 3.2: AODV route discovery, the right part is the discovery of the destination and the left part is the route. In Figure 3.2 it can be seen that in the left part the route does not go all the way to the destination. This is due to the fact that all nodes knowing their neighbours which results in the destination node neighbour knowing the last hop. The right part of Figure 3.2 shows how the route is put together as the reverse of the route with the last hop [22]. A third method for routing is to create sub-networks to reduce the amount of knowledge that each node requires of the system. This method is evaluated in [23], the reason this method was created was to cope with the problem of nodes requiring to know the state of the entire system all the time. This was solved by creating sub-networks of the entire network, the entire network is called the global system. A global system needs to be able to know what the state currently is for the entire network to be able to create the best routes for the traffic. The global system is divided into several regions that are divided into clusters. Each node then needs to know the state of all nodes in its cluster and know which other clusters exists in their region. But the nodes only need to know the different regions for the rest of the system. This global network is illustrated in Figure 3.3, while the regions and clusters are shown in Figure 3.4 and how a node knows the system is shown in Figure 3.5 [23]. 15

23 Figure 3.3: The global network consisting of nodes and links. Figure 3.4: The different regions and clusters of the global network. 16

24 Figure 3.5: The network from the viewpoint of a node in the A-a cluster. As Figure 3.3, 3.4 and 3.5 shows, the separation into regions and clusters will result in smaller parts of the network that each node knows about. This will result in less traffic for the system status which will reduce the overall traffic. This may result in a network with higher capacity but since the system is generalized for each node the system information for each node is aggregated which can lead to problems [23]. 3.4 Multipath routing Multipath routing is a technique where the traffic is distributed over several routes from source to destination. One variant of multipath routing is equal cost multipath routing (ECMP), it is the chosen technique for multipath routing. This means that the traffic is divided on different routes in such a way that the routes are considered equal. See Figure 3.6 for an illustration of ECMP. Figure 3.6 shows three different routes from source to destination with the colours red, green and yellow. The numbers in the figure are the cost of the links. As can be seen in the figure 3.6 the cost for each route is three which means that they are equal. In some scenarios, multipath routing will result in a better performance and security for a network. Paper [24] describes a technique called ECMP routing. This routing method is applied to a network designed with a Mesh Network Topological Optimization and Routing (MENTOR) heuristic network design algorithm. The results of the paper was that an ECMP routing technique will reduce the cost for the network while the reliability was a little bit lower than a non ECMP technique [24]. Another report [25] evaluates ECMP routing in the case of load balancing in a network and the network protection. The evaluation shows that the load balancing in the network is improved by 50 % % compared to a single path routing implementation. For the protection the result is that the more paths that are used in ECMP the better the protection. One protection mechanism 17

25 Figure 3.6: Illustration of ECMP routing is when a path becomes unusable the traffic is divided to the other paths. [25] To enable efficient path allocation for multipath routing several different hash-based algorithms has been developed. One of them is Table-based Hashing with Reassignment (THR). THR uses a method which dynamically changes mappings based on the traffic in real time. The traffic is divided in bins and those are reassigned from heavy load paths to lighter load paths. This will divide the traffic so that the load on each route will be about the same [25]. 3.5 Network survivability Network survivability is a design concern about ensuring that the network have a desired degree of quality of service. This means that the network will be able to handle various situations that affects the network. Those effects could be anything that causes a link to stop working efficiently. The system should still be able to operate even though those situations may happen. This is done by ensuring the connectivity of the network. If there is a path between every pair of nodes the network is said to be connected. In a communication network, the nodes may be connected through one or multiple hops. If the network is disconnected, there are no way for all nodes to communicate with each other, this can be due to fact that the network is built by islands of sub-networks. Figure 3.7 shows a connected and disconnected network. There are two different types of connectivity, K-node-connectivity and K-link-connectivity. K- node-connectivity is when a graph still remains connected when any K 1 nodes fail. While K-link-connectivity is when the graph still remains connected when any K 1 links fail. In a general wireless multi-hop network, not an FSO network, K-node-connectivity is more important. This is due to the fact that there is a higher chance that a node fails than a link. [30] An important concept for graph connectivity is the minimum node degree. Minimum node degree is the number of connected neighbours to any node v i. This results in the minimum node degree being the number of links for node v i. When a node degree d is equal to zero the node is called isolated. The minimum node degree (d min ) for an entire graph (G) can be obtained by equation 1. d min (G) = min V i G d(v i) (1) 18

26 Figure 3.7: Left image is a connected network and the right image is a disconnected network. It holds that K link connectivity d min (G) for a graph to be K-link-connected [30]. The minimum node degree check is required to confirm that there are at least two disjoint paths to each node. Disjoint paths are paths that does not share any links on their entire routes. See Figure 3.8 for a visualization of disjoint paths [4]. Figure 3.8: Visualization of two link-disjoint paths. One way to ensure network survivability in an FSO network when links become unavailable is by K-link-connectivity. The reason K-link-connectivity is more interesting in this case is because the link reliability is very important. It is a bigger chance that the link breaks than the node. This means that there are at least K-link-disjoint paths connecting each pair of FSO nodes. One way to ensure that all paths have K-link-connectivity is to use mirrors or more base stations. The mirrors 19

27 can be placed so that the laser changes direction at desired points, one issue with mirrors is that they only reflect and not repeat the laser. This will result in the laser becoming weaker during the path to next node [4]. Figure 3.9 shows a 2-link-connectivity network. As can be seen in Figure 3.9, two paths using different links can be used between each FSO node. Figure 3.9: Two connectivity network Proactive survivability Proactive is a type of network survivability setting. Proactive means that the system knows how to handle a situation before it becomes reality, or that the solution to a situation is predefined. This can be the result of adapting to a situation where a link is getting worse but is still available, the system may then start to solve the problem that may occur before it happens. The result will then be that if the link breaks the system already know what to do. This also means that the system can start initiating recovery almost immediately after the problem occurs. Another way is to change the link when it starts to become worse to avoid a link failure. Another proactive solution is to have predefined what the system will do when a link breaks, this will change to a reserve path the moment link failure is noticed [29]. There are different ways to implement a proactive system depending on what the network requires. One way to implement proactive network survivability is to pre-define other routes for packets between source and destination. This means that for each node, the shortest path to each other node not using the same links as the current route is calculated. This will result in link disjoint paths to each destination which will be used if a link becomes unusable on the current path. See Figure 3.10 for a visualization of this scenario. 20

28 Figure 3.10: Optimal route in red and the reserve route in blue. Another version of proactive network survivability is called 1 + 1protection protection is done in a way similar to Figure 3.10, the difference is that in 1+1protection both paths are used and are transmitting the same data. This means that all data will be transferred over at least two different paths simultaneously. The result of this is a very reliable data transfer, if packets are lost on one path a copy will arrive using the other path. But this type of technique is very resource demanding, because at least the amount of traffic is transferred over the netwoek [31]. When considering a proactive survivability there are some additional performance measures that can be considered. This requires a system that constantly checks and prepares for an error. The different measures are proactive-notification latency, proactive-notification accuracy and proactive bonus. Proactive-notification latency is the delay between the detection of a fault and the start of the fix of the problem. Proactive-notification accuracy is the probability for noting an error or that the system notes an error that does not exist. Proactive bonus is the difference in having a system that detects and start to prepare for an error compared to a system where there are not detection beforehand [29] Reactive survivability Reactive network survivability is when a network will react when a fault is noticed but not before that. For instance, a route can be re-optimized when an error occurs. There are different ways to implement reactive network survivability. One method is the 1 : 2protection, this method is to optimize a path for the traffic and also optimize another link-disjoint path. The other path will be used if there is an error on the first path. This will save resources since the data will only be sent if the first path becomes unavailable [31]. Another method is to reconfigure the route by re optimizing it when an error has occurred. In reactive network survivability there are some additional performance measures that can be made in addition to the standard ones. These are window of vulnerability, fault-detection latency, recovery latency and reactive fault-detection accuracy. Window of vulnerability is the time period 21

29 when the system acquires a fault and until the system has recovered. Fault-detection latency is the time period from when an error occurs until it has been noticed. Recovery latency is the time from fault-detection until a problem has been resolved, all the negative effects should also be gone. Reactive fault-detection accuracy is the probability that an error is not noticed or that the system says that there is an error but there is none. [29] 3.6 Time complexity The time complexity is how long an algorithm takes to solve. This is important to know since it will result in knowledge if an algorithm can be used practically at all. There are a lot of different time complexity classifications depending on the type of running time. The time complexity is expressed as O, this excludes lower order terms and coefficients. This means that time complexity is expressed asymptotically. When calculating the running time the worst case scenario is interesting since it is the longest time an algorithm may take to solve. There are two important time complexity concepts that shows how long time it takes to solve an algorithm, those are polynomial and exponential time complexity functions. The distinction between those two is that a polynomial time algorithm can be bounded according to equation 2, for any constant c 0. While an exponential time algorithm cannot be bounded. f(n) c g(n) (2) Where f(n) is a function and is O(g(n)) whenever equation 2 is fulfilled. The difference in solving time between polynomial and exponential time complexity functions is very large when the size of the problem increases. Table 3.2 shows an example how the solving time differs from polynomial and exponential time complexity functions [32]. Table 3.2 shows that the polynomial time complexity functions n 2 and n 3 have a much shorter Table 3.2: Time complexity with different values for n Time complexity function n s s s s n s 0.008s 0.64s 0.216s 2 n 0.001s 1.0s 12.7days 366centuries 3 n 0.059s 58min 3855centuries centuries solving time than the exponential functions 3 n and 2 n. This results in that it is desirable to obtain an algorithm with polynomial time complexity over an exponential time complexity function. [32] Polynomial time complexity functions are called P, P can be divided further into NP, where N is non-deterministic. Furthermore, can it be difficult to say what time complexity a certain algorithm have. Therefore, there is a concept that is called NP hard, which means that a problem is at least as hard as the hardest NP problems. This is interesting to know since this means that the algorithm can be solved in polynomial time, which is preferred [32]. For this project the time complexities differ between each used algorithm. Dijkstra have a time complexity of O(n 2 ) while minimum spanning tree have a time complexity of O(ElogV), K-linkconnectivity is proven to be an NP-hard problem [32] and this will result in this project to be 22

30 NP-hard. This conclusion can be drawn since there are no parts in this project that takes longer to solve than polynomial time. The time complexity for Kruskals algorithm (algorithm can be seen in Section 4.1.5) is calculated by finding the highest time consuming parts of the algorithm. To find the time complexity for Kruskals algorithm the different parts will be divided into Step0 and Step1 plus Step2. Step0 have a time complexity of O(ElogE). This is due to the fact that the sorting algorithm will have n factorial different permutations where one of them is the sorted order. The sorting algorithm can only distinguish more than 2 f(n) cases where f(n)is the most number of steps required, this is due to the outcome of the algorithm can only be two different results. This results in f(n) log 2 (n!), and this can be approximated by O(nlogn). This reasoning will result in Step1 plus Step2 to have a time complexity of O(V log V). Comparing the different time complexities the highest complexity is O(ElogE). Resulting in that the MST time complexity can be written as O(ElogE) since V E. 3.7 Resource allocation Resource allocation is used in anything from a network to the cashiers at a shopping centre. Resource management is an important factor when considering any kind of system, for instance, if a required amount of a resource cannot be handled by the agents there is a problem that has to be considered. Resources in a wireless network may be the bandwidth or the CPU utilization [33]. The following part of this section will be different methods for resource allocation in wireless networks. Itwillalsocoverresourceallocationinformofcostsforsettingupnodesinthephysicallayer. One method for resource allocation is fair resource allocation which one method is evaluated in [34]. Fair resource allocation is important due to the fact that in a wireless network users compete for the available resources. This means that if the resources are not divided fairly among the users they may experience very different QoS. To cope with this problem, a queue length based scheduling is implemented. This results in each base station in a network will consider the queue length when assigning when to send the data through. Meaning, that the base station can give packets priority in the queue. The QoS overall will then increase due to the allocation of the resources in a more fair way [34]. Another method that takes fairness into account is one described in [35]. In that paper a wireless channel is dividing the time slots between users depending in how much they bid, working as an auction is described. This means that users that are competing for a timeslot will bid for it and the winner will pay the second-highest bid, under the requirement that each user has limited budget for bidding. The paper also shows a Nash equilibrium strategy that can be implemented. The results show that the throughput of the system is at least 3 4 of the optimal solution without taking fairness into account. The results also show that the Nash equilibrium resource allocation is Pareto optimal [35]. A final method evaluated is an end-to-end optimal resource allocation. This is done in paper [36], which is a paper about optimal resource allocation considering end-to-end flows. The method is about creating a price-based resource allocation framework to achieve fairness and optimal resource 23

31 utilization for competing end-to-end flows. The price based framework works by using maximal cliques in wireless ad-hoc networks, where a clique is a complete sub-graph. The optimization is then done by a two-tier iterative algorithm which converges towards global optimum with respect to resource allocation. This method takes fairness into consideration but only focuses on end-to-end flows [36]. Resource allocation in a network will also involve physical resources. When designing a FSO network there will be a cost for setting up transceivers or mirrors at the node locations. Also there may be a cost for renting the roof at the node locations. These costs must be taken into consideration when designing a network. This is because this will reduce the number of used nodes, since only capacity and throughput is taken into consideration the optimal solution would be to use as many node locations as possible. Therefore, to get the optimal set-up for which nodes should be used the design must be optimized in consideration to capacity, throughput as well as the cost for setting up and renting node locations [4]. Figure 3.11 shows an example of how the network may be designed if all possible links are used while Figure 3.12 shows how an optimal network design may look for the same network. Figure 3.11: Network using all available connections. Figure 3.12: Optimized network using fewer links. 24

32 3.8 Redundancy Redundancy in a network is used for error detection and error correction techniques. During transmission from a sender to a receiver there may be packet loss on the path which will reduce the quality of the data at the receiver. To ensure that the quality is good enough, error detection and error correction is implemented. There are different techniques to ensure good quality and the techniques will add redundancy bits to the packets for error correction. The redundancy bits are an addition to the data and this is shown in Figure Figure 3.13: Illustration of the addtional redundancy data added. The redundancy bits are used in different methods for finding errors and correcting them, one example of a method is parity check. In parity check the bits in the original data are checked if they in combination, become the same as the corresponding parity bit in the redundancy addition to the data. If the corresponding bits differ there is an error in the data. If they are the same, the data is being probably correct but there may also be many errors which results in that the comparison is the same [17]. The following parts of this section will be describing two different methods used to ensure error detection and error correction. 3.9 Network coding Network coding is used to ensure that data is sent in such a way that the packet losses caused by collision are reduced. This will also make it possible for packets that are going to different destinations use the same links to obtain the optimal throughput. The network coding solution for a node that is sending data to two different destinations is to transmit the modulo-two sum x y. The receiver can do a calculation to obtain the data assigned to the receiver, the calculation can be x (x y) = y. This can result in higher capacity than if only routing was used since the different traffic uses the same path at the same time. See Figure 3.14 for a visualization of this technique, the network is called a butterfly network. [37] 25

33 Figure 3.14: Butterfly network with one source node and two destination nodes. Figure 3.14 shows that the data sent on each link is either x, y or x y which will result in higher throughput than if only routing were used. In this case is x the datasent for D1and y is for D2. [37] Forward error correction Forward error correction (FEC) is a variant of network coding. FEC works in a way that redundancy bits are added and FEC can use many different methods for reading the data and determine if there has been an error or not. FEC has the advantage that it will not require any additional information when an error has been detected and will be able to correct the error instantly. This type of method is divided into two sub categories: systematic FEC codes and Non-systematic FEC code. Systematic FEC block code preserves k source symbols and appends (n k) parity symbols. While non-systematic FEC block code creates n encoding symbols from k source symbols without necessarily preserving all of them. The first FEC was created in 1950 when Hamming(7, 4) was presented. [38] 26

34 4 Theoretical background The first part handles the theory behind chosen optimization algorithms and the second part will bring up theoretical background of FSO. 4.1 Algorithm study This part of the literature study will describe the different optimization algorithms used in the implementation and the basics of a shortest path problem. The section starts with a description of a shortest path problem in general. The First algorithm to be described is Dijkstra, followed by Bellman-Ford and thirdly Floyd-Warshall. After that Kruskals algorithm is described and lastly the multipath algorithm used in this project Shortest path problem A shortest path problem is the problem to solve to get the shortest (cheapest) path from a source to a destination. This kind of problem is one of the most basic optimization problems and can be used in many scenarios, for instance data traffic or car traffic. There are some requirements to be able to solve a shortest path problem. These are that there are no cycles formed and the destination node has to be accessible by the source node. There are many different algorithms that solves this kind of problem and they have their own advantages and disadvantages. For instance Dijkstra cannot handle negative links but are on the other hand faster than Bellman-Ford, which can handle negative links [26]. The shortest path algorithm can be formulated as a linear programming formulation described below. x ij j j minimize i,j A w ij x ij subject to { 1,ifi=s x ji = -1,ifi=t 0otherwise i l ij x u ij where x ij is a link from i to j, s is the source node, t is the destination node, w ij is the cost for the link, l ij is the lower bound for x and u ij is the upper bound for x. [26] Dijkstra algorithm Dijkstras algorithm is a method for finding the shortest path in a network where there are no negative arcs. A network contains edges (arcs) (E) and vertices (nodes) (V). The algorithms objective function is to find the shortest (cheapest) path from any starting node n s to the destination node n e. This is done by adding up the weight (cost) for each link until all nodes have been checked. Dijkstra only works if there are no negative arcs. The algorithm starts from the source node and 27

35 the weights on the connected links will result in a cost to travel to all the intermediate connected nodes, thereafter their connected links are traversed until all nodes have been checked. This will result in the shortest path from source to the destination, in addition to that it will also give all shortest paths from the source node to all other nodes in the network. Following is a description of how the base algorithm is implemented, the pseudo code for the implementation in Matlab is shown in section 5.5. The algorithm is divided into five steps to find the shortest path between starting node n s and destination node n e Step 0: Create two subsets, A = notcheckednodes = and D = checkednodes = V. Mark n s with (p s,y s ) = (predecessing node,node price) = (,0), this means that n s has no predecessing node and no node price. All other nodes are given y j =. Step 1: Identify the node i Vwith the lowest node price y i = min k V y k. Step 2: Evaluate all vertices (i,j) E outgoing from node n i. If (y i +c ij ) < y j a cheaper route from n s to n j using n i has been found. Mark node n j with (p s,y s ) = (i,y i +c ij ). Step 3: Move node n i from subset A to subset D. Step 4: Stop if all nodes have been searched, if A = V. Else go to Step1. The time complexity for Dijkstra algorithm is O(n 2 ). [26] Bellman-Ford Bellman-Ford is an algorithm that is similar to Dijkstra but is more flexible due to the ability to handle negative arcs. Bellman-Ford has the same objective as Dijkstra, to find the shortest (cheapest) path from source node to destination node. This is done in the same way as Dijkstra by adding the weight (cost) to travel between connected links. The difference is that if a cheaper path from a node n i to node n j is found and n j has already been checked (n j D), n j is removed from D and added to A. The algorithm is then repeated until all nodes have been searched. This results in the method being almost the same as Dijkstras but with one addition in Step2. The addition is that: if n j A, move node n j from the subset A to subset D. Otherwise there is no difference between the two algorithms. [26] The pseudo code for the implementation can be found in section 5.5. The time complexity for Bellman-Ford is O( V E ), which means that Bellman-Ford requires longer calculation time than Dijkstra. [27] Floyd-Warshall Floyd-Warshall algorithm is a method for finding all shortest paths in a network. This method will calculate the shortest path from all nodes to all connecting nodes. The algorithm will check the weight (cost) on the connecting nodes to find if there exist a cheaper path. It works in a way that first node one is examined, this will give all cheaper paths from node one to all connecting nodes. When node one is done node two is checked and so on. After all nodes have been checked the shortest path from all nodes to all nodes will be the result. This algorithm can handle both positive and negative weights. Following is a description of how the algorithm is implemented, the pseudo code for the implementation can be found in section 5.5. The algorithm is divided into three steps. Step 0 For all vertices i V set d ii = 0. If edge (i,j) exists, set d ij = c ij and p ij = i. Else set d ij =. Set k = 1. 28

36 Step 1: For all vertex pairs (i,j), check if d ik +d kj < d ij. If that is the case a shorter path using node k has been found. Set d ij = d ik +d kj and p ij = p kj. Step 2: Stop if k = V, else set k = k +1 and go to Step1. If d ij = in the final solution there is no path from i to j. [26] The time complexity for Floyd- Warshall is O( V 3 ) [27] Minimum spanning tree - Kruskals algorithm Minimum spanning tree (MST) is used to create the minimum cost spanning tree connecting all vertices using as few links as possible without creating cycles. The optimization problem MST is one of the few methods that is a greedy algorithm and always results in the optimal solution. The algorithm works in a way that all links are sorted according to their weight. Then the cheapest link is added to the chosen set T if it does not form a cycle, if this link would create a cycle it is not chosen and marked as done. This is done until all nodes have been connected to the network. In the algorithm is T the edges in a spanning tree and T = B\T are all other edges. For a tree T to be a minimum spanning tree following objective functions have to be fulfilled. For each edge (i,j) T,c ij c kl for all edges (k,l) that is a part of the unique path between i and j. For each edge (i,j) T,c ij c kl for all edges (k,l) that is a part of the intersection [S, S] which occurs if arc (i,j) is removed. The Kruskal algorithm is a method for solving minimum spanning tree and the algorithm can be divided into three steps, the pseudo code for the implementation can be found in section 5.5. Step 0: Sort the edges by increasing edge cost. Set T = and T = B. Step 1: Choose the cheapest non searched edge (i,j) in set T Add arc to T unless a cycle is formed, meaning update T = T (i,j). If a cycle is formed mark node as searched. Step 2: Quit if T = n 1. Otherwise go to Step 1, where n is the number of nodes. [26] The time complexity of this algorithm is calculated to O(ElogV). The method for calculating this time complexity is shown in section Multipath algorithm The multipath algorithm chosen for this project is a multipath that is based on the Bellman-Ford algorithm. The algorithm works in a way that several disjoint paths are optimized from a source node to a destination node using Bellman-Ford algorithm. The traffic is then divided onto the different paths according to the bottleneck for each path. This is to create an even distribution of traffic. The bottleneck for each path will decide how much traffic each path will get according to the percentage of the total bottleneck each path have. Meaning the bottleneck for each path will be divided by the sum of all bottlenecks for the different paths, this will give a percentage which gives how much traffic each path will get. The pseudo code for the implementation can be found in section 5.5. Step 1: Use Bellman-Ford algorithm to obtain disjoint paths. The number of paths can at most be the same as the K-connectivity. Step 2: Divide the traffic onto the different paths according to the bottlenecks. 29

37 4.2 Theoretical background of FSO The performance of optical wireless communication systems is strongly depending on the current atmospheric conditions in the wireless path. When using a point-to-point, line-of-sight channel link, the turbulence in the atmosphere will cause rapid fluctuations for the signal. Therefore it can be assumed that in an outdoor optical environment the optical channels will have time-varying characteristics due to the turbulence. To cope with this problem paper [28] shows that during different strengths of turbulence, weak-to-moderate and moderate-to-strong the best distributions fits are different [28]. The properties of the channel are that the laser beam propagates along a horizontal route with turbulence with additive white Gaussian noise. There is an assumption that the channel is ergodic, stationary and memoryless, with fast fading statistics. The channel state information is available at both the receiver and transmitter. All of these properties result in equation 3 [28]. y = sx+n = ηix+n (3) where y is the signal at the receiver, s = ηi is the instantaneous intensity gain, η is the effective photo-current conversion ratio of the receiver, I is the normalized irradiance, x is the modulated signal (values 1 or 0), n is the additive white Gaussian noise with zero mean and variance N 0 /2. Since the channel is randomly time-variant and the instantaneous electrical signal-to-noise ratio is also a random variable, the channel capacity must also be a random variable. This means that the average capacity will indicate the best rate for error-free transmission. Equation 4 shows the instantaneous SNR ratio and equation 5 shows the average channel capacity formula [28]. (C) = 0 γ = s 2 /N 0 (4) Blog 2 (1+γ)p γ (γ)dγ (5) where B is the channel bandwidth and p γ (γ) is the probability density function. The results of equation 5 will be the average achievable capacity of an optical wireless channel with an estimation of the atmospheric turbulence. It has been accepted that for weak to moderate turbulence log-normal distribution is the best while for moderate to strong turbulence the gamma-gamma distribution is the best [28]. Each FSO link in a network is considered full duplex with symmetric link reliability and capacity. There is a connection between two base stations if the reliability on a link is larger than a threshold γ th. The equation for calculating if a link is reliable is shown in equation 6. [6] γ ij = PrI I th = erf(ln(i th I 0 ) 2 2σ x ) (6) where I 0 is the average intensity received without turbulence. σ X is the standard deviation and can be approximated as σx 2 = 6Cn(L)z (2π/λ)7 6 where λ is the wavelength, Cn 2 is the index of the refraction structure with the altitude L and z is the distance [6]. 30

38 4.2.1 Log-normal wireless optical channel The log-normal distribution model is shown in equation )2 1 σ p i (I) = Iσ 2π exp( (ln(i)+ 2σ 2 ) (7) where σ 2 is the log irradiance variance that depends on the channel s characteristics. Equation 8 shows the calculations for σ 2. where d = σ 2 = exp[ kd 2 4L, k = 2π λ 0.49δ 2 (1+0.18d δ 12 5 ) δ 2 (1+0.9d d 2 δ 12 5 ) 7 6 ] 1 (8) is the optical wave number, L is the distance between transmitter and receiver, λ is the operational wavelength and D is the aperture diameter of the receiver. δ 2 is the Rytov variance and is expressed in equation 9. δ 2 = 1.23C 2 nk 7 6 L 11 6 (9) where C 2 n is the strength of the atmospheric turbulence, which depends on the altitude and is shown in equation 10. Cn(h) 2 = ( v 27 )2 (10 5 h) 10 h exp( 1000 ) exp( h 1500 )+C2 n(0)exp( h 1000 ) (10) where h is the altitude in meters, v is the wind speed in meters per second and Cn(0) 2 is the value of Cn 2 at the ground in m 2 3. For weak turbulence Cn 2 is about m 2 3 and about m 2 3for strong turbulence. Using equation 4 to 9 and the average electrical signal-to-noise ratio at the receiver, given by equation 11 will result in the average capacity for log-normal wireless optical channel equation as described in equation 12. B (C) = Iσ 2πln(2) Γ = (ηe[i])2 (11) N 0 0 ln(1+γ) γ exp( (ln(γ Γ )+σ2 ) 2 8σ 2 )dγ (12) where Γ is the average electrical SNR at the receiver, I is the normalized irradiance and E[I] is the expected value of the normalized irradiance Gamma-gamma wireless optical channel model For strong turbulence gamma-gamma distribution is the best fit. The distribution model is shown in equation 13. (ab)a+b 2 γ a+b 4 1 γ p γ (γ) = K a b (2 ab Γ(a)Γ(b) Γ ) (13) Γ a+b 4 where parameters a, b are parameters related to the atmospheric turbulence and γ is the probability density function for gamma-gamma distribution. Using equation 11 in equation 5 will give the 31

39 average capacity as shown in equation 14. [29] (C) = (a+b) ab 2 B( Γ ) Γ(a)Γ(b)ln(2) 4.3 Performance measures 0 ln(1+γ)γ a+b 4 1 Ka b (2 γ ab )dγ (14) Γ This section of the literature study handles the different performance measures used. There are some mayor performance measures to be considered in a network. Those are system latency, throughput, traffic, complexity and redundancy. System latency is the delay for data. Throughput is the amount of dataper second that the system can handle. Traffic isthe number of data exchanged. Complexity can be the process time for the implementation and redundancy can be the resources needed to make another replication [29]. The performance measures used in this project are short-range-dependent delay (SRD), long-rangedependent delay (LRD) and capacity. To be able to calculate those performance measures the flow conversion condition is required, this is shown in equation 15. In equation 15 all the flows are divided into different sub-flows, where fij sd is the sub-flow passing through a link (i,j), s is the source node and d is the destination node and n is the number of nodes. n j=1 f sd ij The average traffic load λ ij = seen in equation 16. where λ = s,d V n j=1 s,d V f sd ji = { f sd ij, i=s -fij sd, i=d 0otherwise i V (15) f sd ij is used to calculate the network-wide average load as L = ( 1 λ ) i,j E λ ij (16) f sd, which is the sum of total traffic demands. When a packet is transmitted it may be counted several times if the path is not a direct link, this gives that the lowest value for L is 1 [6] Short-range-dependent delay (SRD) SRD is a characteristic for some kinds of traffic, such as voice over IP (VoIP). This kind of queueing delay can be modelled as an exponential distribution with parameter c ij λ ij. Followed by applying Littles s formula, the network average SRD delay T 1 can be calculated as shown in equation 17. [6] T 1 = ( 1 λ ) i,j E λ ij [ (c ij λ ij ) ] (17) where c i,j is the capacity for link i,j and λ i,j is the incoming traffic on link i,j. 32

40 4.3.2 Long-range-dependent delay (LRD) LRD is another characteristic for different types of data, such as ordinary data traffic. In LRD each link is modelled as a fractional Brownian motion (fbm) queueing system, in this case the queue length contains a heavy-tailed Weibull distribution. Then applying Littless formula, the network average LRD delay T 2 can be calculated as shown in equation 18. T 2 λ ij = τ [ ) 2H ] (c ij λ ij i,j E H (18) where τ = ( 1 λ ) Γ( H )[2k2 (H)a] 2 2H, k(h) = H H (1 H) 1 H,H [0.5,1] is the Hurst parameter and a is the dispersion index [6]. 33

41 5 Implementation This section of the report describes how the implementation of the system is done. The implementation is done in Matlab (2014b) and consists of several Matlab files and functions. The functions are both made by the authors and built in. Parts of the code was obtained and was done by the people who had made those parts in their project, which was done before this project started. The parts that was done before this project started was: calculation of capacity for log-normal and gamma-gamma. Those functions were created using the formulas found in the literature study section, equation (3-12) and paper [28]. All of the optimizations for the routing is based on Bellman-Ford since this is more flexible than Dijkstra due to the ability to handle negative links. The first part of the implementation is to generate nodes by randomizing 20 positions, these nodes represent the FSO base stations. Thereafter, another 20 nodes are generated as possible nodes, to add more base stations if required to be able to create a connected network with the desired properties. This works in a way that if it is not possible to create k connections between the 20 generated FSO base stations, there is a check to add possible nodes to ensure that there are at least k connections between the FSO base stations. After the generation of the nodes, the connections between them are calculated, this calculation is done using either log-normal or gamma-gamma calculations depending on the type of experiment. The next part is the optimization of the design of the network using a modified Kruskal s algorithm for MST. The modification was that the objective was to find the MST using the links with the highest capacity. The connections that are chosen is depending on the capacity of the links, there should be as few links as possible that fulfils the constraint of K-link-connectivity. The K-link-connectivity requirement may result in usage of the possible nodes that were generated. This is to increase the robustness of the system as well as having more available paths for multipath routing. The traffic is randomly generated with parameters for the source node, the destination node, the amount of traffic, starting time and the type of traffic, which determines if SRD or LRD should be used. All of these parameters were random, where the start node and the destination node could not be the same. The start node and destination node will form an OD-pair. The amount of traffic was also random between two limits and the start time was between 0 and 10 seconds. The random generation was uniform distributed. To simulate the system the simulation time is set to ten seconds with a time step of 0.1 seconds. Meaning that the system starts at 0 seconds and will increase by 0.1 seconds in each iteration and will then update the parameters of the network, such as turbulence. In each time step the parameters of the system will constantly be updated at link level. There are several experiments performed and those are done separately with different settings. The different optimization methods used are: maximize flow with delay constraint (MxFD), maximize flow (MxF) and minimize delay (MnD). The chosen optimization method depends on the type of traffic and the type of experiment. LRD traffic is always optimized with MxF since LRD type is not as delay dependent and will therefore benefit most from flow, SRD traffic is optimized using MxFD, MnD or both, depending on the type of experiment. MxF optimization will result in the path with the maximum flow, largest bottleneck in terms of throughput for an OD-pair. MxFD optimizes the same as MxF but has a constraint for the delay, resulting in the path with 34

42 the maximum flow which have a delay below the threshold, the threshold is set to or seconds. MnD optimization will result in the path with the lowest delay. MxF optimization will be a Bellman-Ford method with the objective function being maximize the minimum flow on a path. This is in subject to that a link exists between two nodes. MxFD optimization is also a Bellman-Ford method where the objective function is to maximize the minimum flow but has an addition to the constraints. The addition to the MxF in the subject to is that the delay on the path may not exceed a threshold value. The threshold values are decided by running 20 replications to get the average delay. Finally MnD optimization is a Bellman-Ford method with the objective function being to minimize the delay. The constraint is that a connection must exist between the nodes. The traffic on each link, the incoming traffic and the link state, not broken or broken, will be updated in every time step. Meaning that every 0.1 seconds there will be a check on all the links on the paths currently in use to see if any of them has broken. This may result in the end time for each OD-pair to be updated if an event which will affect the traffic, occurs. If a link on the path has broken the traffic will be redirected on a new path which will have different throughput, which will effect the end time for that OD-pair. The turbulence will also be updated in every time step, which may cause links to break or become available again. The turbulence is changed with a random, linear, Gaussian variable. If a link that is in use by an active OD-pair breaks the network survivability implementation will be used, either proactive or reactive depending on the type of experiment. The traffic will be updated every time something happens in the network, this can for instance be a link breaking or an OD-pair starting or finishing. Network survivability implementation contains of proactive, reactive and optimized redundancy. The proactive solution is to change the path if a link breaks to another path that was obtained during the optimization of the route. Reactive is that the path is re-optimized of the path breaks. Optimized redundancy is that 10 % additional data is sent over the chosen paths. The use of network survivability is different between some of the experiments. 5.1 Experiments The experiments that are performed are all done in the same way but using different parameters. The parameters that differ are: turbulence, which will result in either log-normal or gamma-gamma being used, routing technique, either Bellman-ford or multipath, the type of optimization method for SRD traffic will be different. The other parameters that differs is the type of network survivability used, which is either proactive or reactive. Bellman-Ford routing use both proactive and reactive while multipath routing uses only reactive, this will be explained in discussion. Each experiment is using ten OD-pairs with equal chance that an OD-pair is either SRD or LRD traffic, the starting node, destination node and the data size is also randomly generated. The number of iterations for each experiment is When optimizing the path for SRD traffic there are three different methods used. The first method is to do MxFD optimization and if the constraint for the delay cannot be fulfilled the optimization will be MxF instead for that OD-pair. The second method is to optimize using MnD. While the 35

43 third method is to use MxFD, if the constraint for the delay cannot be fulfilled MnD will be used instead. LRD traffic will only be optimized using MxF. The result of the different optimization methods for SRD traffic will result in three different experiments for log-normal and gamma-gamma separately. There will be tests for both reactive and proactive survivability for the multipath experiments Bellman-Ford experiments For the Bellman-Ford experiments the traffic is sent on one path. The optimization tries to optimize up to three disjoint paths and all paths are stored, broken links may result in less than three disjoint paths available. Network survivability for Bellman-Ford consists of proactive, reactive options and optimized redundancy. The proactive solution is to change the path to the second best path obtained at the route optimization, if that path also breaks it will change again to the third best path. The paths are decided using either MnD, MxF or MxFD. If it is not possible to change path to a pre-defined path since those paths may be broken, meaning that there are no available proactive paths, the paths will be re-optimized to find new paths. The reactive option is to re-optimize the path when a link on a path breaks. There will be different experiments for log-normal and gamma-gamma. Those experiments will use the different optimization methods for SRD traffic since LRD traffic has the focus on flow and not delay, there will also be different experiments for proactive and reactive survivability, resulting in a total of twelve experiments for Bellman-Ford Multipath routing For the multipath experiments the traffic is divided onto all the disjoint routes obtained at the optimization, maximum of three due to 3-connectivity, the only reason for not having three paths is if there are not three paths available due to broken links. The traffic is divided according to the capacity for each route, the bottleneck. The capacity of the paths, the disjoint paths obtained from path optimization, is added up and the percentage of the total capacity will be calculated for each path. This will result in the data being divided according to the percentage of the capacity of each path. Network survivability for multipath consists of proactive, reactive and optimized redundancy. Reactive for multipath is to re-optimize the paths and divide the data in the same method as described earlier. The proactive solution is to use two paths and the possible third to be a reserve route. While reactive uses all paths available and a maximum of three paths. There will be different experiments for log-normal and gamma-gamma. Those experiments will use the different optimization methods for SRD traffic resulting in a total of six experiments for multipath. 36

44 5.2 Solution sketch of the implementation This section will describe the implementation on a step by step basis. This is visualized in Figure 5.1 Initialization Step 0.1: Generate parameters in table 5.1 and create the nodes. The node generation is both 20 FSO base stations and 20 possible nodes. Step 0.2: Calculate link reliability and link capacity using either log-normal or gamma-gamma equations. Step 0.3: Create the connection matrix using the threshold for link reliability. Step 0.4: Optimize the network design using MST optimization. Step 0.5: Generate OD-pairs and data information. Step 0.6: Set simulationtime = 0. Simulation Step 1: If starting time for an OD-pair occurs at current time-step, optimize route according to experiment type. Step 2: If end time for an OD-pair occurs at current time-step, remove OD-pair from system. Step 3: Update turbulence. Step 4: Update connections using either log-normal or gamma-gamma equations. Step 5: Check if any current routes in use have a link that is not currently available. If True go to Step 6, else go to Step 7. Step 6: Use proactive or reactive solution to fix broken routes. Step 7: If simulationtime = 10s stop simulation, else simulationtime = simulationtime +0.1 and go to Step 1. 37

45 Initialization Step 0.1 Simulation ST = 0 Step1 ST = ST +0.1 Step 0.2 Step2 Step 0.3 Step3 Step 0.4 Step4 Step 0.5 Step5 links OK Step 0.6 Step6 Step7 ST 10 END Figure 5.1: Step by step visualized 5.3 Parameters This section describes the parameters used in the implementation. The parameters are shown in Table 5.1. The parameters are chosen by papers and some that were used in the previous project performed in this area. The redundancy was chosen to be 10 % of the data traffic after a discussion with Professor Xingjun Zhang. 38

46 Table 5.1: Parameters Parameter Value Wave length m Gamma threshold 0.9 Average intensity current 10 Threshold intensity current 8 Turbulence varies Refraction structure m 2 3 Received signal strength 10dB Bandwidth Hz Redundancy 10% of data size Network size m Hurst parameter Mathematical formulations for the optimization algorithms This section contains the mathematical formulations for the algorithms. The first algorithm 19 is Bellman-Ford with minimum delay, the second, 20, is Bellman-Ford with maximum flow and the final one, 21, is MST. Bellman-Ford minimum delay min d t (19a) subject to: λ ij = (19b) i,j E s,d V f sd ij λ i,j c ij 0 fij sd x i,j f sd n n j=1 f sd ij j=1 f sd ji = d t = d t +x i,j d ij x {0,1},d 0 f sd, i = s, for all i V f sd, i = d, for all i V 0, otherwise, for all i V (19c) (19d) (19e) (19f) (19g) Bellman-Ford maximum flow 39

47 max i,j V x ij f ij subject to: λ ij = i,j E s,d V f sd ij λ i,j c i,j 0 fij sd x i,j f sd n n j=1 f sd ij j=1 f sd ji = d t = d t +x i,j d i,j d t d th x {0,1},d 0 f sd, i = s, for all i V f sd, i = d, for all i V 0, otherwise, for all i V (20a) (20b) (20c) (20d) (20e) (20f) (20g) (20h) max subject to: Minimum spanning tree y e,k f e,k e E,k K y e,k = n 1 k K e E e (S,S) y e,k S 1 S V,k K y e {0,1} e E,k 0 (21a) (21b) (21c) (21d) The different optimization methods and their algorithms are shown above. 19a, 20a and 21a display the different objective functions for the algorithms. 19b and 20b is the traffic on each link and it is the same as the flow on the used links. 19c and 20c is a constraint that requires the traffic on each link to be less than the capacity.19d and 20d ensures that the flow is zero for links that are not used. 19e and 20e is the flow conservation constraint which ensures that all incoming traffic also has a destination. 19f and 20f sets the total delay as the old total delay plus the delay of the link. 19g, 20g and 21d is the constraints of the variables. 20h is the constraint that the delay must not be higher than the set threshold. 21b ensures that the minimum spanning tree consists of n 1 edges. 21c is the constraint that ensures that edges does not form cycles. Part 21b-21d involves k which is the number of the k-conectivity. 5.5 Pseudo codes This section contains the pseudo codes for the modified Bellman-Ford and Kruskal s minimum spanning tree optimization algorithms. For Bellman Ford inputs there are both link capacity usage, 40

48 which is how much traffic there is on a link and link usage which is the number of OD-pairs using each link Bellman-Ford Maximize the minimum flow. The changes done to the standard Bellman-Ford is that the objective is to maximize the minimum flow compared to minimize. Also, there is a check to see if the link is still available. This is the two if statements marked by (imp). The changes done in Kruskal s MST is also shown by (imp) in the algorithm. The changes done is to maximize the flow compared to minimize it. There is also a check if the link is available and an update if the link is used so that it can not be used by another MST, k-connectivity trees are created. 41

49 input : connections, starting node, end node, lambda, link capacity, link capacity usage, link usage, tabu output: path, delay, minimum flow, hop by hop delay, lambda for i = 1 : size(link capacity) do for j = 1 : size(link capacity) do Set link capacity as if there was another on the link end end Create empty sets for done and not done nodes A=[ ]; done nodes D=[ ]; not done nodes Set min flow for starting node to infinity min flow(start node)= ; while until all nodes are done do maximum flow=0 for i = 1 : number of nodes do if maximumflow minumumflowfor nodeiandnodenotdone (imp) then maximum flow=minimum flow save node end end for j = 1 : number of nodes do if connectionexistsandisallowedbetweennodej andthesavednode (imp) then Update minimum flow for the link Set predecessing node for j to saved node Calculate delay if j A then Move node j to D end end end Move node from D to A end find the path by predecessing nodes current node=end node while currentnode startnode do update path with predecessor for current node set current node to predecessing node end Update minimum flow and lambda for the path 42

50 5.5.2 Kruskal s Minimum spanning tree input : k-connectivity, number of nodes, link capacity, distance output: available nodes, connection for x = 1 : kconnectivity (imp) do create sets of nodes in tree and nodes not in tree for i = 1 : number of nodes do Create a vector with the number of connections for each node end while true do Highest edge= for i = 1 : nodes in tree do for j = 1 : nodes in tree do if if link from node i is better than previous value then Update highest edge Add start node to in tree Save end node end end end Set capacity = 0 Check if link can be used if link can be used (imp) then Update the capacity end if capacity is higher than 20%of the highest edge (imp) then Save start and end node end for i = 1 : number of end nodes do Put start and end node in tabu list Save the connection in a connection matrix end if number of nodes in tree equals available nodes then break while loop end end end 5.6 Algorithm for network survivability This section contains the algorithm for both proactive and reactive survivability. There is only one reactive solution since it will be the same regardless of single-path or multipath Description of proactive single-path The algorithm for proactive single-path has the inputs of all paths for the of the current OD-pair. First, a loop starts to loop over all paths for the OD-pair, 3 due to two reserve. If a link on a path has broken the path is updated by moving a reserve path to the used path. But, if there are no 43

51 available paths all paths will be re-optimized Description of proactive multipath Proactive multipath has the input of all paths for the OD-pair. First, a loop is done over all possible paths, which is two in this case since there is only one in reserve. If any link on a path has broken it changes the path to the reserve. If there are no available paths, re-optimize the paths Description of reactive algorithm Reactive has the input of all paths for the OD-pair. For single-path there is a check if the path has broken, if yes re-optimize. For multipath the loop is over all paths and if any has broken, re-optimize Proactive single-path input : paths output: paths Loop over all possible paths (3-paths since there are two in reserve plus original) for n = 1 : 3 do Check if any link on path in use has broken. if path ij,1 = 1 & Link ij = 0 then Change path to reserve path. path ij,1 = path ij,2 Update reserve path. path ij,2 = path ij,3 Set last reserve path to zero. path ij,3 = 0 end If there is no available path. if path ij,1 = 0 then Re-optimize paths. end end 44

52 5.6.5 Proactive multipath input : paths output: paths Loop over all possible paths (2-paths for multipath since there is only one in reserve) for n = 1 : 2 do Check if any link on path in use has broken. if path ij,n = 1 & Link ij = 0 then Change broken path to reserve path. path ij,n = path ij,3 Set reserve path to zero. path ij,3 = 0 end If there is no available path. if path ij,n = 0 then Re-optimize paths. end end Reactive algorithm input : paths output: paths Loop over all possible paths (Single-path will not use for loop, only if statement). for n = 1 : 3 do Check if any link on path in use has broken. if path ij,n = 1 & Link ij = 0 then Re-optimize. end end 45

53 6 Results The results for the experiments are presented in tables below. Each experiment has been iterated 1000 times. The constraint for the delay for SRD traffic is set to either or seconds, seconds was obtained by running 20 replications and finding the average delay for SRD traffic, see Section 7.2 for an explanation of the other threshold. LRD traffic has no constraint for delay since flow is more important. Flow is more important for LRD since that type of traffic is data which does not require to have low delay, such as a webpage. The experiments are numbered by 1 to 5. Table 6.1 below describes which number each experiment has. Each experiment is run for both log-normal and gamma-gamma as well as single path and multipath. Table shows the results from the reactive experiments. Table shows the results for a multipath with two links used at maximum, this is the proactive solution and when a used link breaks the flow is sent on the possible third link. After the Tables there are graphs to show how the exact values differ for the flow and delay between the experiments. Table 6.1: Experiment numbering Experiment Number MnD 1 MxFD with constraint of and MnD 2 MxFD with constraint of and MnD 3 MxFD with constraint of and MxF 4 MxFD with constraint of and MxF 5 MnD is minimum delay, MxFD is maximum flow with delay constraint and MxF is the maximum flow. The constraints mentioned in Table 6.1 is the delay constraint, if the constraint cannot be fulfilled the optimization method mentioned last in the cell will be used. The parameters used in the results are, SRD and LRD flow which is the flow in packets/s from source to destination. The relation in flow between LRD/SRD is how much more flow LRD has compared to SRD. SRD and LRD delay is the end to end delay between source and destination. The number of link breaks on paths is how many links on paths in use, breaks. The number of nodes in network is the amount of nodes in use and total lambda is the total traffic sent in network, over all links. 46

54 Table 6.2: Reactive results single path log-normal Experiment SRD flow (packets/s) LRD flow (packets/s) Relation flow LRD/SRD SRD delay (s) LRD delay (s) Relation delay LRD/SRD Number of link breaks on paths Number of nodes in network Total lambda 1.9exp6 2.15exp6 2.26exp6 2.53exp6 2.57exp6 Table 6.3: Reactive results single path gamma-gamma Experiment SRD flow (packets/s) LRD flow (packets/s) Relation flow LRD/SRD SRD delay (s) LRD delay (s) Relation delay LRD/SRD Number of link breaks on paths Number of nodes in network Total lambda 1.76exp6 1.97exp6 2.08exp6 2.31exp6 2.34exp6 Table 6.4: Reactive results multipath log-normal Experiment SRD flow (packets/s) LRD flow (packets/s) Relation flow LRD/SRD SRD delay (s) LRD delay (s) Relation delay LRD/SRD Number of link breaks on paths Number of nodes in network Total lambda 3.66exp6 4.13exp6 4.19exp6 4.19exp6 4.22exp6 47

55 Table 6.5: Reactive results multipath gamma-gamma Experiment SRD flow (packets/s) LRD flow (packets/s) Relation flow LRD/SRD SRD delay (s) LRD delay (s) Relation delay LRD/SRD Number of link breaks on paths Number of nodes in network Total lambda 3.83exp6 4.16exp6 4.22exp6 4.15exp6 4.23exp6 Table 6.6: Proactive results multipath log-normal 2-links Experiment SRD flow (packets/s) LRD flow (packets/s) Relation flow LRD/SRD SRD delay (s) LRD delay (s) Relation delay LRD/SRD Number of nodes in network Total lambda 2.81exp6 3.23exp6 3.34exp6 3.32exp6 3.43exp6 Table 6.7: Proactive results multipath gamma-gamma 2-links Experiment SRD flow (packets/s) LRD flow (packets/s) Relation flow LRD/SRD SRD delay (s) LRD delay (s) Relation delay LRD/SRD Number of nodes in network Total lambda 2.78exp6 3.10exp6 3.17exp6 3.23exp6 3.25exp6 It can be seen in Table that the flow is higher for LRD type of traffic than SRD while the delay is lower for SRD than LRD. This is as it should be since the SRD traffic is more dependent on the delay and will therefore chose a path with a short delay. The flow on the other hand is not as important to SRD as it is for LRD where LRD will chose a path which gives high flow and can therefore chose a path which results in higher delay. The results also show that the system gives reasonable values for both log-normal and gamma-gamma experiments. The two multipath have no link breakage but it is the same as the other multipath since the traffic is divided. The comparison 48

56 of the exact values of the flow and delay between the different experiments can be seen below in Figure Figure 6.1: Comparison for the SRD flow for log-normal. Figure 6.2: Comparison for the LRD flow for log-normal. 49

57 Figure 6.3: Comparison for the SRD delay for log-normal. Figure 6.4: Comparison for the LRD delay for log-normal. 50

58 Figure 6.5: Comparison for the SRD flow for gamma-gamma. Figure 6.6: Comparison for the LRD flow for gamma-gamma. 51

59 Figure 6.7: Comparison for the SRD delay for gamma-gamma. Figure 6.8: Comparison for the LRD delay for gamma-gamma. 52

HTTP Based Adap ve Bitrate Streaming Protocols in Live Surveillance Systems

HTTP Based Adap ve Bitrate Streaming Protocols in Live Surveillance Systems HTTP Based Adapve Bitrate Streaming Protocols in Live Surveillance Systems Daniel Dzabic Jacob Mårtensson Supervisor : Adrian Horga Examiner : Ahmed Rezine External supervisor : Emil Wilock Linköpings

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final Thesis Network usage profiling for applications on the Android smart phone by Jakob Egnell LIU-IDA/LITH-EX-G 12/004

More information

Design and evaluation of a system that coordinate clients to use the same server

Design and evaluation of a system that coordinate clients to use the same server Linköpings universitet/linköping University IDA Department of Computer and Information Science Bachelor Thesis Information Technology Spring term 2017 LIU-IDA/LITH-EX-G--17/067--SE Design and evaluation

More information

Personlig visualisering av bloggstatistik

Personlig visualisering av bloggstatistik LiU-ITN-TEK-G-13/005-SE Personlig visualisering av bloggstatistik Tina Durmén Blunt 2013-03-22 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Case Study of Development of a Web Community with ASP.NET MVC 5 by Haci Dogan LIU-IDA/LITH-EX-A--14/060--SE 2014-11-28

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer Final thesis and Information Science Minimizing memory requirements

More information

Design, Implementation, and Performance Evaluation of HLA in Unity

Design, Implementation, and Performance Evaluation of HLA in Unity Linköping University IDA Bachelor Thesis Computer Science Spring 2017 LIU-IDA/LITH-EX-G-17/007--SE Design, Implementation, and Performance Evaluation of HLA in Unity Author: Karl Söderbäck 2017-06-09 Supervisor:

More information

Department of Electrical Engineering. Division of Information Coding. Master Thesis. Free Viewpoint TV. Mudassar Hussain.

Department of Electrical Engineering. Division of Information Coding. Master Thesis. Free Viewpoint TV. Mudassar Hussain. Department of Electrical Engineering Division of Information Coding Master Thesis Free Viewpoint TV Master thesis performed in Division of Information Coding by Mudassar Hussain LiTH-ISY-EX--10/4437--SE

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Introducing Mock framework for Unit Test in a modeling environment by Joakim Braaf LIU-IDA/LITH-EX-G--14/004--SE

More information

Automatic LOD selection

Automatic LOD selection LiU-ITN-TEK-A--17/054--SE Automatic LOD selection Isabelle Forsman 2017-10-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och naturvetenskap

More information

Evaluation of BizTalk360 From a business value perspective

Evaluation of BizTalk360 From a business value perspective Linköpings universitet Institutionen för IDA Kandidatuppsats, 16 hp Högskoleingenjör - Datateknik Vårterminen 2018 LIU-IDA/LITH-EX-G--18/069--SE Evaluation of BizTalk360 From a business value perspective

More information

Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization Software

Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization Software LiU-ITN-TEK-A--17/062--SE Creating User Interfaces Using Web-based Technologies to Support Rapid Prototyping in a Desktop Astrovisualization Software Klas Eskilson 2017-11-28 Department of Science and

More information

Context-based algorithm for face detection

Context-based algorithm for face detection Examensarbete LITH-ITN-MT-EX--05/052--SE Context-based algorithm for face detection Helene Wall 2005-09-07 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden Institutionen

More information

Object Migration in a Distributed, Heterogeneous SQL Database Network

Object Migration in a Distributed, Heterogeneous SQL Database Network Linköping University Department of Computer and Information Science Master s thesis, 30 ECTS Computer Engineering (Datateknik) 2018 LIU-IDA/LITH-EX-A--18/008--SE Object Migration in a Distributed, Heterogeneous

More information

Slow rate denial of service attacks on dedicated- versus cloud based server solutions

Slow rate denial of service attacks on dedicated- versus cloud based server solutions Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Information technology 2018 LIU-IDA/LITH-EX-G--18/031--SE Slow rate denial of service attacks on dedicated-

More information

Audial Support for Visual Dense Data Display

Audial Support for Visual Dense Data Display LiU-ITN-TEK-A--17/004--SE Audial Support for Visual Dense Data Display Tobias Erlandsson Gustav Hallström 2017-01-27 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Development of water leakage detectors

Development of water leakage detectors LiU-ITN-TEK-A--08/068--SE Development of water leakage detectors Anders Pettersson 2008-06-04 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis A systematic literature Review of Usability Inspection Methods by Ali Ahmed LIU-IDA/LITH-EX-A--13/060--SE 2013-11-01

More information

Calibration of traffic models in SIDRA

Calibration of traffic models in SIDRA LIU-ITN-TEK-A-13/006-SE Calibration of traffic models in SIDRA Anna-Karin Ekman 2013-03-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

More information

HTTP/2, Server Push and Branched Video

HTTP/2, Server Push and Branched Video Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G--17/073--SE HTTP/2, Server Push and Branched Video Evaluation of using HTTP/2 Server Push

More information

Information visualization of consulting services statistics

Information visualization of consulting services statistics LiU-ITN-TEK-A--16/051--SE Information visualization of consulting services statistics Johan Sylvan 2016-11-09 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Comparing Costs of Browser Automation Test Tools with Manual Testing

Comparing Costs of Browser Automation Test Tools with Manual Testing Linköpings universitet The Institution of Computer Science (IDA) Master Theses 30 ECTS Informationsteknologi Autumn 2016 LIU-IDA/LITH-EX-A--16/057--SE Comparing Costs of Browser Automation Test Tools with

More information

Tablet-based interaction methods for VR.

Tablet-based interaction methods for VR. Examensarbete LITH-ITN-MT-EX--06/026--SE Tablet-based interaction methods for VR. Lisa Lönroth 2006-06-16 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden Institutionen

More information

Optimizing a software build system through multi-core processing

Optimizing a software build system through multi-core processing Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2019 LIU-IDA/LITH-EX-A--19/004--SE Optimizing a software build system through multi-core processing Robin Dahlberg

More information

Adaptive Probabilistic Routing in Wireless Ad Hoc Networks

Adaptive Probabilistic Routing in Wireless Ad Hoc Networks LiU-ITN-TEK-A-13/018-SE Adaptive Probabilistic Routing in Wireless Ad Hoc Networks Affaf Hasan Ismail Liaqat 2013-05-23 Department of Science and Technology Linköping University SE-601 7 Norrköping, Sweden

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Migration process evaluation and design by Henrik Bylin LIU-IDA/LITH-EX-A--13/025--SE 2013-06-10 Linköpings universitet

More information

Analysis of GPU accelerated OpenCL applications on the Intel HD 4600 GPU

Analysis of GPU accelerated OpenCL applications on the Intel HD 4600 GPU Linköping University Department of Computer Science Master thesis, 30 ECTS Computer Science Spring term 2017 LIU-IDA/LITH-EX-A--17/019--SE Analysis of GPU accelerated OpenCL applications on the Intel HD

More information

Multi-Video Streaming with DASH

Multi-Video Streaming with DASH Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Datateknik 217 LIU-IDA/LITH-EX-G--17/71--SE Multi-Video Streaming with DASH Multi-video streaming med DASH Sebastian Andersson

More information

Study of Local Binary Patterns

Study of Local Binary Patterns Examensarbete LITH-ITN-MT-EX--07/040--SE Study of Local Binary Patterns Tobias Lindahl 2007-06- Department of Science and Technology Linköpings universitet SE-60 74 Norrköping, Sweden Institutionen för

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Towards efficient legacy test evaluations at Ericsson AB, Linköping by Karl Gustav Sterneberg LIU-IDA/LITH-EX-A--08/056--SE

More information

Creating a Framework for Consumer-Driven Contract Testing of Java APIs

Creating a Framework for Consumer-Driven Contract Testing of Java APIs Linköping University IDA Bachelor s Degree, 16 ECTS Computer Science Spring term 2018 LIU-IDA/LITH-EX-G--18/022--SE Creating a Framework for Consumer-Driven Contract Testing of Java APIs Fredrik Selleby

More information

Evaluation of a synchronous leader-based group membership

Evaluation of a synchronous leader-based group membership Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Information Technology Spring 2017 LIU-IDA/LITH-EX-G--17/084--SE Evaluation of a synchronous leader-based group membership protocol

More information

Optimal Coherent Reconstruction of Unstructured Mesh Sequences with Evolving Topology

Optimal Coherent Reconstruction of Unstructured Mesh Sequences with Evolving Topology LiU-ITN-TEK-A-14/040-SE Optimal Coherent Reconstruction of Unstructured Mesh Sequences with Evolving Topology Christopher Birger 2014-09-22 Department of Science and Technology Linköping University SE-601

More information

Automatic Test Suite for Physics Simulation System

Automatic Test Suite for Physics Simulation System Examensarbete LITH-ITN-MT-EX--06/042--SE Automatic Test Suite for Physics Simulation System Anders-Petter Mannerfelt Alexander Schrab 2006-09-08 Department of Science and Technology Linköpings Universitet

More information

Ad-hoc Routing in Low Bandwidth Environments

Ad-hoc Routing in Low Bandwidth Environments Master of Science in Computer Science Department of Computer and Information Science, Linköping University, 2016 Ad-hoc Routing in Low Bandwidth Environments Emil Berg Master of Science in Computer Science

More information

Storage and Transformation for Data Analysis Using NoSQL

Storage and Transformation for Data Analysis Using NoSQL Linköping University Department of Computer Science Master thesis, 30 ECTS Information Technology 2017 LIU-IDA/LITH-EX-A--17/049--SE Storage and Transformation for Data Analysis Using NoSQL Lagring och

More information

Visual Data Analysis using Tracked Statistical Measures within Parallel Coordinate Representations

Visual Data Analysis using Tracked Statistical Measures within Parallel Coordinate Representations Examensarbete LITH-ITN-MT-EX--05/030--SE Visual Data Analysis using Tracked Statistical Measures within Parallel Coordinate Representations Daniel Ericson 2005-04-08 Department of Science and Technology

More information

Advanced Visualization Techniques for Laparoscopic Liver Surgery

Advanced Visualization Techniques for Laparoscopic Liver Surgery LiU-ITN-TEK-A-15/002-SE Advanced Visualization Techniques for Laparoscopic Liver Surgery Dimitrios Felekidis 2015-01-22 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Computer-assisted fracture reduction in an orthopaedic pre-operative planning workflow

Computer-assisted fracture reduction in an orthopaedic pre-operative planning workflow LiU-ITN-TEK-A--17/003--SE Computer-assisted fracture reduction in an orthopaedic pre-operative planning workflow Ludvig Mangs 2017-01-09 Department of Science and Technology Linköping University SE-601

More information

Functional and Security testing of a Mobile Application

Functional and Security testing of a Mobile Application Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Information Technology 2017 LIU-IDA/LITH-EX-G--17/066--SE Functional and Security testing of a Mobile Application Funktionell

More information

OMSI Test Suite verifier development

OMSI Test Suite verifier development Examensarbete LITH-ITN-ED-EX--07/010--SE OMSI Test Suite verifier development Razvan Bujila Johan Kuru 2007-05-04 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden

More information

Design and Proof-of-Concept Implementation of Interactive Video Streaming with DASH.js

Design and Proof-of-Concept Implementation of Interactive Video Streaming with DASH.js Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G--17/081--SE Design and Proof-of-Concept Implementation of Interactive Video

More information

Design Optimization of Soft Real-Time Applications on FlexRay Platforms

Design Optimization of Soft Real-Time Applications on FlexRay Platforms Institutionen för Datavetenskap Department of Computer and Information Science Master s thesis Design Optimization of Soft Real-Time Applications on FlexRay Platforms by Mahnaz Malekzadeh LIU-IDA/LITH-EX-A

More information

Hybrid Particle-Grid Water Simulation using Multigrid Pressure Solver

Hybrid Particle-Grid Water Simulation using Multigrid Pressure Solver LiU-ITN-TEK-G--14/006-SE Hybrid Particle-Grid Water Simulation using Multigrid Pressure Solver Per Karlsson 2014-03-13 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Statistical flow data applied to geovisual analytics

Statistical flow data applied to geovisual analytics LiU-ITN-TEK-A--11/051--SE Statistical flow data applied to geovisual analytics Phong Hai Nguyen 2011-08-31 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

An Approach to Achieve DBMS Vendor Independence for Ides AB s Platform

An Approach to Achieve DBMS Vendor Independence for Ides AB s Platform Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Datateknik 2017 LIU-IDA/LITH-EX-G--17/008--SE An Approach to Achieve DBMS Vendor Independence for Ides AB s Platform Niklas

More information

Clustered Importance Sampling for Fast Reflectance Rendering

Clustered Importance Sampling for Fast Reflectance Rendering LiU-ITN-TEK-A--08/082--SE Clustered Importance Sampling for Fast Reflectance Rendering Oskar Åkerlund 2008-06-11 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Implementation and Evaluation of Bluetooth Low Energy as a communication technology for wireless sensor networks

Implementation and Evaluation of Bluetooth Low Energy as a communication technology for wireless sensor networks Linköpings universitet/linköping University IDA HCS Bachelor 16hp Innovative programming Vårterminen/Spring term 2017 ISRN: LIU-IDA/LITH-EX-G--17/015--SE Implementation and Evaluation of Bluetooth Low

More information

Automatic analysis of eye tracker data from a driving simulator

Automatic analysis of eye tracker data from a driving simulator LiU-ITN-TEK-A--08/033--SE Automatic analysis of eye tracker data from a driving simulator Martin Bergstrand 2008-02-29 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Routing on Resource Allocation in Free Space Optical Network.

Routing on Resource Allocation in Free Space Optical Network. LiU-ITN-TEK-A-16/011--SE Routing on Resource Allocation in Free Space Optical Network. Md Arifur Rahman 2016-04-28 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Debug Interface for Clone of DSP. Examensarbete utfört i Elektroniksystem av. Andreas Nilsson

Debug Interface for Clone of DSP. Examensarbete utfört i Elektroniksystem av. Andreas Nilsson Debug Interface for Clone of 56000 DSP Examensarbete utfört i Elektroniksystem av Andreas Nilsson LITH-ISY-EX-ET--07/0319--SE Linköping 2007 Debug Interface for Clone of 56000 DSP Examensarbete utfört

More information

Adapting network interactions of a rescue service mobile application for improved battery life

Adapting network interactions of a rescue service mobile application for improved battery life Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Information Technology Spring term 2017 LIU-IDA/LITH-EX-G--2017/068--SE Adapting network interactions of a rescue

More information

Large fused GPU volume rendering

Large fused GPU volume rendering LiU-ITN-TEK-A--08/108--SE Large fused GPU volume rendering Stefan Lindholm 2008-10-07 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och

More information

Efficient implementation of the Particle Level Set method

Efficient implementation of the Particle Level Set method LiU-ITN-TEK-A--10/050--SE Efficient implementation of the Particle Level Set method John Johansson 2010-09-02 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Bachelor thesis A TDMA Module for Waterborne Communication with Focus on Clock Synchronization by Anders Persson LIU-IDA-SAS

More information

Face detection for selective polygon reduction of humanoid meshes

Face detection for selective polygon reduction of humanoid meshes LIU-ITN-TEK-A--15/038--SE Face detection for selective polygon reduction of humanoid meshes Johan Henriksson 2015-06-15 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Semi-automatic code-to-code transformer for Java

Semi-automatic code-to-code transformer for Java Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2016 LIU-IDA/LITH-EX-A--16/031--SE Semi-automatic code-to-code transformer for Java Transformation of library calls

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Master s Thesis An Approach on Learning Multivariate Regression Chain Graphs from Data by Babak Moghadasin LIU-IDA/LITH-EX-A--13/026

More information

Illustrative Visualization of Anatomical Structures

Illustrative Visualization of Anatomical Structures LiU-ITN-TEK-A--11/045--SE Illustrative Visualization of Anatomical Structures Erik Jonsson 2011-08-19 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Motion Capture to the People: A high quality, low budget approach to real time Motion Capture

Motion Capture to the People: A high quality, low budget approach to real time Motion Capture Examensarbete LITH-ITN-MT-EX--05/013--SE Motion Capture to the People: A high quality, low budget approach to real time Motion Capture Daniel Saidi Magnus Åsard 2005-03-07 Department of Science and Technology

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis A database solution for scientific data from driving simulator studies By Yasser Rasheed LIU-IDA/LITH-EX-A--11/017

More information

Monte Carlo Simulation of Light Scattering in Paper

Monte Carlo Simulation of Light Scattering in Paper Examensarbete LITH-ITN-MT-EX--05/015--SE Monte Carlo Simulation of Light Scattering in Paper Ronnie Dahlgren 2005-02-14 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping,

More information

Extending the Stream Reasoning in DyKnow with Spatial Reasoning in RCC-8

Extending the Stream Reasoning in DyKnow with Spatial Reasoning in RCC-8 Institutionen för Datavetenskap Department of Computer and Information Science Master s thesis Extending the Stream Reasoning in DyKnow with Spatial Reasoning in RCC-8 by Daniel Lazarovski LIU-IDA/LITH-EX-A

More information

Raspberry pi to backplane through SGMII

Raspberry pi to backplane through SGMII LiU-ITN-TEK-A--18/019--SE Raspberry pi to backplane through SGMII Petter Lundström Josef Toma 2018-06-01 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Automatic Clustering of 3D Objects for Hierarchical Level-of-Detail

Automatic Clustering of 3D Objects for Hierarchical Level-of-Detail LiU-ITN-TEK-A--18/033--SE Automatic Clustering of 3D Objects for Hierarchical Level-of-Detail Benjamin Wiberg 2018-06-14 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

Multi-Resolution Volume Rendering of Large Medical Data Sets on the GPU

Multi-Resolution Volume Rendering of Large Medical Data Sets on the GPU LITH-ITN-MT-EX--07/056--SE Multi-Resolution Volume Rendering of Large Medical Data Sets on the GPU Ajden Towfeek 2007-12-20 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

A Back-End for the SkePU Skeleton Programming Library targeting the Low- Power Multicore Vision Processor

A Back-End for the SkePU Skeleton Programming Library targeting the Low- Power Multicore Vision Processor Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2016 LIU-IDA/LITH-EX-A--16/055--SE A Back-End for the SkePU Skeleton Programming Library targeting the Low- Power Multicore

More information

Markörlös Augmented Reality för visualisering av 3D-objekt i verkliga världen

Markörlös Augmented Reality för visualisering av 3D-objekt i verkliga världen LiU-ITN-TEK-A-14/019-SE Markörlös Augmented Reality för visualisering av 3D-objekt i verkliga världen Semone Kallin Clarke 2014-06-11 Department of Science and Technology Linköping University SE-601 74

More information

Evaluation of cloud-based infrastructures for scalable applications

Evaluation of cloud-based infrastructures for scalable applications LiU-ITN-TEK-A--17/022--SE Evaluation of cloud-based infrastructures for scalable applications Carl Englund 2017-06-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Implementing a scalable recommender system for social networks

Implementing a scalable recommender system for social networks LiU-ITN-TEK-A--17/031--SE Implementing a scalable recommender system for social networks Alexander Cederblad 2017-06-08 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Design of video players for branched videos

Design of video players for branched videos Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Computer Science 2018 LIU-IDA/LITH-EX-G--18/053--SE Design of video players for branched videos Design av videospelare

More information

Towards automatic asset management for real-time visualization of urban environments

Towards automatic asset management for real-time visualization of urban environments LiU-ITN-TEK-A--17/049--SE Towards automatic asset management for real-time visualization of urban environments Erik Olsson 2017-09-08 Department of Science and Technology Linköping University SE-601 74

More information

Multi-Volume Rendering in OpenSpace Using A-Buffers for Space Weather Visualizations

Multi-Volume Rendering in OpenSpace Using A-Buffers for Space Weather Visualizations LiU-ITN-TEK-A--17/006--SE Multi-Volume Rendering in OpenSpace Using A-Buffers for Space Weather Visualizations Jonas Strandstedt 2017-02-24 Department of Science and Technology Linköping University SE-601

More information

A Cycle-Trade Heuristic for the Weighted k-chinese Postman Problem

A Cycle-Trade Heuristic for the Weighted k-chinese Postman Problem Linköping University Department of Computer Science Bachelor thesis, 16 ECTS Computer Science 2018 LIU-IDA/LITH-EX-G--18/073--SE A Cycle-Trade Heuristic for the Weighted k-chinese Postman Problem Anton

More information

Real-Time Magnetohydrodynamic Space Weather Visualization

Real-Time Magnetohydrodynamic Space Weather Visualization LiU-ITN-TEK-A--17/048--SE Real-Time Magnetohydrodynamic Space Weather Visualization Oskar Carlbaum Michael Novén 2017-08-30 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

Institutionen för datavetenskap. Study of the Time Triggered Ethernet Dataflow

Institutionen för datavetenskap. Study of the Time Triggered Ethernet Dataflow Institutionen för datavetenskap Department of Computer and Information Science Final thesis Study of the Time Triggered Ethernet Dataflow by Niclas Rosenvik LIU-IDA/LITH-EX-G 15/011 SE 2015-07-08 Linköpings

More information

Permissioned Blockchains and Distributed Databases: A Performance Study

Permissioned Blockchains and Distributed Databases: A Performance Study Linköping University Department of Computer and Information Science Master thesis, 30 ECTS Datateknik 2018 LIU-IDA/LITH-EX-A--2018/043--SE Permissioned Blockchains and Distributed Databases: A Performance

More information

Intelligent boundary extraction for area and volume measurement

Intelligent boundary extraction for area and volume measurement Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2017 LIU-IDA/LITH-EX-A--17/009--SE Intelligent boundary extraction for area and volume measurement Using LiveWire for

More information

Visualisation of data from IoT systems

Visualisation of data from IoT systems Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2017 LIU-IDA/LITH-EX-A--17/027--SE Visualisation of data from IoT systems A case study of a prototyping tool for data

More information

A latency comparison of IoT protocols in MES

A latency comparison of IoT protocols in MES Linköping University Department of Computer and Information Science Master thesis Software and Systems Division Spring 2017 LIU-IDA/LITH-EX-A--17/010--SE A latency comparison of IoT protocols in MES Erik

More information

Distributed Client Driven Certificate Transparency Log

Distributed Client Driven Certificate Transparency Log Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Information Technology 2018 LIU-IDA/LITH-EX-G--18/055--SE Distributed Client Driven Transparency Log Distribuerad

More information

A collision framework for rigid and deformable body simulation

A collision framework for rigid and deformable body simulation LiU-ITN-TEK-A--16/049--SE A collision framework for rigid and deformable body simulation Rasmus Haapaoja 2016-11-02 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

Towards Automatic Detection and Visualization of Tissues in Medical Volume Rendering

Towards Automatic Detection and Visualization of Tissues in Medical Volume Rendering Examensarbete LITH-ITN-MT-EX--06/012--SE Towards Automatic Detection and Visualization of Tissues in Medical Volume Rendering Erik Dickens 2006-02-03 Department of Science and Technology Linköpings Universitet

More information

Interactive GPU-based Volume Rendering

Interactive GPU-based Volume Rendering Examensarbete LITH-ITN-MT-EX--06/011--SE Interactive GPU-based Volume Rendering Philip Engström 2006-02-20 Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden Institutionen

More information

Real-time visualization of a digital learning platform

Real-time visualization of a digital learning platform LiU-ITN-TEK-A--17/035--SE Real-time visualization of a digital learning platform Kristina Engström Mikaela Koller 2017-06-20 Department of Science and Technology Linköping University SE-601 74 Norrköping,

More information

Utilize OCR text to extract receipt data and classify receipts with common Machine Learning

Utilize OCR text to extract receipt data and classify receipts with common Machine Learning Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Programming 2018 LIU-IDA/LITH-EX-G--18/043--SE Utilize OCR text to extract receipt data and classify receipts

More information

Development of a Game Portal for Web-based Motion Games

Development of a Game Portal for Web-based Motion Games Linköping University Department of Computer Science Master thesis, 30 ECTS Datateknik 2017 LIU-IDA/LITH-EX-A--17/013--SE Development of a Game Portal for Web-based Motion Games Ozgur F. Kofali Supervisor

More information

Real-Time Ray Tracing on the Cell Processor

Real-Time Ray Tracing on the Cell Processor LiU-ITN-TEK-A--08/102--SE Real-Time Ray Tracing on the Cell Processor Filip Lars Roland Andersson 2008-09-03 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Final thesis Implementation of a Profibus agent for the Proview process control system by Ferdinand Hauck LIU-IDA/LITH-EX-G--09/004--SE

More information

IP TV påverkan och anpassning av IP-nätet hos en datakomoperatör.

IP TV påverkan och anpassning av IP-nätet hos en datakomoperatör. Examensarbete LITH-ITN-KTS-EX--06/004--SE IP TV påverkan och anpassning av IP-nätet hos en datakomoperatör. Jessica Eriksson 2006-02-03 Department of Science and Technology Linköpings Universitet SE-601

More information

Semi-automated annotation of histology images

Semi-automated annotation of histology images Linköping University Department of Computer science Master thesis, 30 ECTS Computer science 2016 LIU-IDA/LITH-EX-A--16/030--SE Semi-automated annotation of histology images Development and evaluation of

More information

A user-centered development of a remote Personal Video Recorder prototype for mobile web browsers

A user-centered development of a remote Personal Video Recorder prototype for mobile web browsers LiU-ITN-TEK-G--09/004--SE A user-centered development of a remote Personal Video Recorder prototype for mobile web browsers Johan Collberg Anders Sjögren 2009-01-29 Department of Science and Technology

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Final thesis Developing a new 2D-plotting package for OpenModelica by Haris Kapidzic LIU-IDA/LITH-EX-G 11/007 SE 2011-04-28

More information

Machine Learning of Crystal Formation Energies with Novel Structural Descriptors

Machine Learning of Crystal Formation Energies with Novel Structural Descriptors Linköping University The Department of Physics, Chemistry, and Biology Master thesis, 30 ECTS Applied Physics and Electrical Engineering - Theory, Modelling, Visualization 2017 LIU-IFM/LITH-EX-A--17/3427--SE

More information

Efficient Simulation and Rendering of Sub-surface Scattering

Efficient Simulation and Rendering of Sub-surface Scattering LiU-ITN-TEK-A--13/065-SE Efficient Simulation and Rendering of Sub-surface Scattering Apostolia Tsirikoglou 2013-10-30 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden

More information

GPU accelerated Nonlinear Soft Tissue Deformation

GPU accelerated Nonlinear Soft Tissue Deformation LiU-ITN-TEK-A--12/020--SE GPU accelerated Nonlinear Soft Tissue Deformation Sathish Kottravel 2012-03-29 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

More information

Progressive Web Applications and Code Complexity

Progressive Web Applications and Code Complexity Linköping University Department of Computer and Information Science Master thesis, 30 ECTS Datateknik 2018 LIU-IDA/LITH-EX-A--18/037--SE Progressive Web Applications and Code Complexity An analysis of

More information

Developing a database and a user interface for storing test data for radar equipment

Developing a database and a user interface for storing test data for radar equipment Linköping University IDA- Department of Computer and information Science Bachelor thesis 16hp Educational program: Högskoleingenjör i Datateknik Spring term 2017 ISRN: LIU-IDA/LITH-EX-G--17/006 SE Developing

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis Implementation of a Report Template Editing Tool in Java and JSP by Jacob Matiasson LIU-IDA/LITH-EX-G--14/059--SE

More information

Network Intrusion and Detection

Network Intrusion and Detection Linköping University Department of Computer and Information Science Bachelor thesis, 16 ECTS Datateknik 202017 LIU-IDA/LITH-EX-G--2017/085--SE Network Intrusion and Detection An evaluation of SNORT Nätverksintrång

More information