Changes between Version 28 and Version 29 of Internal/RunningDemos


Ignore:
Timestamp:
Jun 3, 2006, 2:31:53 AM (18 years ago)
Author:
ergin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/RunningDemos

    v28 v29  
    7878
    7979=== Objective ===
    80 In this demo, purpose is to run three concurrent video streaming sessions on an ad hoc network of nodes [1,2],[1,8],[2,1],[2,5],[3,2],[3,4],[3,8],[8,3]. Each row (1, 2, and 3) is used to communicate one of the streams. These three streams should nearly saturate the network (which is operated at fixed 6Mbps rate using 802.11a @ Ch.36) and by enabling admission control on the network (specifically on row three for the demo purposes), we should be able to see that the stream on row three is not accepted in the first place for routing. Node [8,3] is not used in the first part of the demo. It is brought in to the network to demonstrate that routing protocol (Lunar) is able to discover that alternate route ([3,2]--->[8,3]-->[3,8]) after the fact that admission control tells [3,4] to stop routing the third stream. Direction of the flows are illustrated as
     80In this demo, purpose is to run three concurrent video streaming sessions on an ad hoc network of nodes [1,2],[1,8],[2,1],[2,5],[3,2],[3,4],[3,8],[8,3]. Each row (1, 2, and 3) is used to communicate one of the streams. These three streams (of average encoding rate of 2Mbps, 1Mbps, and 1Mbps respectively) should nearly saturate the network (which is operated at fixed 6Mbps rate using 802.11a @ Ch.36) and by enabling admission control on the network (specifically on row three for the demo purposes), we should be able to see that the stream on row three is not accepted in the first place for routing. Node [8,3] is not used in the first part of the demo. It is brought in to the network later to demonstrate that routing protocol (Lunar) is able to discover that alternate route ([3,2]--->[8,3]--->[3,8]) after the fact that admission control forces rejection of the third stream. Direction of the flows are illustrated as
    8181
    8282{{{
     
    130130ruby nodeHandler.rb  -s false test:exp:streaming-panasonic
    131131}}}
    132     After all nodes check in, it will take at most 10 seconds for the streaming to start on the node pairs, except first time. The first time run will involve an apt-get install command to install video clip debian package file. So, this adds at most 2 minutes. Subsequent runs should not have this additional delay. This delay is not a blocking delay for nodeHandler. So, demonstrator needs to wait this amount of time after the nodeHandler start script is invoked.
     132    After all nodes check in, it will take at most 10 seconds for the streaming to start on the node pairs, except the first time. The 'first time run' will involve an apt-get install command to install video clip debian package file. So, this adds at most 2 minutes to the experiment. Subsequent runs should not have this additional delay. This delay is not a blocking delay for nodeHandler. So, demonstrator needs to wait this amount of time after the nodeHandler start script is invoked.
    133133
    134 3. '''Starting the VLC player'''[[BR]]Use display machine to run three instances of VLC player, and enter URL info of the stream into 'File->Open Network Stream->HTTP' text field. URL format is http://CTRL_IP_of_Node:80XY, where X and Y are coordinates of the node. In current setup, the URLs translate into:
     1343. '''Invoke the GUI'''
     135   * Go up to folder nodeHandler-streaming/scripts
     136   * Start gui by typing ./streaming-dashboard
     137   * A single screen GUI should come up. If not, check X forwarding by trying simple applications like xclock, xeyes etc.
     138   * Check all nodes by first querying all nodes MAC addresses and then all nodes Lunar IP adresses. All eight should reply back.
     139
     1403. '''Starting the VLC player'''[[BR]]Use the Windows batch script on the Desktop of Display machine (named something like 'streaming-demo'). If you can't find it, run three instances of VLC player, and enter URL info of the stream into 'File->Open Network Stream->HTTP' text field. URL format is http://CTRL_IP_of_Node:80XY, where X and Y are coordinates of the node. In current setup, the URLs translate into:
    135141    ||http://10.19.1.8:8018
    136142    ||http://10.19.2.5:8025
     
    138144Invoking these URLs should bring up three video streaming windows on display machine. With three streams concurrently running, there should be perceivable distortion, especially on the bigger one.
    139145
    140 4. '''Stopping the streaming from one node'''[[BR]]Log-into node3-2 with {{{'ssh root@node3-2'}}} command. Execute {{{'pkill vlc'}}} on the node to stop streaming of the video. After a few seconds, video should freeze on the corresponding VLC window on display machine. Stream can be restarted, if necessary, by executing {{{'sh execfile'}}} on the node.
     1464. '''Explain the Distortion''' Explain the audiance why there is distortion, and let them see it for a while.
    141147
    142 5. '''Starting the Monitor'''[[BR]]After stopping the stream on one pair, invoke monitor program on node3-8 (or node3-2), by executing {{{'lin/monitor2 ath1raw 3000 500'}}}. Here, 3000 means that the link is supposed to support 3Mbps bandwidth, and 500 means that the application packet rate is 500 packets/sec. This command should run a process that updates {{{/proc/pkt_rate}}} periodically. After a few updates, re-invoke the streaming by executing {{{'sh execfile'}}}. Streaming process should start, but pressing play button on the VLC software on display machine should not display the stream, since it is not accepted for routing on the wireless network.
    143 
    144 6. '''Stopping the Monitor'''[[BR]]Stop the monitor program, and manually enter {{{'echo 40X6000 > /proc/pkt_rate'}}} to tell the admission control algorithm that there is enough bandwidth for the video. Re-invoking the stream and trying to see it on display (as explained in 5.) should succeed this time.
     1485. '''Stopping the streaming from one node'''[[BR]]Stop the third stream (row three) by first clicking node3-2 and then stop streaming button on GUI. Wait a few seconds and let the VLC application buffer to flush. One of the streams on display should be gone. Then click on node3-4 on GUI and click enable monitor mode button (if button was stuck in disable monitor mode, then click it twice). After this, GUI should report 0Kbps available bandwidth on air. Then, restart streaming by clicking node3-2 first and then start streaming button. Then click on the corresponding VLC's play button and demonstrate that stream is not routed, and can not be seen on the display. Admission control does not allow node3-4 to route this stream to node3-8.
     1496. '''Alternate Route'''[[BR]]Now, click node8-3 and then add to network button. This will bring up node8-3's wireless interface. After three second update interval of Lunar, this route should be discovered and the third stream should be communicated over node8-3. If needed, show this by reading node3-8's routing table.
    145150
    146151=== Troubleshooting ===
     
    148153If video is not visible on the display machine, check the following things to see what might have gone wrong by logging into a source and destination pair.
    149154
    150 1. At the source and destination, do a {{{'ps aux'}}}. There should be a group of vlc processes running (at least three or four). Run {{{'cat execfile'}}} to check IP addresses for streaming client and server are produced correctly. If not, re-run the nodeHandler script to see if problem persists.
     1551. At the source and destination nodes, do a {{{'ps aux'}}}. There should be a group of vlc processes running (at least three or four). Run {{{'cat execfile'}}} to check IP addresses for streaming client and server are produced correctly. If not, re-run the nodeHandler script to see if problem persists.
    151156
    1521572. Make sure that video clip package is installed correctly by looking into /usr/streams directory. There should be MPEG files in that folder. If not, upload teststream_1.1-2_all.deb to source nodes and install it with {{{'dpkg -i teststream_1.1-2_all.deb'}}} command.