proxy-based asynchronous multicast for efficient on-demand media distribution
DESCRIPTION
Proxy-based Asynchronous Multicast for Efficient On-demand Media Distribution. Multimedia Operating and Networking System (MONET) Group Yi Cui and Klara Nahrstedt {yicui, klara}@cs.uiuc.edu. Motivation. Media Distribution Video on Demand, Distance Learning, etc. Challenges Scalability - PowerPoint PPT PresentationTRANSCRIPT
Proxy-based Asynchronous Proxy-based Asynchronous Multicast for Efficient On-Multicast for Efficient On-
demand Media Distributiondemand Media Distribution
Multimedia Operating and Networking System Multimedia Operating and Networking System (MONET) Group(MONET) Group
Yi Cui and Klara NahrstedtYi Cui and Klara Nahrstedt
{yicui, klara}@cs.uiuc.edu{yicui, klara}@cs.uiuc.edu
MotivationMotivation
Media DistributionMedia Distribution– Video on Demand, Distance Learning, Video on Demand, Distance Learning,
etc.etc. ChallengesChallenges
– ScalabilityScalability– EfficiencyEfficiency– On-demandOn-demand
MulticastMulticast Pros: Pros:
Scalable and Scalable and EfficientEfficient
Cons: Cons: synchronous synchronous transmission transmission mannermanner
t0
t0
t0
t0
t0
Multicast-based SolutionsMulticast-based Solutions
Previous WorksPrevious Works– Batching, Patching, Hierarchical Merging, Batching, Patching, Hierarchical Merging,
Periodic Broadcast, etc.Periodic Broadcast, etc. LimitationsLimitations
– Clients have to participate multiple Clients have to participate multiple multicast sessions simultaneouslymulticast sessions simultaneously
– Not so scalable in case of non-sequential Not so scalable in case of non-sequential accessaccess
– Deployment of IP multicast severely Deployment of IP multicast severely limitedlimited
Application-layer MulticastApplication-layer Multicastt0
t0
t0
t0
t0
Existing Existing Works Works ((Narada, Narada, Overcast, Overcast, Yoid, ALMI, Yoid, ALMI, RON, etc.)RON, etc.)
Naïve Naïve Solution Solution Simply elevate Simply elevate IP-multicast IP-multicast based based solutions to solutions to application application layerlayer
Asynchronous MulticastAsynchronous Multicast
t2
t4
t1
t3
t0t1t2
t3t4
Same stream Same stream reusable by reusable by asynchronous asynchronous clientsclients
Clients not Clients not required to receive required to receive multiple streams multiple streams at the same timeat the same time
Non-sequential Non-sequential access supportedaccess supported
IP multicast not IP multicast not requiredrequired
OutlineOutline
MotivationMotivation Problem FormulationProblem Formulation
– Temporal Dependency ModelTemporal Dependency Model Our SolutionOur Solution
– Media Distribution AlgorithmMedia Distribution Algorithm– Content Discovery ServiceContent Discovery Service
Performance StudyPerformance Study SummarySummary
Temporal Dependency Temporal Dependency ModelModel
EachEach client client RR11 keeps the received stream in its keeps the received stream in its buffer buffer B(RB(R11)) (or simply (or simply BB11) for a certain amount of ) for a certain amount of timetime
If If RR22 requests the same stream after requests the same stream after RR11 did, and did, and the time difference is less than the time difference is less than Size(BSize(B11)), , RR22 could could retrieve data from retrieve data from RR11
– RR11 is the is the predecessorpredecessor of of RR22
– RR22 is the is the successorsuccessor of of RR11
Time
B1
R1 R2 R3
Media Distribution GraphMedia Distribution Graph
B1
B2
B5
Bserver
B3
5 4
2
4
6
3
1
3B4
5
Directed edge from Directed edge from BB11 to to BB22 indicates indicates that that BB11 is the is the predecessor of predecessor of BB22
Edge weight is the Edge weight is the communication communication cost between end cost between end hosts carrying hosts carrying BB11 and and BB22
Media Distribution GraphMedia Distribution Graph
B1
B2
B5
Bserver
B3
5 4
2
4
6
3
1
3B4
5
1.1. How does one know How does one know which of its peers has which of its peers has the stream it the stream it demands?demands?
2.2. Which one to choose if Which one to choose if there are multiple there are multiple candidates?candidates?
Construction and Construction and maintenance of Media maintenance of Media Distribution GraphDistribution Graph
Finding the Finding the Media Media Distribution TreeDistribution Tree on the on the graph graph
Model DeploymentModel Deployment
Complex Group Complex Group ManagementManagement
Resource Resource HeterogeneityHeterogeneity
Highly Highly Unpredictable Unpredictable (machine crash, (machine crash, constant joining constant joining and leaving)and leaving)
Client-based Client-based FrameworkFramework
Model DeploymentModel Deployment
Steady GroupSteady Group Abundant Abundant
ResourceResource Dedicated MachineDedicated Machine
Proxy-based Proxy-based FrameworkFramework
A Layered PictureA Layered PictureB4 B2
B3S
B1
Media Distribution Graph
Physical Network
Proxy Network
OutlineOutline
MotivationMotivation Problem FormulationProblem Formulation
– Temporal Dependency ModelTemporal Dependency Model Our SolutionOur Solution
– Media Distribution AlgorithmMedia Distribution Algorithm– Content Discovery ServiceContent Discovery Service
Performance StudyPerformance Study SummarySummary
Media Distribution Media Distribution AlgorithmAlgorithm
FunctionFunction– Maintaining the Maintaining the Media Distribution TreeMedia Distribution Tree ( (MDTMDT) )
on the dynamically changing on the dynamically changing Media Distribution Media Distribution GraphGraph
PropertiesProperties– DistributedDistributed: executed by local nodes, no : executed by local nodes, no
centralized manager requiredcentralized manager required– IncrementalIncremental: only a portion of the tree is : only a portion of the tree is
affected in case of node join/leaveaffected in case of node join/leave– OptimalOptimal: media distribution tree guaranteed to : media distribution tree guaranteed to
be the be the minimal spanning treeminimal spanning tree
OperationsOperations
MDT-InsertMDT-Insert– On insertion of a new node On insertion of a new node BBnewnew, , BBnewnew chooses its chooses its
closest predecessor (the one of the minimum closest predecessor (the one of the minimum communication cost) as its parentcommunication cost) as its parent
MDT-DeleteMDT-Delete– When an old node When an old node BBdeletedelete leaves, it notifies its leaves, it notifies its
current children to find themselves new parents current children to find themselves new parents as done in the as done in the MDT-InsertMDT-Insert operation operation
AnalysisAnalysis
CorrectnessCorrectness– MDT-InsertMDT-Insert and and MDT-DeleteMDT-Delete are guaranteed to are guaranteed to
return loop-free trees.return loop-free trees. OptimalityOptimality
– The trees returned by The trees returned by MDT-InsertMDT-Insert and and MDT-MDT-DeleteDelete are minimal spanning trees. are minimal spanning trees.
Y. Cui, K. Nahrstedt, Proxy-based Asynchronous Multicast Y. Cui, K. Nahrstedt, Proxy-based Asynchronous Multicast for Efficient On-demand Media Distributionfor Efficient On-demand Media Distribution
http://cairo.cs.uiuc.edu/publications/paper-files/TR2002-yicui.pdfhttp://cairo.cs.uiuc.edu/publications/paper-files/TR2002-yicui.pdf
Content Discovery ServiceContent Discovery Service
PurposePurpose– The proxy which runs The proxy which runs MDT-InsertMDT-Insert or or MDT-DeleteMDT-Delete
needs up-to-date knowledge of its predecessors needs up-to-date knowledge of its predecessors and successorsand successors
Limitation of static-content-based solutionsLimitation of static-content-based solutions– The content of a proxy buffer is time varying, The content of a proxy buffer is time varying,
which could constantly invalidate the content which could constantly invalidate the content availability information, thus resulting high availability information, thus resulting high volume of update messagesvolume of update messages
Content Discovery ServiceContent Discovery Service
B1
R1
R1 registration
buffer size
Time
R2 R3
R2 query R3 query
P0 P1 P2 P3 P4 P5 P6
Indexing Servers
OutlineOutline
MotivationMotivation Problem FormulationProblem Formulation
– Temporal Dependency ModelTemporal Dependency Model Our SolutionOur Solution
– Media Distribution AlgorithmMedia Distribution Algorithm– Content Discovery ServiceContent Discovery Service
Performance StudyPerformance Study SummarySummary
Performance StudyPerformance Study
Simulation SetupSimulation Setup– NS-2 simulatorNS-2 simulator– GT-ITM network generator (transit-stub model)GT-ITM network generator (transit-stub model)
Evaluation MetricsEvaluation Metrics– Communication Cost (# of RTP packets traveled Communication Cost (# of RTP packets traveled
across the network)across the network)– Storage Cost (associated with time)Storage Cost (associated with time)– Access Latency (delayed observed by a client Access Latency (delayed observed by a client
from initial request until the stream playback)from initial request until the stream playback)
Communication CostCommunication Cost
Server Communication Server Communication CostCost
Link Communication Link Communication CostCost Comparing with Batching and Proxy Comparing with Batching and Proxy
PrefixingPrefixing– Buffer Size: 5 min.Buffer Size: 5 min.– 12 proxies, 192 clients12 proxies, 192 clients
Impact of Buffer SizeImpact of Buffer Size
Server Communication Server Communication CostCost
Link Communication Link Communication CostCost Comparing with Batching and Proxy Comparing with Batching and Proxy
PrefixingPrefixing– 12 proxies, 192 clients12 proxies, 192 clients
Storage CostStorage Cost
Comparing with Proxy PrefixingComparing with Proxy Prefixing
12 proxies, 192 clients12 proxies, 192 clients 30 proxies, 480 clients30 proxies, 480 clients
Access LatencyAccess Latency
Buffer Size 5 minBuffer Size 5 min Buffer Size 20 minBuffer Size 20 min
Buffer size has no significant impact on Buffer size has no significant impact on access latencyaccess latency
Buffer Hit RatioBuffer Hit Ratio
Access latency only improves when cache Access latency only improves when cache hit ratio increaseshit ratio increases
Access Latency in DetailsAccess Latency in Details
Streaming delay dominates the overall end-Streaming delay dominates the overall end-to-end latencyto-end latency
SummarySummary
Proxy-based asynchronous multicastProxy-based asynchronous multicast– Buffering Capabilities on End hosts (Proxies)Buffering Capabilities on End hosts (Proxies)– Temporal Locality of Stream AccessTemporal Locality of Stream Access
– Efficient Media DistributionEfficient Media Distribution– Time-based Content DiscoveryTime-based Content Discovery
Future WorkFuture Work– Real network experimentationReal network experimentation– User Access Pattern StudyUser Access Pattern Study
Thank YouThank You
http://www-monet.cs.uiuc.edu
Backup SlidesBackup Slides
Related WorkRelated Work
Asynchronous Multicast in Web CachingAsynchronous Multicast in Web Caching– Pablo Rodriguez et al.Pablo Rodriguez et al.
Similar ideas in StreamingSimilar ideas in Streaming– Chaining, K. Hua et al.Chaining, K. Hua et al.– Cache-and-Relay, S. Jin et al.Cache-and-Relay, S. Jin et al.
Proxy CachingProxy Caching– Middleman, S. Acharya et al.Middleman, S. Acharya et al.– Silo, Tokens and Rainbow, Y. Chae et al.Silo, Tokens and Rainbow, Y. Chae et al.
Extended ResultsExtended Results
Extended ResultsExtended Results
Extended ResultsExtended Results
Extended ResultsExtended Results
Extended ResultsExtended Results