CS415 Minithreads Project 5 Overview - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

CS415 Minithreads Project 5 Overview

Description:

CS415. Minithreads Project 5 Overview. Adrian Bozdog (Adi) adrianb_at_cs.cornell.edu. 2 ... There may be packets (control routing packets, packets for other ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 12
Provided by: benjami84
Category:

less

Transcript and Presenter's Notes

Title: CS415 Minithreads Project 5 Overview


1
CS415 Minithreads Project 5 Overview
  • Adrian Bozdog (Adi)
  • adrianb_at_cs.cornell.edu

2
What you have to do
  • Implement Ad-hoc networking layer
  • a version of Dynamic Source Routing alg
  • Communication layers should use
    miniroute_send_pkt instead of network_send_pkt
  • Routing layer can use network_send_pkt
  • A new network_handler routine should deal with
    all packets
  • There may be packets (control routing packets,
    packets for other machines) that are not for the
    current machine
  • Forwards packets that contain data for the
    current machine to the old network handler

3
Routing layer
  • Data may be sent through intermediate nodes
  • A source uses a routing path to every destination
  • Processes three types of routing packets
  • Data packets
  • Route Discovery packets
  • Route Reply packets

User application
TCP-like protocol
UDP-like protocol
Routing
Network
4
Routing packets (1)
  • Data packets
  • Contain the path to the destination
  • The intermediate nodes should not involve
    communication layers (i.e TCP, UDP layers)
  • Route Discovery packets
  • Establish routes from sources to destinations
  • Flood the network until the destination is
    reached
  • Every packet is flooded for at most
    MAX_ROUTE_LENGTH 1
  • Every machine adds itself to the route path
    before broadcasting the network

5
Routing packets (2)
  • Route Reply packets
  • Used to give route information to the sources
  • Send by destinations back to the sources
  • Flooded through the network until they are
    broadcasted MAX_ROUTE_LENGTH times or reach the
    sources
  • Do not change the routes established by the Route
    Discovery packets

6
Routing cache
  • Avoid discovering a route to the destination for
    every sent packet
  • Keeps SIZE_OF_ROUTE_CACHE routes to destinations
  • A cached route is used only if it is not older
    than 3 seconds
  • Otherwise run the route discovery protocol to get
    the route to destination

7
Code change/addition
  • Changes to network.h
  • Set BCAST_ENABLED to 1
  • Set BCAST_ADDRESS
  • 192.168.1.255 for ad-hoc network (see
    instructions for setting an ad-hoc network)
  • x.y.z.255 for CSUGLAB
  • For debugging purposes
  • Set BCAST_TOPOLOGY_FILE
  • Provide a topology file (see project description)
  • Used only in CSUGLAB (not on Jornada/Tablets)
  • Add miniroute.h and miniroute.c to your project

8
Implementation hints
  • There must be at most a single routing discovery
    process for any destination at any time
  • Multiple threads should not trigger multiple
    routing discovery processes for the same
    destination
  • Only one cache entry for each destination
  • Use the route reply packets with the latest
    information (use seq_no for this)
  • Use the structures and data-types provided in
    miniroute.h
  • Allow other machines that run other students
    code to participate in the routing protocol

9
Test Cases
  • Use any test from previous steps (project 3 and
    4)
  • Write new tests reading application data from the
    terminal
  • Add read.c, read.h and read_private.h
  • Include read_private.h to minithread.c
  • Add miniterm_initialize to minithread_system_initi
    alize
  • Test cases should use miniterm_read() to read
    data from the terminal

10
Tablets
  • Can compile and run tests like CSUGLAB desktops
  • Can compile code for Jornada
  • Can synchronize with Jornada using ActiveSync
  • Run tests between Jornada and the Tablet
  • Specify the TCP/IP properties for the Tablet in
    the same way as for Jornada for ad-hoc network
  • Specify an Ip address based on your group
  • Set Subnet Mask to 255.255.255.0
  • Set Gateway to 192.168.1.254
  • Install the software used to compile code for
    Jornada ( see Tips for running programs on
    Jornada on CMS)
  • Install Handheld PC 2000 SDK

11
Project 5 presentation
  • Demo slots
  • Tuesday April 15 between 6 and 9 pm
  • Wednesday April 16 between 6 and 9 pm
  • Every group has a slot of 10 minutes
  • A test of my choice
  • should be compiled and run between Jornada
    machines / Tablet
  • should be compiled and run on CSUG desktops
  • Set a DEBUG option in the routing layer used to
    print information about messages received by the
    routing layer
  • You can sign for a slot on a sign-up sheet
    starting from Thursday afternoon (4119 Upson)
Write a Comment
User Comments (0)
About PowerShow.com