Design of a Cooperative Video Streaming System on Community based Resource Sharing Networks Yasuhiro Kawano Graduate School of Software and Information Science, Iwate Prefectural University Koji Hashimoto and Shibata Yoshitaka Faculty of Software and Information Science, Iwate Prefectural University 2010 International Conference on P2P, Parallel, Grid, Cloud and Internet Computing Presenter: Lin - You Wu Outline 1. INTRODUCTION 2. BASIC CONFIGURATION OF COOPERATIVE VIDEO STREAMING SYSTEM 3. A RELAY PATH SELECTION METHOD 4. AN EXAMPLE OF RELAY PATH SELECTION 5. PROTOTYPE SYSTEM 6. CONCLUSION 1. INTRODUCTION • As broadband networks become more common , distributing HD (High-Definition) quality video streams has become increasingly popular in ordinary scenes. • However, our live streaming network environments don't always have enough resources to distribute high quality video streams. • In this paper, we propose a design of a video streaming system on community based resource sharing networks. • When we distribute live video streams for community events like a kind of cultural or sport activities, we may use the community members' video cameras, personal computers and computer networks. • By sharing these community based resources, the whole system may have enough resources to process both HD and SD quality video streams. • On live video distribution, it is important to select a suitable relay path from a live source to sinks in consideration of available resource status. • The video distribution session consists of some available User Terminals (UT) in the community. Each UT has video transmission functions and format transcoding functions. • In this cooperative video streaming system, when clients request to receive live video streams, the sender creates a candidate relay path list and the best path is selected. • And then if a new relay node is required, the suitable transcoding function is placed on sharing networks in consideration of available resource status. 2. BASIC CONFIGURATION OF COOPERATIVE VIDEO STREAMING SYSTEM • Shows the basic configuration of a distribution session in the system. (1) Video Stream Processing by UT of Source Group • This network environment has enough bandwidth and each UT has enough CPU power for the HD video processing in the stream path between UT0 and UT1. • On the other hand, although UT3 also requests to receive the HD video stream from UT0, it doesn't have enough bandwidth between UT0 and UT3. • Session Owner selects a stream path that includes a transcoding node, and decides the UT where the transcoding function is placed in. • In this example, UT2 in Source Group is selected as the transcoding node, and then UT3 will receive the live video stream via UT2. (2) Video Stream Processing by UT of Relay Group • UT1 in Relay Group relays a HD video stream to Destination Group #0, and UT3 transcodes the same HD video stream into another SD video stream and relays the SD video stream to Destination Group #1. • If a source terminal can't connect to a destination terminal directly and if there is available UTs in Relay Group, the UT is used as relay or transcoding node. • Source Group doesn't have enough resources to process several numbers of video streams, if Relay Group is available in community based network, more video streams will be distributed to sinks. (3) Video Stream Processing by UT of Destination Group • If one of stream sinks has enough CPU power to transcode and relay several numbers of video streams, of course those sinks should perform as relay node for close destinations. 3. A RELAY PATH SELECTION METHOD • In order to build a kind of distribution sessions, a Session Owner has a Live Stream Path for creating a suitable new relay path. • There are three types of Stream Node, which are Source Node, Distributor and Destination Node. • A Source Node has an original live video source and sends the video stream to Distributors or Destination Nodes. • A Distributor receives an incoming video stream and distributes the stream. • A Destination Node receives a video stream from a Source Node or a Distributor, and renders the video stream in User Terminal. • When the UT sends a request for new video stream to the Session Owner of the stream. • The Session Owner that received the request creates a list of candidate relay paths from the current Live Stream Path. • Then the Session Owner gathers current resource utilization status of UTs that are joining in this distribution session, and the Session Owner obtains available network I/O bandwidth and CPU utilization status of each UT. (1) Creating of a Candidate Relay Path List • The video stream can be relayed to the Destination Node directly without transcoding, the direct relay path is added to the candidate relay path list. • The video stream can't be relayed to directly or transcoding functions are required, the Session Owner appends a relay path using new Distributor to the candidate relay path list. (2) Gathering of Resource Utilization Status of User Terminals • Replied resource status reports are appended to a current status list, and after a timeout that has specified in advance, an available Stream Node list is created. • Each element of the list includes resource status information of Stream Nodes which have enough network bandwidth and CPU power in order to relay or transcode the video format. (3) Selecting a Relay Path • The Session Owner checks outgoing network bandwidth of a Stream Node that is parent node of the Destination Node. • If the Stream Node can allocate required resources for relaying the video stream, then the Session Owner checks whether new Distributor is available or not. 4. AN EXAMPLE OF RELAY PATH SELECTION • UT1 and UT2 receives the HD video stream. • UT2 transcodes the incoming HD stream format into a SD format and then relays the SD video stream to UT3. • Here, when UT5 sends a request to receive a SD video stream to Session Owner, UT0 will perform the following actions. (A1) Creating of a candidate relay path list (A2) Gathering of resource utilization status of User Terminals (A3) Selecting a suitable relay path (A4) Beginning to relay on the selected relay path 5. PROTOTYPE SYSTEM • The Control Interface component is user interface for a user to create or join distribution sessions and to control audiovideo streams. • The Session Connection Manager component manages distribution sessions, live stream paths and audio-video stream connections. • The User Terminal Manager component manages resource utilization status (network I/O bandwidth and CPU load) of User Terminals which join in a distribution session. • The Stream Connection Controller component creates and deletes audio-video streams, manages relay connection and controls audiovideo streaming sub-system. • The prototype system employs an existing audio-video streaming system as a part of this system. • By using existing streaming system, we can focus on our proposed relay path selection method. 6. CONCLUSION • Using some shared network computing environments we will be able to build more high quality video distribution sessions. • Our goal is to realize more easily live communication by audio-video streams in small community based computer networks. • In this paper, a relay path selection method for video distribution sessions has been described. • By using the method, a suitable relay path is selected from a candidate relay path list and resource utilization status of community based computer networks. END