Forward Error Correction - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Forward Error Correction

Description:

Forward Error Correction. Top Level Design. Mid-term Presentation. Designed by : Yoav Moratt ... Assume one server needs to send 100 datagrams to 100 clients. ... – PowerPoint PPT presentation

Number of Views:162
Avg rating:3.0/5.0
Slides: 21
Provided by: yoav6
Category:

less

Transcript and Presenter's Notes

Title: Forward Error Correction


1
Forward Error Correction
  • Top Level Design
  • Mid-term Presentation
  • Designed by Yoav Moratt
  • Eyal Skulsky

2
Motivation
  • Multi-cast the ability to send data over the
    internet to a large number of users, sets extreme
    challenges in the field of protocol.
  • The model for this project is a server that sends
    a large amount of data to many users that are not
    synchronized with each other. This simulates the
    common situations in the real world like internet
    video streams (T.V., movies and lectures), large
    databases transfer etc.

3
Motivation
  • Since multicast protocols are layered over UDP
    and not TCP, losses are frequent and are not
    dealt with by the transport protocol. This sets
    the main challenge in multicast.

4
Motivation
  • The first protocol that was suggested was an
    expansion of TCP for multicast. In other words
    every client sends an ACK for every packet, and
    the server sends the missed packets when it
    doesnt get an ACK.
  • The problems here are obvious, many ACK packets
    increase the load on the network, the server is
    busy maintaining a large database with client
    information.

5
Motivation
  • The second suggestion was to decrease the
    network load by sending NACK packets when packets
    are lost. This is certainly an improvement but it
    does not solve all the problems.

6
Motivation
  • Assume one server needs to send 100 datagrams to
    100 clients. Loss rate is 10 and clients start
    at the same time (for simplicity). This example
    will help us understand the difficulties and the
    challenges.

7
Motivation
  • In this case, each client will lose 10 datagrams,
  • The server has to resend them all to the clients,
    since most likely they did not all lose the same
    packets, the server will have to send all the 100
    packets of information again !

8
Motivation
  • The Forward Error Correction solves all these
    problems and also solves other problems that
    originate from general server-clients relations.
  • The Idea is to add redundancy to the data, in
    order to allow the client to restore lost
    packets. Due to the redundancy the client may
    lose a few packets and still be able to
    reconstruct the data from the other packets!

9
Motivation
  • Example
  • Assume loss rate of 1/9, for every 8 packets, the
    server sends a ninth packet with the XOR of the
    former 8 packets. Every client gets 8 packets
    (lost one). If it got the first 8, it uses them,
    else the missing packet is a simple XOR between
    all the rest.
  • This means that the server sent only 10 more
    information to achieve the goal !!

10
Motivation
  • Forward Error Correction Advantages
  • Scalability nether the network load nor the
    server load is dependent of the number of users
    !!!
  • Robustness since the server is stateless (does
    not keep track of clients), if it crashes,
    recovery is a simple reboot.
  • Availability the server is always available at
    any time, the clients are not supposed to be
    synchronized, so clients may start accumulating
    packets at will.

11
Project Goal
  • In this project, the goal is to create a reliable
    simulation for FEC protocol that will bring all
    the above advantages to test. We will try to
    prove that this protocol is indeed the beginning
    of a new Era in the field of multicast.

12
General Configuration

In order to simplify the workspace and to gain
control of loss rate parameter, we decided that
all the clients will reside on the same machine
as the server and loss rate will be simulated by
discarding packets randomly. The project will be
run over the java virtual machine, (Operating
system invariant).
13
The project consists 6 major modules
  • Server Application
  • Server UI module
  • FEC encoder
  • Client Application
  • Client UI module
  • FEC decoder
  • Network simulator
  • Result analyzer

14
General Structure
Server User Interface
Client User Interface
Client User Interface
Client User Interface
Client User Interface
Server Application
Client Application
Client Application
Client Application
Client Application
FEC encoder
FEC decoder
FEC decoder
Noisy Network Simulator
FEC decoder
FEC decoder
15
Server Application
  • This module accepts commands from its UI, to
    perform the following actions
  • Open new Client.
  • Set loss rate.
  • Send data to clients.

16
Client Application
  • This module reports to its UI, and performs the
    following actions
  • Receive data from server.
  • Store data for later analysis.

17
FEC encoder/decoder
This module handles the FEC encoding/decoding
18
Network simulation
  • This module simulates a noisy network by
    discarding packets randomly, according to the
    simulated loss rate.

19
Result analyzer
  • This module holds a set of functions that allow
    storing the data in a file using comma separated
    format for later analysis.

20
Time Table
  • Week 12 Final Presentation
  • Week 13-14 end of Coding Testing
  • A.S.A.P submission of final results and
    documentation.
Write a Comment
User Comments (0)
About PowerShow.com