HSM A Hybrid Streaming Mechanism for DelayTolerant Multimedia
HSM: A Hybrid Streaming Mechanism for Delay-Tolerant Multimedia Applications Under the guidance of Prof. Sridhar Iyer Student: Annanda Th. RATH 1
Key words n Delay tolerant Applications n n n Pure Streaming Mechanism (PSM) n n n 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) n n 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 n Objective (Goal) n Improving the performance of streaming service n n 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 n Proposed a Hybrid Streaming Mechanism (HSM) n n Advantage of HSM n Improving the performance of streaming service n Increasing the number of serviced clients n Maximizing the bandwidth utilization n Reducing the work load at central server as well as the traffic in the network Where HSM can be used? n n n Streaming in the internet Distance Education Program Corporate Training 4
Motivation n Why HSM and not PSM? n Disadvantages of PSM Clients occupy entire links in the path while streaming, for the duration of the stream n 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) n Fewer users are serviced n Links can be underutilized n 5
Motivating Example HSM ! Requirements (Delay-Tolerance, rate) PSM HSM C 1 0 (30, 256) Served C 14 10 (60, 256) Not served Served C 6 75 (30, 256) Not served Served C 9 75 (05, 480) Not served Served C 12 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 C 11 320 Kbps 7 5 384 Kbps C 10 512 Kbps 768 Kbps 384 Kbps 768 Kbps 6 C 9 C 7 Central server 480 Kbps 466 Kbps 512 Kbps 11 C 8 12 Relay node 10 256 Kbps 384 Kbps 512 Kbps C 14 C 13 128 Kbps C 2 C 3 C 6 C 5 256 Kbps C 1 512 Kbps 384 Kbps 8 240 Kbps 480 Kbps Request Time (Minutes) S 448 Kbps C 12 Clients 320 Kbps 240 Kbps 480 Kbps 256 Kbps C 4 Region node Client 6
Motivating Example: Cont. d Details of client C 1 Links in the path of client C 1 Link Bandwidth (Kbps) Delivered Stream rate at C 1(Kbps) Unused bandwidth (Kbps) Link busy period (Minutes) 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 4 -10 384 320 64 64 120 4 -C 1 256 320 0 0 150 7
Assumption Links have dedicated bandwidth provisioned for the given application n Selected intermediate nodes have the streaming capability n Multicasting is also supported in the given network topology n 8
Functional Overview of HSM n HSM’s components n n n Delivered stream rate calculation Streaming point selection Content transferring and streaming HSM! PSM! Content is storing Client SP 9
Delivered Stream Rate Calculation S n Rate calculation n B 1 1 n d 1 dn Bn+1 Find the weakest link along the path. Client delay tolerance. Streaming duration SP L 1 Lm+1 1 C m 10
Streaming Point Selection n Selection strategies n n At the node with maximum outgoing links n 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 n 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) C 2 0 (90, 128) C 4 15 (30, 128) C 11 15 (30, 128) C 14 15 (60, 128) C 1 0 (90, 256) C 3 100 (30, 256) C 13 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 C 12 Region node C 11 448 Kbps C 1 512 Kbps 7 5 384 Kbps C 10 512 Kbps 768 Kbps 384 Kbps 6 C 9 224 Kbps C 8 C 7 512 Kbps 11 12 10 256 Kbps 384 Kbps 512 Kbps C 14 C 13 128 Kbps C 2 C 3 C 6 C 5 256 Kbps Client 3 384 Kbps 512 Kbps Relay node 512 Kbps 2 Strategy 2 Central server 1 256 Kbps C 4 12
Note: Streaming Point Selection n According to the two strategies, there are two possible places for streaming point: n n n (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 n n 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 n B 1 1 n d 1 dn Bn+1 SP L 1 Time to transfer content using FTP C Lm+1 1 m 15
Caching Memory Management at Relay Node (s) n Memory requirement at relay node (s) n A step-by-step approach to find out the caching memory size at the relay node (s) n Find the number of sub trees rooted at SP. Let this be N n Find the number of regions in each sub tree. Let this number be R n For each sub tree n n n 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 n How to choose TTLC and how to extend it n n n 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 n HSM based Tool components Top Level HSM’s Architecture Inputs Module Network topology and specific link bandwidth Operation Module Outputs Module Delivered Stream Rate Calculation + Delivered stream rate at the clients + Weakest link along the path detection + Stream Rate Calculation 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 n Simulation Parameters n n n 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 n 100 differences topologies are used, divided into two different classes. n n 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 n n 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) 21
Impact of clients’ delay-tolerance on System Performance (Class 1) HSM PSM 22
Number of serviced clients Vs. Client Delivered Stream Rate (Class 2) 23
Number of serviced clients Vs. Client Delivered Stream Rate (Gnutella) 24
Analysis of Results n Performance of HSM depends on two factors n n n HSM performs well with class 1 network n n Network topology with specific link bandwidths Clients’ requirements Because of FTP property built in HSM With class 2 network n HSM performs slightly better than PSM 25
Related Work n Related work Initial-latency (delay) is the main issue n Considers streaming service as a real time application n Content replication n Resource Sharing n n Object placement, proxy caching batching, patching, interval caching, broadcasting Caching location problem 26
Conclusions & HSM Extensions n Conclusions n n 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 n n n Admission Control. Converting from Static to dynamic link bandwidth. Optimal Placement of the streaming point. 27
References n n n n “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 n Why performance of HSM increases when client’ delay tolerance increases? T 1 T 2 Ts 1 T 2 Tf 1 C 1 (T 1, Ts 1, Tf 1) C 2 (T 2, Ts 2, Tf 2 ) C 2’s delay tolerance 30
Delivery Stream Rate Calculation n n assuming the streaming duration is 2 hours 256 Kbps, 30 minutes delay tolerance (S-1 -2 -4 -10 -C 1) is the path from server to C 1. 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 C 10 512 Kbps 768 Kbps 384 Kbps 768 Kbps 6 C 9 C 8 C 7 512 Kbps 11 12 10 256 Kbps 384 Kbps 512 Kbps C 14 C 13 128 Kbps C 2 C 3 C 6 C 5 256 Kbps C 1 512 Kbps 384 Kbps 8 384 Kbps 512 Kbps 256 Kbps 240 Kbps 3 2 9 C 11 512 Kbps 75 mns 512 Kbps C 12 1 256 Kbps C 4 31
Caching requirement at relay nodes n n Let SD= 2 hours (7200 seconds) FSmax= 2 GB. Let node 2 be the chosen streaming point. We calculate the cache size at node 2 as follows: n n Number of sub trees rooted at node 2, N=3 For sub tree 1, Number of regions, R=1; n n n For sub tree 2, Number of regions, R=2; n n Bmin 1= Min (256, 384) =256; Bmin 2= Min (256, 256) =256; Max (Bmin 1, Bmin 2)= (256, 256)= 256. For sub tree 3, Number of regions, R=1; n n n Bmin 1= Min (384, 512)=384 Max(Bmin 1)= 384. Bmin 1= Min (384, 512)=384; Max (Bmin 1) = 384 Cache size at node 2 (CS 2) = 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 n Example: n n n Let C 1 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 C 2 at t=90 later C 2’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 Window time S 768 Kbps 512 Kbps 1 n 512 Kbps 2 384 Kbps 256 Kbps 512 Kbps 4 9 384 Kbps 512 Kbps 256 Kbps C 12 240 Kbps C 11 n 7 5 384 Kbps C 10 512 Kbps 768 Kbps 384 Kbps 768 Kbps 6 C 9 C 8 11 n C 7 n 512 Kbps Apply the median as the common stream rate to all the clients Otherwise, use mode 12 10 256 Kbps 384 Kbps 512 Kbps C 14 C 13 128 Kbps C 2 C 3 C 6 C 5 256 Kbps C 1 512 Kbps 384 Kbps 8 n 3 Determine threshold value (by CSP) Find the mode value across the collected samples If mode is less than the threshold value 256 Kbps C 4 35
- Slides: 35