Design of a Cooperative Video Streaming System on Community

advertisement
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
Download