Resilient Peer-to-Peer StreamingSlide 2MotivationChallengeApproachCoopNetAssumptionTree managementGoalsConflictsFeasibility of the Centralized ProtocolCentralized Tree ManagementTree Efficiency / Topology AwarenessTree RepairMultiple Description Coding (MDC)OverviewOverview (cont.)CoopNet MDC System ArchitectureConfiguring MDCPerformance evaluationImpact of Number of Distribution TreesEffectiveness of MDCImpact of Repair TimeRelated workRelated WorkReferencesQ & AThank you!Resilient Peer-to-Peer StResilient Peer-to-Peer StreamingreamingPresented by: Yun TengPresented by: Yun TengResilient Peer-to-Peer StreamingResilient Peer-to-Peer StreamingAuthorsAuthorsVenkata N. Padmanabhan Venkata N. Padmanabhan Helen J. Wang Helen J. Wang Philip A. Chou Philip A. Chou From From MicrosoftMicrosoftMotivationMotivationDistributing “live” streaming media content Distributing “live” streaming media content to a potentially large and highly dynamic to a potentially large and highly dynamic population of hosts. population of hosts. ““Live” streaming refer to the simultaneous Live” streaming refer to the simultaneous distribution of the same content to all clientsdistribution of the same content to all clientsChallengeChallengePeer-to-peer content distribution is attractiPeer-to-peer content distribution is attractive because the bandwidth available to serve because the bandwidth available to serve content scales with demand.ve content scales with demand.A key challenge: A key challenge: making content distribumaking content distribution robust to peer transiencetion robust to peer transience..ApproachApproachIntroduce redundancy, both in network patIntroduce redundancy, both in network paths and in data hs and in data Multiple diverse distribution tree: provide rMultiple diverse distribution tree: provide redundancy in network pathsedundancy in network pathsMultiple description coding (MDC): provide Multiple description coding (MDC): provide redundancy in dataredundancy in dataCoopNet CoopNet Makes selective use of P2P networking, plMakes selective use of P2P networking, placing minimal demands on the peers acing minimal demands on the peers Goal: help a server tide over crises such aGoal: help a server tide over crises such as flash crowds rather than replace the servs flash crowds rather than replace the server with a pure P2P systemer with a pure P2P systemAssumptionAssumptionA node participates in and contributes bandwidth A node participates in and contributes bandwidth for content distribution only so long as the user ifor content distribution only so long as the user is interested in the content. It stops forwarding tras interested in the content. It stops forwarding traffic when the user tunes out ffic when the user tunes out A node only contribute as much upstream bandwA node only contribute as much upstream bandwidth as it consumes in the downstream direction idth as it consumes in the downstream direction (applies to the total bandwidth in and out of a no(applies to the total bandwidth in and out of a node aggregated over all treesde aggregated over all treesNodes in CoopNet are inherently unreliable Nodes in CoopNet are inherently unreliableTree managementTree managementGoalsGoalsShort treesShort treesTree diversity Tree diversity EfficiencyEfficiencyQuick join and leaveQuick join and leaveScalabilityScalabilityConflictsConflictsTree diversity versus efficiencyTree diversity versus efficiencyQuick join and leave versus scalabilityQuick join and leave versus scalabilityFeasibility of the Centralized Feasibility of the Centralized ProtocolProtocolSeptember 11 flash crowd at MSNBCSeptember 11 flash crowd at MSNBCAt peak, 18,000 nodes, 1,000 arrivals and At peak, 18,000 nodes, 1,000 arrivals and departures per seconddepartures per secondOn average, 10,000 nodes, 180 arrivals and On average, 10,000 nodes, 180 arrivals and departures per seconddepartures per secondResource requirementResource requirementMemory: 10 MBMemory: 10 MBNetwork bandwidth: 8 MbpsNetwork bandwidth: 8 MbpsCPU: 40 ns memory cycle, allow 390 memory CPU: 40 ns memory cycle, allow 390 memory accesses per insertionaccesses per insertionCentralized Tree ManagementCentralized Tree ManagementRandomized Tree ConstructionRandomized Tree ConstructionDeterministic Tree ConstructionDeterministic Tree ConstructionTree Efficiency / Topology AwareneTree Efficiency / Topology Awareness ss Need an efficient way to pick a proximate Need an efficient way to pick a proximate parent for a node without requiring parent for a node without requiring extensive P2P network measurementsextensive P2P network measurementsEach node maintains its “delay Each node maintains its “delay coordinates” of ping times to a small set of coordinates” of ping times to a small set of landmark hostslandmark hostsRoot pick the closest node for incoming Root pick the closest node for incoming node from a set of candidate parentsnode from a set of candidate parentsTree RepairTree RepairDue to node leaveDue to node leaveTwo typesTwo typesVoluntary – Notify the rootVoluntary – Notify the rootFailure – Detect failureFailure – Detect failureMultiple Description CodiMultiple Description Coding (MDC)ng (MDC)OverviewOverviewEncoding an audio and/or video signal into Encoding an audio and/or video signal into M>1 separate streams, or descriptions, suM>1 separate streams, or descriptions, such that any subset of these descriptions cach that any subset of these descriptions can be received and decoded.n be received and decoded.The distortion with respect to the original sThe distortion with respect to the original signal is commensurate with the number of ignal is commensurate with the number of descriptions received.descriptions received.Overview (cont.)Overview (cont.)MDC incurs a modest performance penalty relatiMDC incurs a modest performance penalty relative to layered coding, which in turn incurs a slight ve to layered coding, which in turn incurs a slight performance penalty relative to single descriptioperformance penalty relative to single description coding.n coding.The audio and/or video signal is partitioned into The audio and/or video signal is partitioned into groups of frames (GOF), each group having durgroups of frames (GOF), each group having duration of T (such as 1 second). Each GOF
View Full Document