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