HSM: A Hybrid Streaming Mechanism for Delay-Tolerant Multimedia Applications Under the guidance of

advertisement
HSM: A Hybrid Streaming Mechanism
for
Delay-Tolerant Multimedia Applications
Under the guidance of
Prof. Sridhar Iyer
Student: Annanda Th. RATH
1
Key words

Delay tolerant Applications



Pure Streaming Mechanism (PSM)



Client specifies the playback time
Service must be done according to client requirements
There is only one streaming server at the source
Server is responsible for serving all the requests
Hybrid Streaming Mechanism (HSM)


Streaming from strategically chosen relay node in stead of
central (source) server
Data flow is divided into two parts: FTP flow from source to
selected relay node and streaming flow from selected relay node
to client
2
Problem Definition

Objective (Goal)

Improving the performance of streaming service




Maximizing the number of serviced clients
Improving the delivered stream rate at the client
Maximizing the bandwidth utilization in the backbone
network
Reducing the traffic in the network
3
Solution Outline

Proposed a Hybrid Streaming Mechanism (HSM)


Advantage of HSM
 Improving the performance of streaming service
 Increasing the number of serviced clients
 Maximizing the bandwidth utilization
 Reducing the work load at central server as well as the traffic
in the network
Where HSM can be used?



Streaming in the internet
Distance Education Program
Corporate Training
4
Motivation

Why HSM and not PSM?

Disadvantages of PSM
Clients occupy entire links in the path while
streaming, for the duration of the stream
 For the duration that a client is using the links,
others who are sharing the link (s) in the path, are
not able to use the link (s)
 Fewer users are serviced
 Links can be underutilized

5
Motivating Example
HSM !
Requirements
(Delay-Tolerance,
rate)
PSM
HSM
C1
0
(30,256)
Served
Served
C14
10
(60,256)
Not served
Served
C6
75
(30,256)
Not served
Served
C9
75
(05,480)
Not served
Served
C12
75
(30,256)
Not served
Served
768 Kbps
50 mns
PSM !
512 Kbps
192 Kbps
1
512 Kbps
75 mns
3
2
384 Kbps
256 Kbps
512 Kbps
4
9
384 Kbps
512 Kbps
256 Kbps
C11
320 Kbps
7
5
384 Kbps
384 Kbps
C10
512 Kbps
768 Kbps
384 Kbps
768 Kbps
6
C9
C7
Central server
480Kbps
466Kbps
512 Kbps
11
C8
12
Relay node
10
256 Kbps
384 Kbps
384 Kbps
384 Kbps
512 Kbps
C14
C13
128 Kbps
C2
C3
C6
C5
256 Kbps
C1
512 Kbps
384 Kbps
8
240Kbps
480 Kbps
Request
Time
(Minutes)
S
448 Kbps
C12
Clients
320Kbps
240 Kbps
480 Kbps
256 Kbps
C4
Region node
Client
6
Motivating Example: Cont.d
Details of client C1
Links in the
path of client
C1
Link Bandwidth
(Kbps)
Delivered
Stream rate at
C1(Kbps)
Unused
bandwidth
(Kbps)
Link busy period
(Minutes)
PSM
HSM
PSM
HSM
S -1
768
320
448
0
120
50
1-2
512
320
192
0
120
75
2-4
256
320
0
0
150
150
4-10
384
320
64
64
120
120
4-C1
256
320
0
0
150
150
7
Assumption



Links have dedicated bandwidth provisioned
for the given application
Selected intermediate nodes have the
streaming capability
Multicasting is also supported in the given
network topology
8
Functional Overview of HSM

HSM’s components



Delivered stream rate calculation
Streaming point selection
Content transferring and streaming
HSM!
PSM!
Content is storing
Client
nh City
Server
Transcoding
SP
9
S
Delivered Stream Rate Calculation
S

Rate calculation



B1
1
d1
n
Bn+1
SP
L1
dn
Find the weakest link along the path.
Client delay tolerance.
Streaming duration
Lm+1
1
C
m
10
Streaming Point Selection

Selection strategies


At the node with maximum outgoing links
 If the delivered stream rate is less than the
weakest link in the path from source to region
node
At the node below the weakest link
 If the delivered stream rate is greater than the
weakest link in the path from source to region
node
11
Reasoning for the selection strategies
Clients
Request
(Minutes)
Client’s
requirement
(Delay-tolerant,
rate)
C2
0
(90,128)
C4
15
(30,128)
C11
15
(30,128)
C14
15
(60,128)
C1
0
(90,256)
C3
100
(30,256)
C13
110
(30,256)
Service
Strategy
S
768 Kbps
Strategy 1
512 Kbps
384 Kbps
8
256 Kbps
4
9
384 Kbps
512 Kbps
256 Kbps
C12
Region node
C11
448 Kbps
C1
512 Kbps
7
5
384 Kbps
384 Kbps
C10
512 Kbps
768 Kbps
768 Kbps 384 Kbps
6
C9
224 Kbps
C8
C7
512 Kbps
11
12
10
256 Kbps
384 Kbps
384 Kbps
384 Kbps
512 Kbps
C14
C13
128 Kbps
C2
C3
C6
C5
256 Kbps
Client
3
384 Kbps
512 Kbps
Relay node
512 Kbps
2
Strategy 2
Central server
1
256 Kbps
C4
12
Note: Streaming Point Selection

According to the two strategies, there are two possible
places for streaming point:





(i) at the node, which has the maximum outgoing links and
(ii) at the node below the weakest link from the source to region
node
Given the random nature of the clients’ request and its
requirements, it is hard to predict the delivered stream
rate at the client, it may happen that some time,
delivered stream rate is less than the weakest link and
some time it is greater than the weakest link
In order to cover the two cases, in HSM, we deploy at
least two streaming points for one region, one at the
node which has the maximum outgoing links and other
at the node below the weakest link
Note that one streaming point may serve more than one
region
13
Content transferring and streaming




Use FTP to transfer streaming content to the selected SP
Content is temporarily stored at the SP for a period
equivalent to the streaming duration (SD)
Time To Live of Content (TTLC) is extended if new request
arrives
TTLC expires if there is no new request within SD
14
Time to Transfer the Content
S

B1
1
n
d1
dn
Bn+1
SP
L1
Time to transfer content using FTP
C
Lm+1
1
m
15
Caching Memory Management at Relay Node (s)

Memory requirement at relay node (s)

A step-by-step approach to find out the caching memory size at the
relay node (s)
 Find the number of sub trees rooted at SP. Let this be N
 Find the number of regions in each sub tree. Let this number be R
 For each sub tree





Find the weakest link for region j, Bminj
Find the max of weakest link across all regions R, Wi= Max
(Bminj), j=1, ..,R and i= 1, …, N
The maximum amount of data that can flow in the sub tree i =
Wi*SD, where SD is the stream duration
Let FSmax be the maximum file size across all content files stored
at S. Since clients in the regions can specify delay tolerance, we
must find the largest file size that need to be cached. Thus, the
cache size for a sub tree is given by: Max(Wi * SD, FSmax)
The cache size at streaming point in node g, considering all the sub
trees is given by:
16
Time To Live of Content

How to choose TTLC and how to extend it



TTLC is equal the streaming duration plus client delay
tolerance
It is extended if there is a new request within its life
time
The content is removed from the cache when its TTLC
expires
Tc : is the TTLC of the current content
tk : is the time when client k’s request arrives
CDk :is the delay tolerance of client k
Extension of TTLC = Tc+ CDk-(Tc-tk)+SD
17
HSM based Tool Architecture

HSM based Tool components
Top Level HSM’s Architecture
Inputs Module
Network
topology
and specific
link bandwidth
Operation Module
Delivered Stream Rate Calculation
+ Weakest link along the path detection
+ Stream Rate Calculation
Outputs Module
+ Delivered
stream rate at
the clients
1
Clients’
requirements
(Delay
Tolerance,
Minimum Rate)
Streaming Point Selection
+ Weakest link along the path
detection
+ Node with the maximum outgoing
links detection
+ Streaming
Point Position
(Intermediate
Node number)
2
Object name and
the region that
client belongs to
Content Transferring and streaming
+ Calculation time to transfer the
content across all the links in the
path
+ Setting the TTLC
1: Delivered Stream Rate
+ Link Busy
Period along the
path from source
to client.
+ TTLC
2: Streaming Point Position
18
Simulator’s Architecture
(Matlab Implementation)
Simulator’s Architecture
Topology Generator
Static Network Topology
Static network
topology
. Number of nodes in
the network.
. Number of links in the
network
. Link bandwidth
. Level Number
.
. Number of nodes
in the network
. Level Number
(The deep of the
network)
. Link bandwidth
interval (Min Max)
PSM Module (1)
. Client’s request pattern generator
. Client’s requirements generator
. PSM like operation module
. Number of serviced client calculation
module
. Percentage of stream rate improvement
calculation module
Topology
Generator Module
Link Bandwidth
Generator Module
HSM module (2)
. Client’s request pattern generator
. Client’s requirements generator
. HSM like operation module
. Number of serviced client calculation module
. Percentage of stream rate improvement
calculation module
Outputs
. Number of serviced clients
. Percentage improvement of client stream rate
19
Performance Evaluation of HSM

Simulation Parameters





Play out duration is set to 2 hrs
Observation period is 4 hrs
Queuing and propagation delay is set to zero
Arrival rate of clients’ requests is varied from 1 to 30 per minute
Scenarios

100 differences topologies are used, divided into two different
classes.




Class 1: 50 topologies, with the bandwidth in the range (256-768 Kbps)
Class 2: 50 topologies, with the bandwidth in the range (128-256 Kbps)
Gnutella like network topology has been used, it consists of 510
nodes with 14 levels
Performance evaluation parameters


Number of serviced clients
Percentage of delivered stream rate improvement for a client as
compared with its minimum rate requirement
20
Number of serviced clients Vs. Client
Delivered Stream Rate (Class 1)
Stream rate improvement
120
Percentage of stream
rate improvement
Percentage of serviced
clients
Number of serviced clients
100
80
60
40
20
0
1
3
5
7
9
11 13 15 17 19 21 23 25 27 29
Number of client requests per minute
HSM
PSM
170
165
160
155
150
145
140
135
130
1
3
5
7
9
11 13 15 17 19 21 23 25 27 29
Number of client requests per minute
HSM
PSM
21
Impact of clients’ delay-tolerance on System
Performance (Class 1)
Number of serviced clients, PSM
Percentage of serviced
clients
Percentage of serviced
clients
Number of serviced clients
120
100
80
60
40
20
0
1
3
5
7
9 11 13 15 17 19 21 23 25 27 29
Number of client requests per minute
30 mns
60 mns
HSM
90 mns
120 mns
100
80
60
40
20
0
1
3
5
7
9 11 13 15 17 19 21 23 25 27 29
Number of client requests per minute
30 mns
60 mns
90 mns
120 mns
PSM
22
Number of serviced clients Vs. Client
Delivered Stream Rate (Class 2)
Percentage of
serviced
clients
100
12.6
12.5
12.4
12.3
12.2
12.1
12
11.9
80
60
40
20
0
Percentage of
stream rate
improvement
Serviced clients VS stream rate
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Number of client requests per minute
Serviced clients, HSM
Serviced clients, PSM
Stream rate, HSM
Stream rate, PSM
23
Number of serviced clients Vs. Client
Delivered Stream Rate (Gnutella)
Serviced clients VS stream rate
162
160
100
158
156
154
80
60
152
150
148
146
40
20
Percentage of stream
rate improvement
Percentage of serviced
clients
120
144
142
0
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
Number of client requests per minute
Serviced clients, HSM
Serviced clients, PSM
Stream rate, HSM
Stream rate, PSM
24
Analysis of Results

Performance of HSM depends on two factors



HSM performs well with class1 network


Network topology with specific link bandwidths
Clients’ requirements
Because of FTP property built in HSM
With class 2 network

HSM performs slightly better than PSM
25
Related Work

Related work



Initial-latency (delay) is the main issue
Considers streaming service as a real time
application
Content replication


Resource Sharing


Object placement, proxy caching
batching, patching, interval caching, broadcasting
Caching location problem
26
Conclusions & HSM Extensions

Conclusions




In general, HSM performs better than PSM for the number of
serviced users.
HSM serves more users (on the average 40%) as compared with
PSM. However it performs slightly less (on the average 5%) than
PSM for the streaming rate improvement.
HSM can be deployed in the Distance Education Program or
streaming service in the Internet.
HSM extensions



Admission Control.
Converting from Static to dynamic link bandwidth.
Optimal Placement of the streaming point.
27
References








“Determining the Optimal Placement for Web Proxy Cache Servers
Considering Latency in the Network”, Vikram Tiwari, Venkataramanam,
Srinagesh Gavirneni
“Caching Location Problem”, P.Krishnan, Danny Raz, Yuval Shavitt,
IEEE/ACM Transaction on Networking, VOL.8 & NO.5, October 2000.
“Batch Patch Caching for Streaming Media”, Pascal Frossard and Olivier
Verscheure, IEEE Communications Letter, VOL.6, NO.4
“Proxy that Transcode and Cache in Heterogeneous Web Client
Environment”, Aameek Singh, Abhishek Trivedi, Krithi Ramamrithan, IIT
Bombay.
“Streaming approach over internet: Approaches and directions”, W. Z. Y.-Q.
Z. a. J. M. P. Depeng Wu, Yiwei Tomas Hou. IEEE Transaction on circuit and
system for video technology, 11(3):282{300, March 2001.
“Efficient bandwidth resource allocation for low-delay multiuser video
streaming”, W. W. Guang Ming Su. IEEE Transaction for Circuits and
Systems for Video Technology, 15(9):1124{1137, September 2005.
“Multipath routing for video delivery over bandwidth-limited network”, S.-H.
G. C. Victor O.K, Li Jiancong Chen. IEEE Trans, 22(10):1920{1932, 2004.
“Optimal chaining scheme for video-on-demand applications on
collaborative networks”, C.-L. C. Te-Shou Su, Shih-Yu Huang and J.-S. Wang.
IEEE Transactions on multimedia, 7(5):972{980, October 2005.
28
Thanks!
Questions?
29
Impact of client’s delay tolerance

Why performance of HSM increases when
client’ delay tolerance increases?
T1
T2
Ts1
T2 T2
Tf1
C1 (T1, Ts1, Tf1)
C2 (T2, Ts2, Tf2 )
C2’s delay tolerance
30
Delivery Stream Rate Calculation





assuming the streaming duration
is 2 hours
256 Kbps, 30 minutes delay
tolerance
(S-1-2-4-10-C1) is the path from
server to C1.
Min (768, 512, 256, 384, 256) =
256 Kbps
30*60*256/2*3600 + 256 = 320
Kbps
S
768 Kbps
50 mns
512 Kbps
384 Kbps
256 Kbps
4
7
5
384 Kbps
384 Kbps
C10
512 Kbps
768 Kbps
384 Kbps
768 Kbps
6
C9
C8
C7
512 Kbps
11
12
10
256 Kbps
384 Kbps
384 Kbps
384 Kbps
512 Kbps
C14
C13
128 Kbps
C2
C3
C6
C5
256 Kbps
C1
512 Kbps
384 Kbps
8
384 Kbps
512 Kbps
256 Kbps
240Kbps
3
2
9
C11
512 Kbps
75 mns
512 Kbps
C12
1
256 Kbps
C4
31
Caching requirement at relay nodes




Let SD= 2hours (7200 seconds)
FSmax= 2 GB.
Let node 2 be the chosen streaming point.
We calculate the cache size at node 2 as follows:


Number of sub trees rooted at node 2, N=3
For sub tree 1, Number of regions, R=1;



For sub tree 2, Number of regions, R=2;




Bmin1= Min (256, 384) =256;
Bmin2= Min (256, 256) =256;
Max (Bmin1, Bmin2)= (256, 256)= 256.
For sub tree 3, Number of regions, R=1;



Bmin1= Min (384,512)=384
Max(Bmin1)= 384.
Bmin1= Min (384, 512, 512)=384;
Max (Bmin1) = 384
Cache size at node 2 (CS2) = Max (384*7200, 2 GB) +
Max (256*7200, 2 GB) + Max (384*7200, 2 GB) = 7.36 Gb
32
Gnutella Peer Network
33
Time To Live of Content

Example:





Let C1 with 30-minute delay tolerance requesting a
stream with 2 hours duration.
TTLC for this stream is T = 30 + 120 =150 minutes.
Let a new request for the same stream comes from
client C2 at t=90 later
C2’s delay tolerance is 90 minutes.
The extended value of TTLC for the stream is: 150 +
90 - (150 - 90) + 120. Thus, the content is alive till
t=300 minutes.
34
Example: Admission Control
Admission Control Window
time
S
768 Kbps
512 Kbps
1

512 Kbps
2
384 Kbps
256 Kbps
512 Kbps
4
9
384 Kbps
512 Kbps
256 Kbps
C12
240Kbps
C11

7
5
384 Kbps
384 Kbps
C10
512 Kbps
768 Kbps
384 Kbps
768 Kbps
6
C9
C8
11

C7
512 Kbps

Apply the median as
the common stream
rate to all the clients
Otherwise, use mode
12
10
256 Kbps
384 Kbps
384 Kbps
384 Kbps
512 Kbps
C14
C13
128 Kbps
C2
C3
C6
C5
256 Kbps
C1
512 Kbps
384 Kbps
8

3
Determine the
threshold value (by CSP)
Find the mode value
across the collected
samples
If mode is less than the
threshold value
256 Kbps
C4
35
Download