• 沒有找到結果。

4.4 User Interface

4.4.1 Audience

As long as users login into IRIS, all users become audience in Audience interface .

Figure 21 depicts IRIS Audience interface on Samsung Galaxy S i9000.There provides three channels which are Channel 1, Channel 2 and Test_channel to select. When audiences selected Channel 1 or Channel2, the 59connection thread in IRIS would send a audience request to IRIS server. After Server excuted Audience Join algorithm and accecpted the Audience request, initially the music streaming play button would turn on and play streaming automatically, and then Audience started enjoying the talk show. And now Test_channel will

35

not accept any DJ to get in. In fact, two channels have been aleady enough to deal with the quanity of smart phone devices we have. The third channel “Test_channel” is not opened temporaily so that make expanding or other broadcast in the future.

Figure 21 Audience interface

The next two buttons are “Play” and “Stop”. If audience listened to talk show and wanted to stop for a while, the button “Stop”could be clicked to stop playing streaming from talk show. It is not stopped or diconnected with Server,the connection was keeping connected.

Just the Audience chose to not to listen to the music, the Server that Audience connected still transmited the streaming to that. And if audience wants to restore listening to the talk show, clicking the “Play” button. It would return back to the “Play” situation that restart the IRIS

36

talk show in real time.

The remained three buttons are Call-in, Quit and DJ. When Call-in button was clicked, it would excute the algorithm of the Call-in service that Figure 11 described.After DJ accepted the call-in request, it initially started audio communication which applied for VoIP automatically. When an Audience became to a Caller, the “Play ” and “Stop” buttons still work like being an Audience before, “Play” button refers to start or return back to play, “Stop”

button refers to stop listening to the audio streaming recording from DJ.

The “Quit” button is functional for disconnecting all the network connections. It means if an audience does not want to listen to talk show anymore or a Caller wants to hang up the call-in, they could click the “Quit” button. It would stop receiving streaming from Server and stop all the network connections. And the point is that “Quit” button only disconnected all network connections, but not leaving the IRIS, so that they are still staying the Audience interface. The “DJ” button would exchange the interface form the audience to the DJ. We will discuss it in next section 4.4.2.

37

4.4.2 DJ

Figure 22 DJ interface

Figure 22 depicts a DJ interface. The three upper buttons are control buttons of music play.

“Play” button means that when you click this button, it starts playing the music you stored in smart phone SD card. The “Pause” button would pause on the music playing, until DJ clicked the “Play” button again and then continually play. The “Stop” button will end the music playing. If DJ clicked “Play” after clicked “Stop”, the music player would restart playing the music at the first not in the middle. The bar is music seek bar. It supply to seek the music time by moving the seek bar. When the seek bar is moving, thread that executes in background will

38

find out the homologous music streaming time to play the music.

The next two buttons is “Record” and “Stop”. Clicking the “Record” button would record all the DJ saying and music playing. And “Stop” button was set to stop record. The remained two “Register” and “Quit” button is relative with IRIS Servers. The Register is set to send a DJ connection request to DJ. After IRIS sever executes the algorithm of DJ Join that describes in Figure 9, DJ will send the record streaming to IRIS Server if the answer is

“accept” and the “Record ” button has been clicked. If there is not in “Record” situation or the DJ request is rejected, DJ can still play the music and record the streaming without crash, but not sending to anyone.

The “Quit” button is the same action with the “Quit” in Audience interface. It is clicked by DJ to disconnect with IRIS Server. It means the DJ that want to quit the talk show. If the DJ wants to continue his talk show, it has to register in IRIS Server again competing for the empty channel. The IRIS Sever will check the channel is empty by checking the connection with DJ. If the connection is gone, IRIS Server would clean the channel and set it empty to let other DJ get in.

39

CHAPTER 5

Conclusions and Future Work

In this thesis, we implement IRIS, Interactive 2.0 Radio System on the Internet over Smart phone. In IRIS, there are two unique improvements in traditional Radio and VoIP systems.

First, everyone could be a DJ to create a unique talk show. Second, Audience could make a call-in service to DJ. By achieving our purposes, we traverse the NAT problems above the smart phones. And because network load focus on our IRIS Server, we deploy a simple load balancing system to ease off the IRIS Server load.

The streaming data were raw data that sends and receives between nodes in IRIS. Therefore in the future we propose to make some lossless compression or transform the format to RTSP (Real Time Streaming Protocol) [21]. And there is a Wi-Fi direct [22] technique that support on Android 4.0(API level 14). This technique can make audience connected directly without AP. When IRIS Server and Secondary Server both have no redundant utilization for relay, Wi-Fi direct can help audience to connect with each other for sharing streaming. Besides, we hope to develop IRIS in the Cloud in the future.

40

Reference

[1] RFC1631 The IP Network Address Translator (NAT)

[2] RFC2663 IP Network Address Translator (NAT) Terminology and Considerations

[3] Network Address Translation (NAT) Protocol.

http://www.tcpipguide.com/free/t_IPNetworkAddressTranslationNATProtocol.htm [4]RFC2709 Security Model with Tunnel-mode IPsec for NAT Domains

[5]RFC3022 Traditional IP Network Address Translator (Traditional NAT)

[6]RFC3027 Protocol Complications with the IP Network Address Translator (NAT)

[7] M. E. Baran and F. F. Wu "Network Reconfiguration in Distribution Systems for Loss Reduction and Load Balancing", IEEE Transactions on Power Delivery, vol. 4, no. 2, pp.1401 -1407 1989

[8]M. Cierniak, M.J. Zaki and W. Li, &ldquo, Customized Dynamic Load Balancing for a Network of Workstations, &rdquo, J. Parallel and Distributed Computing, vol. 43, pp.

156-162, 1997.

[9] Siuli Roy , Dola Saha , S. Bandyopadhyay , Tetsuro Ueda , Shinsuke Tanaka, A network-aware MAC and routing protocol for effective load balancing in ad hoc wireless networks with directional antenna, Proceedings of the 4th ACM international symposium on Mobile ad hoc networking & computing, June 01-03, 2003, Annapolis, Maryland, USA [10] TuneIn Radio http://tunein.com/

[11] Pandora http://www.pandora.com/

[12] Skype http://www.skype.com/

41

[13] Line http://line.naver.jp

[14] S. Baset and H. Schulzrinne. An analysis of the skype peer-to-peer internet telephony protocol. Technical Report CUCS-039-04, Computer Science Department, Columbia University, New York, NY, Sep 2004.

[15] RFC 5389, J. Rosenberg, R. Mahy, P. Matthews, D. Wing, Session Traversal Utilities for NAT (STUN), The Internet Society (October 2008)

[16] RFC5766, R. Mahy, J. Rosenberg, C. Huitema. TURN: traversal using relay NAT.

Internet draft, Internet Engineering Task Force, July 2004. Work in progress

[17] RFC 6062, J. Rosenberg, S. Perreault, Ed. Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations. Internet draft, Internet Engineering Task Force,

[18] RFC 6156, G. Camarillo Ericsson, O. Novo, S. Perreault, Ed., Traversal Using Relays around NAT (TURN) Extension for IPv6 (April 2011)

[19] RFC 5245, Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols, J. Rosenberg (April 2010) [20] RFC 3489, STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs), J. Rosenberg, J. Weinberger, C. Huitema, R. Mahy, The Internet Society (March 2003)

[21] RFC 2326 Real Time Streaming Protocol (RTSP)

[22] Wi-Fi Direct http://developer.android.com/guide/topics/connectivity/wifip2p.html

相關文件