Top Banner

of 42

Copebp Thesis

Apr 06, 2018

Download

Documents

Bogdan Toader
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/3/2019 Copebp Thesis

    1/42

    Improving Performance of Wireless Networks using

    Network Coding and Back-Pressure scheduling

    A Senior Honours Thesis

    by

    Shyam Sunder Kumar

    Submitted to the Office of Honours Programs

    Texas A&M University

    In partial fulfilment of the requirements of the

    UNIVERSITY UNDERGRADUATE

    RESEARCH FELLOWS

    April 2009

    Major: Electrical Engineering

  • 8/3/2019 Copebp Thesis

    2/42

    ABSTRACT

    Improving Performance of Wireless Networks using Network Coding and

    Back-Pressure scheduling

    Shyam Sunder KumarDepartment of Electrical and Computer Engineering

    Texas A&M University

    Fellows Advisor: Dr. Alexander Sprintson

    Department of Electrical and Computer Engineeringand

    Graduate Mentor: Mr. Vinith Reddy

    Department of Electrical and Computer Engineering

    Since the seminal ideas ofnetwork codingwere first introduced by R Ahlswede et al, in

    [1], there has been a lot of interest in the topic. There have been a wide variety of

    discussions on the potential for the use of this idea. However, there have been few cases

    of studies based on practical implementations of the idea. This lead to the proposal of

    COPE as a network module to fit into existing wireless LAN modules by S. Katti et al

    [5]. The practical nature of COPE has been received with relative optimism in the

    research community. In our own research we tested COPE for ourselves to look for

    possible enhancements. We observed from simulations that COPE had a particular scope

    for improvement in finding more coding opportunities. To achieve this, we evaluated the

    benefits of utilising the max-weight scheduling schemes in conjunction with COPE. This

    thesis presents our implementation of this system and demonstrates that max-weight

    scheduling indeed aids COPE find coding opportunities.

  • 8/3/2019 Copebp Thesis

    3/42

    Table of Contents

    LIST OF FIGURES

    CHAPTER 1 INTRODUCTION1.1 Current Wireless Architecture and Innovations1.2 Motivation1.3 Contribution

    CHAPTER 2 BACKGROUND

    2.1 Network Coding2.1.1 On the Practicality of Network Coding

    2.2 OPNET2.2.1 The Layers in the Node Model

    2.3 COPE Architecture2.3.1 What COPE Achieves

    2.4 Back-Pressure

    CHAPTER 3 SYSTEM IMPLEMENTATION IN OPNET

    3.1 Implementation of COPE in OPNET3.1.1 Coding Opportunities3.1.2 Shortcomings of COPE in OPNET

    3.2 The Back-Pressure System Embedded in COPE3.2.1 Data Structures3.2.2 Packet Headers3.2.3 Coding Combinations

    CHAPTER 4 SIMULATIONS AND ANALYSES

    4.1 Discovering the Simulation Environment4.2 Cross

    4.2.1 Analysing the results4.3 Chain

    4.3.1 Run-1

  • 8/3/2019 Copebp Thesis

    4/42

    4.3.2 Analysing Run-14.3.3 Run-24.3.4 Analysing Run-2

    CHAPTER 5 CONCLUSIONS AND FUTURE WORK

    APPENDIX A The Workings of XOR

    APPENDIX B Packet Combination and Decoding

    APPENDIX C On Opportunistic Listening

    REFERENCES

  • 8/3/2019 Copebp Thesis

    5/42

    List of Figures

    2.1 Comparison of contemporary forwarding techniques versus network coding.

    2.2 Comparison of Node Models with and without COPE

    2.3 Position of COPE and Header Details2.4 Discussion on Backpressure

    3.1 Backpressure: Contents of the Destination Table3.2 Backpressure: Contents of the Peer Table

    4.1 - Cross Topology

    4.2 Cross BP Enabled Coding Opportunities (Node Set 0-1-2)4.3 Cross BP disabled Coding Opportunities (Node Set 0-1-2)

    4.4 - Cross BP Enabled Coding Opportunities (Node Set 3-1-4)

    4.5 Cross - BP disabled Coding Opportunities (Node Set 3-1-4)4.6 Chain Topology

    4.7 Chain BP Enabled Coding Opportunities (Node Set 0-1-2)

    4.8 Chain BP disabled Coding Opportunities (Node Set 0-1-2)4.9 Chain BP Enabled Coding Opportunities (Node Set 4-0-1)

    4.10 Chain BP disabled Coding Opportunities (Node Set 4-0-1)

    4.11 Chain BP Enabled Coding Opportunities (Node Set 0-1-2)4.12 Chain BP disabled Coding Opportunities (Node Set 0-1-2)

    4.13 Chain BP Enabled Coding Opportunities (Node Set 0-1-2)

    A .1 The Truth Table for XOR

    C.1 Illustrates Opportunistic Listening

  • 8/3/2019 Copebp Thesis

    6/42

    CHAPTER 1

    Introduction:

    Wireless communication plays an important role in modern society. Individuals,

    businesses, and government agencies depend on wireless networks for reliable

    communication, including voice and data transmission. Due to the low cost of wireless

    infrastructure, wireless networks have become very popular in the developing world, with

    a special interest in rural area development. Traditionally, wireless technology has been

    employed to bridge the gap between mobile users and established communication

    infrastructures. Products based on the IEEE 802.11 standard connect users to local area

    networks and to the Internet, while GSM and CDMA systems link mobile users to the

    switched voice networks.

    1.1 Current Wireless Architecture and Innovations

    The 802.11 standard was developed using many wired network principles as the

    basis; the main focus of the standard was to utilise air as a transmission medium.

    However, this standard lacks the use of some basic features of a wireless medium that

    have been demonstrated to be useful [1]. One particular feature is the broadcast nature of

    such networks. Contemporary research suggests that wireless networks can be improved

    using this front [1,5,7].

    Another important thrust is to modify current scheduling techniques used to better

    suit a wireless medium. The problem with current scheduling techniques is that it does

    not effectively take care of interference that occurs when two nodes transmit

    simultaneously effectively [13]. This results in loss or corruption of information.

  • 8/3/2019 Copebp Thesis

    7/42

    Over the past few years, there have been some new ground-breaking research to

    address some of these issues. One such example has been the advent of the theoretical

    concept ofnetwork coding. Network coding focuses on combining packets together and

    cleverly routeing them to satisfy multiple clients [1].

    Although network coding is a promising theoretical idea, there have been few

    attempts on taking this concept to practice. One practical implementation was the

    proposal of a new layer called COPE [5]. Using network coding as the basis, COPE

    provides opportunities to increase network throughput. COPE is indeed a promising first

    step with potential for building on.

    1.2 Motivation:

    To study COPE, we implemented a simulation environment in OPNET. Our tests

    suggested that COPE fails to smoothly interact with certain aspects of the current

    wireless transmission scheduling schemes. This thesis presents our work in improving

    this predicament.

    To help COPE interact more fruitfully with the current set-up, we make use of the

    back-pressure / max-weight scheduling scheme. The technical reasons for pursuing this

    scheme is explained in later sections (sections 2.4 and 3.2). However, it is advantageous

    to take a quick look at it from an overall system point of view.

    Constrained by current scheduling techniques, COPE is unable to meet its goals

    because of its inability to find multiple packets that need to be sent to multiple

    destinations. This is a result of the fact that currently, information is sent out as and when

    an opportunity is found. But for COPE to be successful, packets destined to different

  • 8/3/2019 Copebp Thesis

    8/42

    places need to be collected at one point and then combined together. An important note is

    that this should be achieved without causing congestion.

    Back-pressure scheduling is an effective scheduling scheme that does just this. It

    innately stops packets from being transmitted until there is sufficient load faced by the

    output queues. We present a detailed reasoning in section 3.2.

    1.3 Contributions:

    The thesis shows that embedding COPE with back-pressure scheduling enhances

    the working of COPE. Simulation studies are presented to show that COPE finds more

    opportunities to combine packets together. The implications of this (theoretically at first)

    are significant. Combining packets in a transmission increases the average number of

    packets sent per transmission. This results in fewer transmissions for the same amount of

    data which results in faster networks. Furthermore, we can also easily see that fewer

    transmissions results in the reduction in the consumption of power by the antennae.

  • 8/3/2019 Copebp Thesis

    9/42

    CHAPTER 2

    Background

    2.1 Network Coding:

    Network Coding was first introduced in the paper titled Network Information

    Flow [1] presented by Ahlswede et al. Since then the idea has been of interest to various

    research groups working on anything from wireless networks [3] to improving route-

    ability in VLSI circuits [2]. The innovative idea of Network Coding is to combine data in

    intermediate nodes in a flow such that the receiving nodes can decode this information.

    The following example briefly explains the relevant features of network coding

    (seefigure2.1). In this example, Alice and Bob are two wireless network users and want

    to exchange packets. Alice has packet A and wants packet B and Bob has packet B and

    wants packet A. Both Alice and Bob can hear the router and the router can hear them.

    However, packets from the two nodes need to pass through the router to reach their

    respective destinations.

    Contemporary transmission techniques require Alice and Bob to send these

    packets to the router serially and the router forwards these packets to A and B in two

    transmissions (as illustrated infigure2.1.a). Network Coding demonstrates that the router

    could instead combine (using XOR represented as ) these two packets and transmit this

    combined packet. This results in the two packets A and B being sent out in one

    transmission. This capability alone improves the throughput (average rate of successful

    packet delivery) of wireless networks.

  • 8/3/2019 Copebp Thesis

    10/42

    Figure 2.1.a Figure 2.1.b

    Figure 2. 1 Comparison of contemporary forwarding techniques versus

    network coding.

    There are some assumptions made in this example. Firstly, both Alice and Bob

    are assumed to keep copies of A and B in their packet pools (even after they have

    transmitted them) which would allow them to read packets B and A respectively, from

    AB. This is a reasonable assumption to make as Alice and Bob just sent out these

    packets. Appendices-A and B discuss the XOR operator and illustrate how XOR enables

    combining and decoding of packets.

    Secondly, we assume that both Alice and Bob can hear transmissions from the

    router simultaneously. However, this feature, also called broadcasting, is intrinsically

    available in our target networks wireless networks and therefore this assumption is

    valid.

    Bob

    Bob

    Bob

    Bob

    Alice

    Router

    Traditional Method

    Alice

    Alice

    Alice

    Router

    Router

    RouterA

    A A

    B

    BB

    A

    B

    AxorB AxorB

    Network Coding

    Alice Bob

    Alice

    Alice

    Bob

    Bob

    Router

    Router

    Router

  • 8/3/2019 Copebp Thesis

    11/42

    2.1.1 On the Practicality of Network Coding:

    As discussed in the previous section, network coding promises significant

    throughput improvements in contemporary wireless communications. The idea of

    network coding is very simple packets required by more than one client are combined

    together and distributed to satisfy multiple clients. However, a practical implementation

    of this concept raises a variety of issues [6,8].

    Firstly, in order to ensure the successful decoding a coded packet, transmitting

    nodes need to have comprehensive information about the intended destinations. But this

    problem can be dealt with by using packet pools to store information about packet

    repositories in other nodes in the network. But, we have to limit the maximum size to

    take into account the limit of memory available.

    Given this information, there are many possible coding schemes that can be

    employed. This leads to the issue of how transmitting nodes will decide the best possible

    combination of coded packets [6]. To maximise the amount of information (coded-packet

    with most number of packets that can be successfully decode by its recipients) sent out,

    requires the transmitting node to run through all the possible coding schemes. This

    process takes exponential amounts of time to be completed [7]. There have been many

    heuristic algorithms that have been suggested to compute this ideal coded packet

    combination [7,9].

    Other issues include compatibility with current communications systems. Later

    sections (section - 2.3) will discuss the introduction of a novel experimental network

    module called COPE that was designed explicitly to apply network coding ideas to

  • 8/3/2019 Copebp Thesis

    12/42

    contemporary wireless systems. The next section deals with introducing the simulator

    that is used in our experiments.

    2.2 OPNET:

    The choice of simulator for running experiments and testing ideas can be a tricky issue.

    There are a set of features (like efficiency, ease of use, and others) that a simulator needs

    to have. The following are the qualities of OPNET that stand out. OPNET is a powerful

    commercial network simulation environment created by OPNET Technologies. OPNET

    is used by various commercial enterprises such as Comcast Cable, Deutsche Telekom and

    others [11]. OPNET has node models for many network devices such as servers, routers,

    workstations and other components manufactured by the likes of Cisco, 3M and others. It

    has facilities to model transmitter / receiver models for antennae, satellite communication

    models for inter-city global communications, adversary models for wireless channel

    security analysis and many more network functionalities. OPNETs feature rich simulator

    also has an extremely versatile kernel platform which enables users to manipulate node

    models to test very specific cases. Users can also define custom flow models hence

    giving a very comprehensive control over simulation studies.

    The feature of interest in our project is the fact that, standard network node

    models implemented by OPNET may be modified to implement novel, untested and

    theoretical node models to test for compliance, operability and potential benefits when

    added on-to current standards.

    For our purposes, this is the feature that is also most useful. We use the current

    wireless-workstation model using 802.11 standards to embed COPE. However,

    modifying the existing 802.11 implementation provides the user with the task of

  • 8/3/2019 Copebp Thesis

    13/42

    understanding the working of the layers immediately attached to COPE (see figure 2.2 for

    a structure of the node models in OPNET). In our case, these layers are the MAC and the

    ARP layers.

    Figure 2.2.a Figure 2.2.b

    Figure - 2.2 - Comparison of Node Models with and without COPE The

    model in 2.2.a represents the Wireless_Lan_Workstation_Adv model

    available as a standard OPNET node model. Model 2.2.b represents thesame with the COPE layer embedded. Observe that the names of the ARP

    and MAC process in the original model have been changed. This was done

    to enable the ARP and MAC layers to recognise the new COPE layer.

    2.2.1 The Layers in the Node Model:

    Application: This layer controls the generation of data. This is where data begins itsjourney and this also where information ends. Application level is usually controlled

  • 8/3/2019 Copebp Thesis

    14/42

    by protocols like HTML, SMTP and others. In OPNET, this layer simulates these

    controls.

    TCP: OPNET uses TCP for wireless with option to use one of the various TCPflavours such as TCP Reno and Vegas.

    IP: The IP layer in OPNET implements the wireless standard for IP_v4.The remaining layers have been modified specifically to house COPE and Back-Pressure

    modules. Implementations of these are discussed comprehensively in section-3.

    2.3 COPE Architecture:

    COPE was designed as a practical incarnation of the up-to then largely theoretical

    network coding idea. COPE was proposed by Sachin Katti et al. in their paper XORS in

    The Air: Practical Wireless Network Coding [5]. In this paper, the authors discuss this

    new layer in the 802.11 wireless standard. The authors also discuss the results of their

    experimental implementation of COPE in MITs roof-top network. In this thesis we

    include a brief discussion on the various features that COPE offers, the intricacies of the

    model that are relevant to the goals of the project and a summary of their results. This

    discussion is relevant to this thesis as our attempt was to improve the performance of our

    own simulator for COPE. As mentioned earlier, we achieved this by using ideas from the

    max-weight scheduling process discussed by Shakkotai and Srikant in [10].

    2.3.1 What COPE Achieves:

    As a practical set-up, COPE primarily aims to incorporate network codingwithin

    the current 802.11 wireless standard. To achieve this, it utilises the broadcast nature of

    wireless networks. As a result of adding broadcasting to the toolbox, COPE brings in

  • 8/3/2019 Copebp Thesis

    15/42

    opportunistic listening and opportunistic coding (these concepts are explained in

    Appendix-B) of packets as well.

    Furthermore, to solve the problem of determining the best coding combination,

    COPE uses coding combinations to be decoded after every hops. This means that every

    node using COPE would need to store information about packets available at nodes in its

    clique set only peers that can hear the source-nodes transmissions. It is important to

    note that this single-hop coding would require packet-decoding to take place at every

    node in its clique set. However, it is possible that in certain scenarios a neighbour is not

    meant to receive information and in this case it will discard the packet only if it is unable

    to decode the information; but if it is capable of extracting any information, uses this new

    information to update its packet pool.

    Additionally, to implement a practical set-up for a new theoretical idea in a pre-

    existing architecture requires many changes or additions to the packet structure. To this

    end, COPE was primarily implemented as a new layer between the IP and MAC layers of

    802.11. COPE has its own packet header (see figure 2.3 for the packet format for this

    module).

    In this header, COPE stores information in four blocks. The first block houses

    information about the total number of packets stored in the XORed packet, Packet_IDs of

    each of the packets stored and also their respective next_hops.

    The second block plays a crucial role in the working of COPE. This block is used

    to send reception reports of overheard packets that exist in the packet pool of the source

    node. This information will be added to the packet pool of the receiving node. This

  • 8/3/2019 Copebp Thesis

    16/42

    information will also be used during the coding-combination process to determine which

    packets should be coded together.

    ENCODED_NUM

    PKT_ID

    (Similar entries for other packets)

    Reception Reports (RR) of Overheard Pkts

    Number of RRs

    NEXT_HOP

    Packets available in the XORed packet

    SRC_IP LAST_PKT BIT-MAP

    Acknowledgements

    NUMBER OF ACKNOWLEDGEMENTS

    PKT SEQUENCE NUMBER

    NEIGHBOR LAST_ACK ACK-MAP

    (Similar entries for other sources)

    (Similar entries for other neighbours)

    Cope Packet

    Format

    PACKET INFORMATION

    TCP / UDP

    IP

    COPE

    MAC

    Higher Layers

    (Appln. Level et al.)

    Physical Layers

    (Transmitter/Receiver)

    Where lies

    COPE?

    Figure 2.3 Position of COPE and Header Details

    The third block contains acknowledgements for packets received from the

    different intended neighbours. These acknowledgements are asynchronous in nature and

    are stored together in an ACK pool. These ACKs are then compiled together and sent to

    the TCP. ACKs are not directly sent to the TCP else the TCP will interpret non-sequential

    ACKs as network congestion.

    The fourth and final block contains the information, may it be in coded or un-

    coded format.

  • 8/3/2019 Copebp Thesis

    17/42

    2.4 Backpressure:

    Wireless networks, unlike their wire-line counterparts, have always faced an issue

    in scheduling links. In wireless networks, when a node is transmitting, another node may

    not be available to transmit due to interference of their signals. This creates a lot of

    collision in wireless networks. The need for better scheduling techniques to address this

    issue was first pointed out by Tassiulas et al in [13]. The Max-Weight Scheduling

    algorithm (Back-Pressure Scheduling) is shown to be an optimal scheduling technique

    [13, 10].

    Now we demonstrate how Back Pressure (BP) controls transmission scheduling in

    networks using a simple example.

    Consider three nodes node1, node2, node3.Let there be two flows f1 and f2 such that,

    f1 flows from node1 to node3, and,

    f2 flows from node3 to node1.Also, node1 and node3 are not connected by a wireless link and must relay

    information through node2.

    This results in the following scenario (figure 2.4)

    Figure - 2.4 Discussion on Backpressure This figure shows the various

    queues in the different nodes that are required for backpressure calculations.The two flows in this scenario are f1 from node1 to node_3 and f2 from node3 tonode_1. Note that node_2 simply acts as a relay for the two flows and is not asource by itself.

  • 8/3/2019 Copebp Thesis

    18/42

    Now, node 1 will have an output queue with packets destined to node3 andconversely, node3 has packets destined to node1 in its output queue. But observe

    that node2 has packets destined to both nodes node1 and node2 in its output

    queue; Given the queue length information, Back Pressure (a.k.a. max-weight ) is

    calculated thus:

    dp

    ds

    ds QQBPessureBack =,Pr

    here, d stands for the destinations is the source node

    p is the next-hop for that packet

    ab

    Q is the queue length of packets destined to node a from node b

    Observe that in a larger network, each source node will have multiple BP values,

    one for each destination.

    The Back Pressure values of each of these queues reflect on the back-log of

    packets each node needs to transmit. Higher the Back Pressure value for a queue, more

    the information that needs to be sent. Using this fact, nodes with higher Back Pressure

    value in a clique can be allocated more contention slots at the MAC level. Higher

    contention slots results in that node having a higher chance of capturing the medium and

    hence reducing the load in its queues. Conversely, a node with relatively empty queues

    will have lower BP values. This will result in the node acquiring fewer contention

    window slots; this will directly affect the chances of the node capturing the medium.

    Thus, BP manages to intrinsically control the scheduling of nodes in a wireless network.

    This is a distributed congestion control scheme.

    The equation governing contention window slots as proposed in [14] is given by

    the following transformation:

    ( ) minminmax

    maxminmax * CW

    BPBP

    BPBPCWCWCWavg +

    =

  • 8/3/2019 Copebp Thesis

    19/42

    here, CWmin and CWmax are user defined upper and lower bounds for the numberof contention window slots

    BPmax and BPmin are the maximum and minimum backpressure values in

    the clique of the transmitting node, while,

    BP is the backpressure of the transmitting node

    Observe that this transform is inversely related to the backpressure value of thenode.

    This transformation function is used in our implementation of back pressure embedded

    COPE module to control how packets are transmitted.

    CHAPTER 3

    System Implementation in OPNET

    3.1 Implementation of COPE in OPNET:

    COPE was implemented in OPNET as a research project by Vinith Reddy in the

    summer of 2008. This was done in order to have a more accessible simulation

    environment to test new ideas or improvements to the COPE module originally presented

    in [5]. With this aim, COPE was built with particular attention given to maintaining the

    principles and design of the original COPE module. However, a few changes for the sake

  • 8/3/2019 Copebp Thesis

    20/42

    of convenience were made. The change that affects the functioning of the back-pressure

    addition has been listed.

    While selecting packets from the virtual output queue, COPE maintains a

    probability of packets available in the packet pool(recall that the packet pool stores

    information about over-heard packets). This probability enables to COPE to calculate the

    ability of the receiving nodes to successfully decode the coded packets. In [5], it is

    proposed to calculate the overall coded packet probability as the product of individual

    packet probability. The final coded packet would be the combination of all the packets

    with highest probabilities as long as this coded packet, has a probability of successful

    decoding above a threshold value. However, the current implementation of COPE in

    OPNET does not dynamically change these probabilities on any factor. COPE instead

    allows for a potentially future addition of this idea but for the present, uses a constant

    probability of 1. This implies that any packet in the packet pool, would always be

    considered for coding.

    3.1.1 Coding Opportunities:

    The term coding opportunities is the metric we use to measure the success of our

    experiments. Coding opportunities is the number of chances the COPE layer in the

    particular node gets to combine packets. As we discussed above, if the output queue does

    not have packets that can satiate multiple recipients, or if the packet pools indicate

    successful decoding is not probable for any coding-combination, then the COPE layer

    will act like a normal wireless node; it discards the opportunistic coding philosophy and it

    will send packets to one node at a time. A high value of coding opportunities indicates

    that COPE actively finds ways to combine packets so as to satisfy multiple peers. This

  • 8/3/2019 Copebp Thesis

    21/42

    higher value in return will reduce the overall number of transmissions required to get the

    same number of packets transmitted. This indirectly implies a rise in the throughput of

    the network. failure

    3.1.2 Shortcomings of COPE in OPNET and Aim of Experiments:

    This implementation of COPE in OPNET was simulated under constant bit-rate

    circumstances. Constant bit-rate ensures a constant availability of packets in the output

    queues; this will in theory provide nodes with opportunities to combine packets.

    However, simulations (graphs shown under the simulations section) have shown that this

    COPE implementation provides too few coding opportunities to be worth the CPU

    processing required to code and decode packets.

    The reason behind this failure, as introduced earlier, is the fact that current 802.11

    scheduling schemes attempt to flush out packets from the queues as and when a chance

    arrives. This results in relay nodes lacking packets destined to multiple recipients in their

    queues. This means we need an over-haul of the scheduling scheme such that packets

    controlled so as to benefit COPE. The following section discusses the max-weight

    scheduling scheme, a potential fix to this problem.

    3.2 The Back Pressure System Embedded in COPE:

    This section focuses on the details of the Back pressure implementation in conjunction

    with COPE. We implemented the Back Pressure system in OPNET using principles from

    a previous implementation made in NS2 by Anthony Halley in [14]. We use this

    implementation due to the fact that it can be easily added on-to COPE; particularly, this

    implementation enables us to put both COPE and backpressure in the same layer rather

  • 8/3/2019 Copebp Thesis

    22/42

    than having a separate layer for back pressure. This simplifies a lot of the inter-layer

    communication issues that we would face otherwise.

    3.2.1 Data-Structures:

    There are two major data structures that we maintain to store information. This

    information is ultimately used to calculate specific node-destination backpressure values.

    Firstly, we have a structure to store information about a particular destination.

    This structure contained the IP address of the destination, a queue containing Packet IDs

    of each packet destined to it and finally the BP value associated with this source-

    destination combination. Individual objects of this data structure is stored in a table

    (figure 3.1).

    Figure 3.1 Backpressure: Contents of the Destination Table

    Figure 3.2 Backpressure: Contents of the Peer Table

    A second necessity for calculating back pressure values is the queue length of

    packet queue to the same destination in the next-hop. For this purpose, we create another

    data structure containing the MAC address, a queue containing the various destination

    queue lengths and the destination IDs and additionally the maximum back pressure value

    of all node-destination combinations in the next-hop. To clarify, the maximum back

    Destn. IP Qlength Packet_ID Q BP

    MAC addr. Destn ID-Qlength Q Max BP

  • 8/3/2019 Copebp Thesis

    23/42

    pressure value, will be used to compute the minimum and maximum clique back pressure

    values which is ultimately required for setting contention window sizes in the MAC

    layer. These objects are collated in a peer table (figure 3.2).

    3.2.2 Packet Headers:

    When packets are transmitted, an additional block of header information is added

    to the packet. This header information will then be extracted by the receiving node to

    compile its peer table. Therefore, elements in this header block will consist of destination

    IDs, the corresponding queue length information and also the maximum BP of the source

    node. This will modify the over all COPE packet as shown infigure 3.4.

    Figure 3.4 Backpressure in COPE and the new COPE header format

  • 8/3/2019 Copebp Thesis

    24/42

    3.2.3 Coding Combinations:

    Obtaining the right Coding Combinations is probably the most important part of

    the whole exercise. If the coding combinations are not suitable, then this will result in

    poor packet decoding rates and fall in throughput. It is therefore important for

    backpressure to use the right scheme.

    It can be trivially shown that the general back pressure scheduling scheme can be

    successfully extended to network coding. In this extension, a coded packet serving

    multiple recipients may be considered a hyperlink. Applying the utility maximisation

    frameworks outlined in [10], result is interpreted as:

    The back pressure associated with the coded packet is the sum of the back

    pressure values for each individual node-destination pair that the coded packet

    serves.

    This means, to maximise the back pressure of a given node, the packet

    combination should consist of packets going to all the destinations with high BP values

    associated with it, constrained only by the threshold probability of successful decoding.

    However, since the COPE module does not have an active probability update scheme, the

    back pressure add-on is implemented in a modified manner.

    In this implementation, the packet from the destination queue associated with the

    highest BP is de-queued. This packet is then passed on to the COPE encoding process

    which uses information from the packet pools to decide the coding combination. This

    process at no point checks to remain better than the successful decode threshold

  • 8/3/2019 Copebp Thesis

    25/42

    probability. However, the maximum BP for the source will still be the sum of all the

    constituent node-destination BP values.

    CHAPTER 4

    Simulations and Analyses:

    4.1 Simulation Environment:

    The simulation Environment consists of two main items. One is the network

    topology and the second is the flows. The flow type used for these simulations are

    Constant Bit-Rate (CBR) flows that mimic UDP behaviour. There are two topologies

    used. Other relevant metrics to keep track are:

    1. Contention Window: For certain experiments, we change the contention window sizesto observe the differences in results.

    2. Inter-request Time: The amount of time between requests. For all simulations, thisvalue was set to a constant of 0.5s

    3. Packets per Request: The number of packets sent per request was set to a constant of1 packet per request.

  • 8/3/2019 Copebp Thesis

    26/42

    4. Packet Size: This is the size of the packet given up-on request. This is set at a constantof 512 bytes per packet.

    5. Output QueueSize: This gives the number of packets an output queue in the COPElayer can store. If more packets arrive, they are dropped.

    6. Packet Pool Size: This determines the number of packets that can be put in the over-heard packet pool. This quantity affects the rate of successful decoding.

    7. CBR: This is the flow model that we use. CBR or Constant Bit-Rate provides a steadyflow of packets in the nodes with a constant information packet size, constant number

    of requests per second and constant inter-request time.

    8. Coding Centre: This is the node were coding can take place. Coding centres need tohave at least two peer nodes.

    In the following sections, we discuss the flows, and the results with and without active

    back pressure calculations.

    4.2 Cross:

    This scenario consists of five wireless-stationary nodes. The nodes are placed in the

    formation of a cross as shown in figure 4.1. There is a node at the centre of the cross

    and there are four corner nodes. The corner nodes can hear transmissions from only the

    centre node. There are a total of four active information flows in the scenario. The flows

    in the network are depicted by coloured arrows.

    Output Queue Size: 32 packets

    Packet Pool Size: 100 packets

    Contention Window: 31255 slots

  • 8/3/2019 Copebp Thesis

    27/42

    Figure - 4.1 - Cross Topology The flows are shown by the arrows. Observe that

    there is only on coding centre (node1). Also, note that, the corner nodes can

    hear transmissions from the central node only.

    4.2.1 Analysing the results:

    The graphs infigure 4.2 and figure 4.4 show that when the back pressure calculations are

    enabled, Node 1 is able to find around an time_average of 0.4 coding opportunities that

    node0 and node2 can successfully decode and similarly, 0.3 coding opportunities that

    node3 and node4 can successfully decode. Figure 4.3 and figure 4.5 on the other hand,

    graph the same values for scenarios where back pressure calculations are disabled. The

    decidable coding opportunities fall dramatically and in effect 0 for all four nodes. This

    shows that Back Pressure is successful in providing COPE with more opportunities to

    combine packets in a cross topology.

  • 8/3/2019 Copebp Thesis

    28/42

    Figure 4.2 Cross BP Enabled Coding Opportunities (Node Set 0-1-2) The

    graph shows the curves for successful decoded packets (red and yellow) and thefailed decoded attempts (cyan and dark blue). These quantities are plotted asan average per time interval. The green line, on top, is 1 whenever there is acoding opportunity in the central node.

    Figure 4.3 Cross BP disabled Coding Opportunities (Node Set 0-1-2) The

    graph shows the curves for successful decoded packets (red and yellow) and thefailed decoded attempts (cyan and dark blue). These quantities are plotted asan average per time interval. The green line, on top, is 1 whenever there is acoding opportunity in the central node. As we can see, when backpressure

  • 8/3/2019 Copebp Thesis

    29/42

    calculations are not used, there are fewer coding opportunities in the centralnode and the success in decoding in the corner nodes per time is similarly low.

    Figure 4.4 - Cross BP Enabled Coding Opportunities (Node Set 3-1-4) The

    graph shows the curves for successful decoded packets (yellow and green) andthe failed decoded attempts (cyan and red). These quantities are plotted as anaverage per time interval. The blue line, on top, is 1 whenever there is acoding opportunity in the central node. In this case, failures average higherthan successes! This most likely due to small packet-pool sizes.

    Figure 4.5 Cross - BP disabled Coding Opportunities (Node Set 3-1-4) The

    graph shows the curves for successful decoded packets (red and yellow) and thefailed decoded attempts (cyan and dark blue). These quantities are plotted asan average per time interval. The green line, on top, is 1 whenever there is acoding opportunity in the central node. As we can see, when backpressure

  • 8/3/2019 Copebp Thesis

    30/42

    calculations are not used, there are fewer coding opportunities in the centralnode and the success in decoding in the corner nodes per time is similarly low.

    4.3 Chain:

    This scenario consists of five wireless-stationary nodes. The nodes are placed in the

    formation of a chain as shown in figure 4.6. There is a node at the centre of the chain

    and two on either side. Nodes can only hear adjacent nodes.

    Output Queue Size: 32

    Packet Pool Size: 100

    Node 4 Node 3

    Node 1

    Node 0

    Node 2

    Chain

    Figure 4.6 Chain Topology The flows are shown by the arrows. Also, there

    are three coding centres Node 0, Node 1, Node 2In the cross topology, there was only one coding centre (node 1). This scenario is aimed

    to test the COPE-BP pair for its robustness in cases where there are more than one coding

    centres next to each other. With two runs with different contention window settings, this

    topology is also aimed at testing the effect of larger contention windows on coding

    opportunities as well as successful decoding rates. Analysis of the two runs follows.

  • 8/3/2019 Copebp Thesis

    31/42

    4.3.1 Run1:

    Contention Window: 31..255

    Figure 4.7 Chain BP Enabled Coding Opportunities (Node Set 0-1-2) The

    graph shows the curves for successful decoded packets (yellow and red) and thefailed decoded attempts (cyan and blue). These quantities are plotted as anaverage per time interval. The red line, on top, is 1 whenever there is acoding opportunity in the node1.

  • 8/3/2019 Copebp Thesis

    32/42

    Figure 4.8 Chain BP disabled Coding Opportunities (Node Set 0-1-2) The

    graph shows the curves for successful decoded packets (red and yellow) and thefailed decoded attempts (cyan and dark blue). These quantities are plotted asan average per time interval. The green line, on top, is 1 whenever there is acoding opportunity in the central node. As we can see, when backpressurecalculations are not used, there are fewer coding opportunities

    4.3.2 Analysing Run-1

    In this scenario, we focus on two details. One is to see how much more successful

    decoding back pressure provides to the nodes. Secondly we also want to focus on the

    difference between successful and failed decoding attempts.

    The first set of nodes we focus on are node0, node 1 and node2. In this

    combination, the coding centre is node1. Comparing figure 4.9 and figure 4.10, it is

    quickly clear that back pressure maintains its ability to provide significantly more

    successfully decoded (~0.45) coding opportunities than COPE by itself. However, when

    we look atfigure 4.9 closely, we notice that the number of failed decoding (0.4) attempts

    are not too far away from successful decoding attempts. As discussed in an earlier

    section, if the decoding process fails, it results in a decrease in throughput due to the need

  • 8/3/2019 Copebp Thesis

    33/42

    to re-transmit the packets in sequence rather than in combination. This is a potential

    fallback as the losses seem to nullify the gains.

    The nodes node1, node0 and node4 with coding centre at node0 demonstrate a

    similar predicament. Here also, back pressure is more successful than COPE by itself.

    But once again, the number of failed decoding attempts are too many. So this is indeed a

    cause for concern.

    Another interesting fact is that the node2 can find no coding opportunities and

    does not assume the role of coding centre. There were no plots available here as there

    were absolutely no opportunities that node2 could find.

    In this run we learn that although the back pressure may provide an overall benefit

    in terms of successful coding opportunities, it is still hampered by in ability to decode.

    The second run tries to show that stretching the CW limits could possibly help.

    Figure 4.9 Chain BP Enabled Coding Opportunities (Node Set 4-0-1) The

    graph shows the curves for successful decoded packets (yellow and red) and the

  • 8/3/2019 Copebp Thesis

    34/42

    failed decoded attempts (cyan and green). These quantities are plotted as anaverage per time interval. The blue line, on top, is 1 whenever there is acoding opportunity in the central node.

    Figure 4.10 Chain BP disabled Coding Opportunities (Node Set 4-0-1) The

    graph shows the curves for successful decoded packets (red and yellow) and thefailed decoded attempts (cyan and dark blue). These quantities are plotted asan average per time interval. The green line, on top, is 1 whenever there is acoding opportunity in the central node. As we can see, when backpressurecalculations are not used, there are fewer coding opportunities.

  • 8/3/2019 Copebp Thesis

    35/42

    4.3.3 Run2:

    Contention Window: 31..1023

    Figure 4.11 Chain BP Enabled Coding Opportunities (Node Set 0-1-2) The

    graph shows the curves for successful decoded packets (yellow and red) and thefailed decoded attempts (cyan and blue). These quantities are plotted as anaverage per time interval. The red line, on top, is 1 whenever there is acoding opportunity in the node1.

  • 8/3/2019 Copebp Thesis

    36/42

    Figure 4.12 Chain BP disabled Coding Opportunities (Node Set 0-1-2) The

    graph shows the curves for successful decoded packets (red and yellow) and thefailed decoded attempts (cyan and dark blue). These quantities are plotted asan average per time interval. Once Again, when backpressure calculations arenot used, there are fewer coding opportunities

    Figure 4.13 Chain BP Enabled Coding Opportunities (Node Set 0-1-2) This

    graph shows the curves for coding opportunities in node0 and node2(blue andcyan [overlapped with blue]) , the successful decode attempts (green) and thefailed decoded attempts (red) in node 1. This shows that all three nodes[0,1,2] have found coding opportunities with a larger contention window frame.This implies that in the previous run, there still were collisions thatprevented node 2 from finding coding opportunities.

    4.3.4 Analysing Run-2:

    Run-2 has just one different setting from run-1. Here the CW window limits are set as

    31..1023 slots. In run-2 we aim to study the effect of a larger contention window setting

    on the successful to failed decoding ratio. Looking at figure 4.11, we can see that

    successful decoding stabilises at around 0.5 while failed decoding average stabilises at

    0.3. This clarifies that increasing the window not only increases the successful decoding

    average (by 0.05) but it also decreases the failure rate (by 0.15). Additionally, we now

    have coding opportunities at node 2 (as implied byfigure 4.13).

  • 8/3/2019 Copebp Thesis

    37/42

    This overall change illustrates the contention-window limits play an important role in the

    success of backpressure.

    Chapter 5

    Conclusions and Future Work:

    This work was aimed at testing the advantages that the max-weight scheduling

    scheme could bring to the COPE architecture. To test this, we embedded new

    functionality to the COPE layer to calculate backpressures at every node. Once we

    implemented this, we ran simulations to quantify any advantages it offers. We ran

    simulations under two test topologies with constant bit-rate flows.

    The test results clearly show that COPE embedded with back pressure provides a

    lot of promise to improve the throughput of a wireless network. The success rates

    attained in the chain and cross topologies are far greater than what was achieved earlier

    when using COPE by itself.

    However, there is still a lot more work that can be done to potentially offer more

    benefits to COPE. Firstly, we should aim at using a probability scheme to decide on

    coding combinations. This alone could reduce the failure rate.

    Furthermore, the current BP-COPE model is inclined to perform better under

    constant bit-rate (CBR) settings. CBR is UDP like setting. True TCP flows have not been

    tested and this avenue for testing will be an important next step. To this end, perhaps the

    TCP congestion schemes could be modified to be in synch with this new backpressure

    capability of the node.

  • 8/3/2019 Copebp Thesis

    38/42

    Appendix-A

    The Workings of XOR:

    The Exclusive-OR (XOR) operator plays an important role in our work. It is the

    operator of choice in combining packets together. The following appendix discusses the

    functioning of XOR and how XOR is used to combine and decode packets.

    XOR is Boolean operator symbolised by . XOR is represented by the

    following truth-table:

    A B XOR

    0 0 0

    0 1 1

    1 0 1

    1 1 0

    Figure A .1 The Truth Table for XOR

  • 8/3/2019 Copebp Thesis

    39/42

    Appendix-B

    Packet Combination and Decoding:

    XOR is a bit-by-bit operator. This means that given to Boolean variables A&B, XOR will

    be applied on the bits of these variables one-by-one. Packets in communication networks

    are a combination of 1s and 0s. The following example discusses packet combination and

    its decoding:

    .

    0100

    10111111

    :,

    :cov

    1111

    01001011

    01001011

    ,4,,

    BPacketiswhich

    AP

    doweBPacketgetTo

    APacketoftyavailabilitheassumesBPacketerretoPDecoding

    APackethavePofreceivertheLet

    BAPPacketCombined

    BandALet

    bitssizeofeachBandAPacketstwobethereLet

    combined

    combined

    combined

    combined

    =

    =

    =

    =

    =

    ==

  • 8/3/2019 Copebp Thesis

    40/42

    Appendix-C

    On Opportunistic Listening

    Opportunistic listening is a distinctive feature of wireless networks that is a

    consequence of the broadcast nature of wireless transmission. In a wireless network,

    several surrounding nodes can receive each packet transmitted by a source node [5].

    Thus, broadcasting a packet to all neighbours requires the same amount of energy as

    transmitting a packet to an individual neighbour. The neighbours that are not meant to be

    the destination can cache these over-heardpackets for short periods of time (figure C.1 ).

    Figure C.1 Illustrates Opportunistic Listening shows howbroadcasting allows neighbour nodes to listen on the packets to other

    nodes. This allows the neighbours to store this information for atemporary while. This storage can serve as caching of packets from

    other nodes allowing a better knowledge of other nodes packet pools

    Opportunistic listening can increase the robustness of wireless networks. These non-

    receiving neighbours, can re-transmit this in the case that the original source fails.

    Opportunistic listening is very useful in dynamic on-field sensor networks[12].

  • 8/3/2019 Copebp Thesis

    41/42

    Reference:

    [1] R. Ahlswede, N. Cai, S. R. Li, and R. W. Yeung. Network Information Flow. InIEEE Transactions on Information Theory, 2000.

    [2]

    K. Gulati, N. Jayakumar, S. Khatri, A. Sprintson. Network Coding for RoutabilityImprovement in VLSI. In Proceedings of the 2006 IEEE/ACM international

    conference on Computer-aided design, 2006.

    [3] M.A.R. Chaudhry, S.Y. El Rouayheb, A. Sprintson. On the Minimum Number ofTransmissions in Single-Hop Wireless Coding Networks. In IEEE Information

    Theory Workshop, 2007.

    [4] The Network Coding Home Page http://www.ifp.uiuc.edu/~koetter/NWC/ asof 20 April 2009.

    [5]

    J. Crowcroft, W. Hu, D. Katabi, S. Katti, M. Medard, H. Rahul. XORs in TheAir: Practical Wireless Network Coding. In ACM SIGCOMM 2006.

    [6] C. Fragouli, J-Y. le Boudec, J. Widmer. Network Coding An Instant Primer. InACM SIGCOMM Computer Communication Review, 2006.

    [7] M. A. R. Chaudhry and A. Sprintson. Efficient algorithms for index coding. InInfocom08 student workshop, 2008.

    [8] M. Wang, B. Li. How Practical is Network Coding?. In Proc. of 14th IEEEInternational Workshop on Quality of Service, June 2006.

    [9] V. Aggarwal, M. Kim, M. Mdard, U-M. OReilly. IEEE MilitaryCommunications Conference, 2007.

    [10] S. Shakkottai and R. Srikant. Network Optimization and Control. NOWpublications - Vol. 2, No. 3 (2007) 271379

    [11] OPNET Technologies, Inc. - Clients:http://www.opnet.com/corporate/clients.html as of 19 April 2009

    [12] C. Westphal. Opportunistic Routing in Dynamic Ad Hoc Networks: the OPRAHProtocol. IEEE International Conference on Mobile Adhoc and Sensor Systems,October 2006.

    [13] A. Ephremides, L. Tassiulas. Stability properties of constrained queuing systemsand scheduling policies for maximum throughput in multihop radio networks.IEEE Transactions on Automatic Control, 1992.

  • 8/3/2019 Copebp Thesis

    42/42

    [14] A. J. Halley A Simple Distributed Backpressure-Based Scheduling AndCongestion Control System. UIUC Graduate degree Thesis. 2006