Changes between Version 28 and Version 29 of Internal/RunningDemos
- Timestamp:
- Jun 3, 2006, 2:31:53 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/RunningDemos
v28 v29 78 78 79 79 === 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 routingthe third stream. Direction of the flows are illustrated as80 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 (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 81 81 82 82 {{{ … … 130 130 ruby nodeHandler.rb -s false test:exp:streaming-panasonic 131 131 }}} 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. 133 133 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: 134 3. '''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 140 3. '''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: 135 141 ||http://10.19.1.8:8018 136 142 ||http://10.19.2.5:8025 … … 138 144 Invoking 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. 139 145 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.146 4. '''Explain the Distortion''' Explain the audiance why there is distortion, and let them see it for a while. 141 147 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. 148 5. '''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. 149 6. '''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. 145 150 146 151 === Troubleshooting === … … 148 153 If 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. 149 154 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.155 1. 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. 151 156 152 157 2. 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.