<<

#CLUS Content Delivery Networks (CDN) Caching Principles, Architecture, and Resource Optimization Scott Wainner, Distinguished SE BRKSPV-2160

#CLUS Cisco Webex Teams

Questions? Use Cisco Webex Teams (formerly Cisco Spark) to chat with the speaker after the session How 1 Find this session in the Cisco Events App 2 Click “Join the Discussion” 3 Install Webex Teams or go directly to the team space 4 Enter messages/questions in the team space

Webex Teams will be moderated cs.co/ciscolivebot# BRKSPV-2160 by the speaker until June 18, 2018.

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 3 Agenda

• Caching Principles

• Caching Value Proposition Models

• Content Delivery Functions

• Content Delivery of Media Services

• Platform Optimization and Management

• Enabling Cloud Content Delivery

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 4 Objectives

• Understand Principles of Caching

• Understand System Architecture and Role of CDN

• Distinguish Impact of Service Delivery Models

• Assess Characteristics of Resource Optimization Content Caching Principles Relevance Many Media Types and Purposes • Commercial Video

• Imagery

• Production Training / Education Systems

• Marketing / Mass Communication Systems

• Notification Information Distribution

• Telemetry Distribution to Subscribers

Distribution

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 7 Content Distribution Principles

Efficiency Performance Resiliency

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 8 Content Distribution Architectural Models • Hierarchical • Distribution Tree from C C • Often associated with an Authoritative Source • Tightly controlled distribution policies C

• Peer to peer

• Distributed Hash Table model C C C • Content can be cached anywhere • Appropriate in fully meshed topologies • Multiple sources C C C

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 9 Metadata Live Media Live ABR traffic System Architecture Video Control VOD Media VOD ABR traffic Content Management Offer Management Authentication Product Bundles Entitlement Catalog Personalization Live EPG And Navigation Workflows Policy Billing VoD IMDb Catalog Creation Digital Rights Offers Subscriptions Entitlement & Image Tags Asset Management Policy Session Management Session Control Policy Management Video Control Plane Clients

Data Plane Credentials Transcoding Origin Servers Content Delivery Content Distribution Streams Live Live Origin Servers Mid-Tier Edge On Cache Cache VOD Origin Servers Images Demand Software Authorization Video Storage Cache Cache & Assignment Content Acquisition

Our Focus Today #CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 10 CDN Systems Architecture Published Content Content Programming Centralized Content, Command and Control, Traffic Traffic Ingest, Routing Ops Content Library and Analytics (Origin) Routing, & Management Hierarchy of Origination, Mid-Tier and Edge Caching Traffic (Optional) Servers Management Plane, Caching Layer Content Routing Plane, Content Delivery Plane Traffic Optimized Resiliency Defined Servers Edge Cache at each Tier

Cost Optimized Platform Selection

Entertainment Services Entertainment Services

Off-Net On-Net #CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 11 Content Caching Techniques CDN - Introduction to Dynamic Caching

• Concepts • CDN is a “Proxy” for Origin Content Delivery Network Servers

• Redirecting clients to CDN Location Requests Traffic Routing Location Redirects • CDN Functional Cache Mid-Tier Edge Origin Content Content Elements Servers Cache Content Cache Requests Requests Requests Ingest • “Traffic Routing” Redirection Cache-Fill • “Origin Server” Library Cache Cache Streams • “Traffic Server” Caching Content Storage Storage • “Traffic Server” Edge Cache Library

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 13 CDN – Implementation Considerations

• Storage Considerations Caching Characterization • Live Media (Finite Window)

• VoD Media (Natural Expiration)

• Cloud DVR (No Caching) Input Output • Content Affinity Cache-Fill or Ingest • Localization Cache-Fill

• Mobile Main memory or Edge Cache • Pre-positioned Solid state disk • Mapping Methodology

• File Handle in URL Spinning disk

• Byte Offset in URL

• Retention / Eviction Algorithms

• Least Recently Used

• First In / First Out

• Metadata (Algorithmic Expiration)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 14 HTTP Caching Transparent Caching • RFC2616 HTTP/1.1 Origin • RFC 6585 Status Codes Server • RFC 2817 TLS • RFC 5785 Well-Known URI Internet get ([email protected]) • RFC 6266 Content-Disposition

• Cache Types Intercept Transparent x  x • Transparent Caches Cache • Proxy Caches

get ([email protected])

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 15 Transparent Caching • Unauthorized Intercept Catalog Origin Server 1 • Non Monetized

• Dynamic Interpretation of Request Item: x GET Location (fqdn-y) • HTTP GET Analysis Internet ([email protected]) 2 • Authentication or Encryption Interference Item (x, Location (fqdn-y)) 6 STOP7 • Authentication • Token or HASH Validation Corrupted 5 Intercept • Payload Encryption Transparent x  x Cache • (e.g. Media Headers, Opaque Objects)

• Transport Encryption STOP8 4 9 • (e.g. TLS, SPDR)

get ([email protected])

3 DNS Location (fqdn-y.com)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 16 HTTP Caching • RFC2616 HTTP/1.1 Proxy Caching • Origin RFC 6585 Status Codes Server • RFC 2817 TLS get ([email protected]) • RFC 5785 Well-Known URI • RFC 6266 Content-Disposition

• Cache Types Rewrite • Transparent Caches Proxy z  y Cache • Proxy Caches

get ([email protected])

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 17 Proxy Caching Origin Server Catalog • Authorized Delegation 1 • Explicit Interpretation Provided to Cache Item ([email protected]) 6 Item ([email protected]) • Optimized Payload is Known a priori get ([email protected]) 3 • Authentication or Encryption Viable 2 Location: • Authenticators Validated and (fqdn-a.com fqdn-b.com) Recalculated Proxy Cache • Tokens, HASH fqdn-a  fqdn-b • Private Keys Shared • Payload Remains Encrypted • Substitution of Opaque Payload get ([email protected]) • Transport Encryption 5 • Public Certificates Exchanged DNS

4 FQDN (fqdn-a)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 18 CDN Caching Basics Origin Server Catalog

• Authorized Delegation 1

• Explicit Interpretation Provided to Item ([email protected]) Cache get ([email protected]) Item ([email protected]) 9 3 • Authentication or Encryption Viable CDN Traffic 2 • Redirection to Optimal Location Server Asset Mapping (Cache) ( [email protected][email protected]) • Cache Hit Ratio Traffic 8 Router get ([email protected]) • Distributed Edge Traffic Server • Edge Cache (Caching) • Intermediate Layer 7 • Cache get ([email protected]) GET ([email protected]) 5

Redirect ([email protected]) 6 cdn.com DNS 4

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 19 CDN Value Proposition Content Caching Principles

Cost

Optimized Costs

Cache Costs

Bandwidth Costs Cache Hit Rates Caching Sites

Cost Inflection Point

Content Popularity

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 21 Content Popularity

Content Popularity Often Characterized by Zipf’s Law Library Described by Alpha (α) Each Library is Unique • Old Movies

• Current Hits Views • Videos • Sports Highlights • TV Series

Top 100 Bottom 100 Titles ranked by Demand Cache

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 22 Contributing Factors • CHR of Content Types • ABR more difficult to predict than for PDL

• Cache Fill Traffic • Temporary content renewal Different Nodal • Triggered by revalidation • First Fill Request Cache Hit Rates !!!

• Eviction • Popularity Profile • Least Recently Used

• Topology Considerations • Hierarchical Caching gains • Geographical Content Affinity

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 23 Nodal Cache Hit Rates Content Requests • Probability of a Cache Hit 2 5 13 2/2 = PCHR 100% • Probability of a Nodal Cache Miss

PCM = 1- PCHR • Node A Cache Miss Origin 3/5 = PCHRa = 3/5 = 0.60 or 60% 60%

PCMa = 1 – 0.60 = 0. 4 New Content / Cache • Node B Cache Miss Unpopular Content (a) 8/13 = 61.6%

PCHRb = 8/13 = 0.616 or 61.6% Some Popular Content Cache PCMb= 1 – 0.616 = 0.384 Very Popular Content (b)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 24 System Cache Hit Rates Content Requests 2 5 13 • Probability of System Cache Miss 2/2 P = P * P SCM CMa CMb = • System Cache Miss Example 100%

PCHRa = 3/5 = 0.60 or 60% P = 1 – 0.60 = 0. 4 CMa Origin 3/5 PCHRb = 8/13 = 0.616 or 61.6% = 60% PCMb= 1 – 0.616 = 0.384 Cache (a) 8/13 PSCM = 0.4 * 0.384 = 0.154 = 15.4% = • System Cache Hit Rate = 1- 15.4% = 84.6% 62% Cache (b)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 25 Caching Cost : Bandwidth

Cost

Demand

Contributions / Cache-fill Bandwidth Costs

Source Data Network Network Access Home Center Core Edge Network Network

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 26 Caching Cost : Cache Storage

Storage Cost

Source Data Network Network Access Home Center Core Edge Network Network

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 27 Caching Cost Inflection Point: Optimized Costs

Optimal Costs !!! Optimal Performance???

Cost Latency? Jitter? Storage + Bandwidth = Total Cost Congestion? Throughput?

Contributions / Cache-fill Demand

Source Data Network Network Access Home Center Core Edge Network Network

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 28 Caching Architecture Distribute ‘Enough’ Cache Storage at the ‘Right’ Locations Contributions Origination Cache-Tier Edge-Stream

sources

Content Producer CDN CDN ISP circuit circuit Data Data Co-Lo peer Center Center

cache-fill Edge Cache sync Distribution cache-fill

Data Center internet Enterprise Cache internet circuit Co-Lo Cage sources WAN Edge Cache VPN

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 29 Content Delivery Functions Cisco CDN Architecture Evolution

➤ Cloud Native ➤ Infinite Video

➤ cDVR MOS ➤ vDCM

➤ OMD Cache-Nodes

➤ Encoders

Time <- 2011 2012 2013 2014 2015 2016 2017 2018

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates.*Road All rights Mapped reserved. Cisco Public 31 Elastic Platform Video Services Workflow Orchestration

Traffic Traffic Traffic Traffic Origin Traffic Traffic Traffic OMD Influx Traffic Traffic Vault Router Operations Server Server Server Monitor Stats Analytics DB Router Sever

OpenStack – Compute, Storage, and Network Orchestration

Hypervisor Hypervisor Hypervisor

Unified Compute Unified Compute Unified Compute System System System

Network Infrastructure

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 32 CDN Functional Architecture

Server Function Summary

Open Media Distribution Traffic Server HTTP/S proxy-cache based on open source

MaxMind Geo Traffic Traffic Cache Selection, redirects clients to best Database Traffic Router OPS Vault Traffic Router cache

DNS Traffic Ops Configure and Monitor Traffic Server Caches

DNS Traffic- Traffic- Traffic Vault Protects keys and certificates Resolver Monitor Stats

Traffic Monitor Monitors cache health and load

Influx DB Traffic Traffic Server Aggregates and visualizes real-time and Client Server Traffic Stats Mid-Tier historical performance data Edge-Tier OMD Origin Insights Server Time series database to retain all Traffic Influx DB Server statistics Splunk based CDN Insights with OMD Analytics 300+ Dashboards

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 33 Traffic Router • Delivery Service Properties

• Localization using Coverage Zone Map (CZM)

Traffic Router • DNS Content Routing • Authoritative DNS for Origin • List of Edge Cache IP

Traffic Traffic • HTTP Content Routing Server Server Edge- Edge- Tier Tier • DNS Resolves to Self Client • HTTP Redirect

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 34 Traffic Server • Reverse Proxies

• URL Re-mapping Logic to Specific Sources (Mid-Tier Cache Origin or Origin) Server • Cache Groups

Mid-Tier Traffic • Mid-Tier Cluster (single geographical coordinate) Server • Edge Cluster (single geographical coordinate)

Edge-Tier Traffic • HTTP Content Routing Server

• DNS Resolves to Self Client • HTTP Proxy

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 35 Delivery Service

• Cache in RAM, cache on disk, or do not cache at all

• Use DNS or HTTP Content routing

• Limits on transactions per second and bandwidth

• Protocol (http or https)

• Token based authentication settings

• Header rewrite rules

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 36 Traffic Monitor

• Throughput (e.g. bytes in, bytes out, etc).

• Transactions (e.g. number of 2xx, 3xx, 4xx responses, etc).

• Connections (e.g. from clients, to parents, origins, etc).

• Cache performance (e.g.: hits, misses, refreshes, etc).

• Storage performance (e.g.: writes, reads, frags, directories, etc).

• System performance (e.g: load average, network throughput, etc).

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 37 Traffic Stats

• Cache Stats • Bandwidth, Max Kbps, Client Connections

• Delivery Service Stats • Service rates Kbps, Status (4xx/5xx), TPS (2xx, 3xx, 4xx, 5xx, total) • By Cache-Group, CDN, Delivery Service

• Daily Stats • Max Bandwidth, Bytes Served, by CDN

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 38 Traffic Vault

• SSL Certificates • Private Key, Certificate (CRT), Certificate Signing Request (CSR)

• DNSSec Keys • Key Signing Key (private key, public key) • Zone Signing Key (private key, public key)

• URL Signing Keys • Query Strings • Tokens

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 39 Content Delivery System Design Origin Servers and the CDN CMS OMD Traffic Ops • Content Management System (CMS) 2. CONFIG 1. POST 1. POST • Combine Content + Publishing Metadata

• Origin Servers (OS) Origin • Organized Media on Storage OMD Server Traffic Router • Authorize Mid-Tier Cache 6. GET 7. OK (media) Content • Package Content DELIVERY SERVICE

3. Request 4. Location CDN

Caching 5. Request Traffic Servers

8. Ok (Media)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 41 DELIVERY SERVICE DELIVERY (Ads) Origin Server SERVICE (Media)

DELIVERY • Ingest must be flexible, resilient and SERVICE secure (Web Objects) Media Objects • CDN can ingest from multiple Origin Origin Ad Objects Capture Servers Servers Origin Server • Local or Remote locations

• Origins can be replicated Play • Locally (load balancing) • Remotely (disaster recovery)

• Origins can have structure • Security Web Objects • Capture/Recording/Playout separation for Origin Server better scalability Content Mid-Tier Cache

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 42 Delivery Service Content Routing

Origin Server • Request Redirection model Policy Services: • Traffic Router is the Authoritative DNS for • Geo-Location “Delivery Service” FQDN • Network Proximity • Policy • HTTP-based 30x redirection • Quota Traffic Server • Traffic Router resolves domain name to its own (Mid-tier Cache) IP address • Traffic Router then uses 302/307 redirection to CDN an Edge Cache Traffic Routing • DNS-based redirection (HTTP, DNS) Request • Traffic Router resolves domain to IP address of Redirection Traffic Server Edge Cache (Edge Cache) DNS • Traffic Router Criteria • Based on Client IP Address

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 43 Client Request Traffic Server Assignment Traffic Router

• Assessing Location (Latency) Status • Per Delivery Service S3 Status • Per Location S2 Status S1 Status Traffic • Assessing Status (Availability) Monitor • Analytics from Edge Caches • Resources Available Net X S1 IP • Assessing Content Affinity (Performance) • Assign Request to Previously Assigned Edge Cache

• Assessing Content Controls • Quotas Net Z • Thresholds S3 IP S2 IP Net Y

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 44 Coverage Zone MaxMind DB Static Location-based Routing NODE LOC S1 IP == net X CIP LOC Load S2 IP == net Y CIP1 == net Y S3 IP == net Z • Separate Content Routing Plane CIP2 == net Z • Implemented at Traffic Router • Reference Location Information (MaxMind) Lookup Traffic • Traffic Server’s inform Traffic Monitor about Router status and load using keep-alive messages • Server Redundancy Net X S1 IP • Variety of Traffic Server Selection criteria available • Load • Content • Service availability Net Z

S3 IP S2 IP CIP1 CIP2 Net Y

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 45 Content Delivery OS 1 OS 2

• Content Affinity Traffic Routing • Hash Calculated on URL (HTTP Only)

• Common URL requests have affinity to CA 1 CA 2 same Traffic Server

• Traffic Server Selection • Hash Calculated on Origin URL • Common Cache-fill requests have affinity to same Traffic Server

• Origin Selection S3a IP S2 IP • Same as above S3b IP Client Client Client

Client

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 46 Content Delivery Optimization Mid-Tier OS 1 OS 2 • Origin Server Sizing depends on CDN Cache Cache Hit Rate Hit Rate (CHR) efficiency

• Define CDN topology and apply Hierarchical CA 1 Caching to achieve efficiency goal Edge • Example Cache Hit Rate • CDN Efficiency goal: 90% • Two-tier CDN (edge + mid-tier-cache) • Edge CHR (eCHR): 80% Client S3a IP S2 IP • Mid-tier Cache CHR (mCHR): 50% Client • Efficiency = • 1 – (1 – eCHR)*(1 – mCHR) = System CHR Client

• 1 – (1 – 0.80)*(1 – 0.50) = 90%

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 47 Edge Throughput: Peak Busy Hour (PBH) Live Load Live Load Criteria Criteria 50 live channels; all profiles 50 live channels; all profiles Bitrate per Channel = 10 Mbps NAS OS Bitrate per Channel = 10 Mbps Site Demand 30 Gbps Site Demand 15 Gbps

Edge Live Cache-Fill Edge Live Cache-Fill 50 live * 10 Mbps/live = 0.5 Gbps 50 live * 10 Mbps/live = 0.5 Gbps VoD Load VoD Load Criteria Criteria Site Demand 20 Gbps Site Demand 10 Gbps Edge PoP CHR = 80% Edge PoP CHR = 80% 4 Gbps 2 Gbps 0.5 Gbps Edge VoD Cache-fill 0.5 Gbps Edge VoD Cache-fill Load * (1- CHR) Load * (1- CHR) 20 Gbps * (0.2) = 4 Gbps 10 Gbps * (0.2) = 2 Gbps

20 Gbps 30 Gbps 15 Gbps 10 Gbps

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 48 Origination Throughput: Peak Busy Hour (PBH) Live Criteria 50 live channels Bitrate per Channel = 10 Mbps NAS OS Edge Live Cache-Fill 50 live * 10 Mbps/live = 0.5 Gbps 3 Gbps 0.5 Gbps

VoD Criteria Cache Demand 2+4 = 6 Gbps Cache CHR = 50% 4 Gbps 2 Gbps 0.5 Gbps Edge VoD Cache-fill 0.5 Gbps Load * (1- CHR) 6 Gbps * (0.5) = 3 Gbps

20 Gbps 30 Gbps 15 Gbps 10 Gbps

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 49 CDN Characterization: Adaptive Bit Rate Common Adaptive Bit Rate (ABR) Methods

• Apple • HTTP Live Streaming (HLS) • Segmented H.264 (MPEG2TS) • Manifest (.m3u8) • Microsoft • HTTP Smooth Streaming (HSS) • Fragmented H.264 (MP4) • Server Manifest, Client Manifest (.ims, .imsc )

• MPEG-DASH • Dynamic Adaptive Streaming over HTTP (DASH) • Fragmented H.264 (ISO-BMFF) • Media Presentation Description (.mpd)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 51 The Challenges with Distributing ABR Objects Progressive Download Movie.mp4

512 kbps Frag1-1 Frag1-2 Frag1-3 Frag1-4

768 kbps Frag2-1 Frag2-2 Frag2-3 Frag2-4 ABR Delivery 1.0 mbps Frag3-1 Frag3-2 Frag3-3 Frag3-4

1.5 mbps Frag4-1 Frag4-2 Frag4-3 Frag4-4 Time Start + 2 sec + 4 sec + 6 sec GET GET GET GET

. 2hr movie, 2 sec segments . Short fragment / segment sizes  High HTTP Request Rate . 3600 fragments x 7 profiles . URL’s can be Absolute or Relative  DNS Resolutions . 25,000 objects/movie . TCP connections should not be short-lived (client code)  Pipeline HTTP Requests . CDS object handling configured on a per Delivery Service basis

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 52 Live / Linear TV: HLS Manifest TTL Remaining in CDN Manifest TTL Expired in CDN • Caching the Sliding Window Segment TTL Remaining in CDN Segment TTL Expired in CDN • Time-to-Live (TTL) access to Manifest / Profiles (10s) No Segment in CDN • Time-to-Live access to Segments (30s)

Transcode / Package

MPEG2TS HLS Profile 5 Client 2 HLS Profile 4 SOURCE HLS Profile 3

HLS Profile 2 Client 1 HLS Profile 1 T T T T T T -20 -10 TNOW T+10 +20 +30 +40 +50

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 53 Live / Linear TV: DASH and HSS Current Manifest Available Manifest TTL Expired in CDN • Caching the Time-shift Window Segment TTL Remaining in CDN • Time-to-Live (TTL) access to .imsc Manifest (2s) Segment TTL Expired in CDN No Segment in CDN • Repackaged .mpd (1-10sec)

Transcode / .imsc, .mpd Package TTL remaining TTL Expired

MPEG2TS HSS Profile 5 Client 2 HSS Profile 4 SOURCE HSS Profile 3

HSS Profile 2 Client 1 HSS Profile 1

T-4 T-2 TNOW T+2 T+4 T+6 T+8 T+10

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 54 VoD: HLS Manifest TTL Remaining in CDN Manifest TTL Expired in CDN • Complete Mapping of Manifest to Segments Segment TTL Remaining in CDN • Time-to-Live of Manifest / Profiles (as specified) Segment TTL Expired in CDN • Time-to-Live access to Segments (as specified) No Segment in CDN

segment.ts manifest.m3u8

Complete Manifest Cached until TTL Expired

HLS Profile 5 Client 2 HLS Profile 4

Transcode / Package HLS Profile 3

MPEG2TS HLS Profile 2 Client 1 HLS Profile 1

TNOW T+10 T+20 T+30 T+40 T+50

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 55 VoD: HSS and DASH Manifest TTL Remaining in CDN Manifest TTL Expired in CDN • Caching the ‘DVR Duration’ Window Segment TTL Remaining in CDN • Time-to-Live (TTL) access to .imsc Manifest (2s) Segment TTL Expired in CDN • Time-to-Live access to Fragments (6s – IIS default 2hr) No Segment in CDN

.ismv .imsc

TTL remaining TTL Expired

HSS Profile 5 Client 2 HSS Profile 4

Transcode / Package HSS Profile 3

MPEG2TS HSS Profile 2 Client 1 HSS Profile 1

TNOW T+2 T+4 T+6 T+8 T+10

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 56 The Challenges with Distributing ABR Objects Transaction Rates: Transactions Per Second for 1HR asset

Object Length Client Request 2000 clients Asset Requests 200 channels Behavior  (sec) (TPS) (TPS) (Objects/Hour) (Objects / Hour) Smooth 2 0.5000 1,000 1800 360,000 HLS 10 0.1000 200 360 72,000 PDL 3600 0.0003 0.56 1 200 Cache Object Size (MB) High Transaction Rate Bit Rate  3000 kbps 1500 kbps 500 kbps Smooth 0.75 0.38 0.13 HLS 3.8 1.9 0.6 PDL 1,350 675 225 Small Object Write/Read Performance Origin File Count (One Hour Asset)

Bit Rate  3000 kbps 1500 kbps 500 kbps File Object Count Smooth 1 1 1 HLS 360 360 360 PDL 1 1 1

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 57 HSS vs. HLS: Vastly Different Methods

HSS (Microsoft) HLS (Apple) Transport Protocol HTTP HTTP Fragment Size (default) 2 seconds 10 seconds #TCP connections 2 1-2 # Content Files on Origin Server #profiles #profiles x 360/Hr. of content Codec Support VC-1, H.264, WMA H.264 Wire Format MP4 fragments MPEG2TS video segments, audio ID3, webVTT File Format on Origin Server .ismv, Fragmented mp4 .ts, Segmented TS Standard HTTP Origin Server No Yes Encryption/DRM PlayReady; AES-128 in Counter Mode AES-128 in Cipher Block Chaining Client Silverlight, OSMF (OpenSource) iPhone OS +, QuickTime X Client Manifest file .ismc (.ism/manifest or .isml/manifest) .m3u8 Origin server Helper integrated with IIS server HTTP server

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 58 HSS vs. DASH: DASH is a super-set of HSS

HSS (Microsoft) DASH (MPEG DASH Guidelines v3) Transport Protocol HTTP HTTP Fragment Size (typical) 2 seconds 1-10 seconds #TCP connections 2 1 , 2 # Content Files on Origin Server #profiles #programs Codec Support VC-1, H.264, WMA H.264, H.265 Wire Format MP4 fragments MP4 fragments File Format on Origin Server .ismv, Fragmented mp4 ISO-BMFF Standard HTTP Origin Server No Yes Encryption/DRM PlayReady; AES-128 in Counter Mode Common Encryption, AES-128, CTR+ CBC Client Silverlight, OSMF (OpenSource) DASH Client Client Manifest file .ismc (.ism/manifest or .isml/manifest) .mpd (media presentation description) Origin server Helper integrated with IIS server Packager (MPD), Server (Segments)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 59 CDN Optimizations for ABR Aggregation of • Optimized TCP connection handling common • Scaling to support the large # of connections for ABR Origin Server requests into single request • Optimized HTTP request handling (e.g. manifest update) • Scaling to support the large # of GET requests for ABR

• Request Bundling Mid-Tier Cache • For live streaming, aggregates multiple cache-fill requests for the same content into a single request

• Small Object Cache Throughput Optimizations • Small objects written to memory, delayed write to disk (SSD or HDD) Streamer • Large objects continue to be cached on disk • Client/Cache Stickiness (Content Affinity)

• Service Visibility • Reporting and Analytics optimizations for ABR

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 60 Platform Optimization and Orchestration Platform Requirements • Three Dimensions of Analysis Compute

• Compute • Encoding • Computation Complexity • Encryption • Transactions Per Second • Encapsulation

• Live Streaming • Storage • Live Origin Bandwidth • Volume of Data • VoD Streaming • Read / Write Capabilities of Storage • VoD Origin • cDVR Origin • Bandwidth • Throughput Storage • Packets Per Second

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 62 System Load Requirements: Linear Unicast

1500

1200

900

600 Compute (CPU) Storage (TB) 300 Bandwidth (Gbps)

0 Bandwidth (Gbps) Storage (TB) Compute (CPU)

Assumptions: Stream Demand:1500 Gbps Channels: 500 Size: 10Mbps per channel Caching: In-memory

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 63 System Load Requirements:

1500

1200

900

600 Compute (CPU) Storage (TB) 300 Bandwidth (Gbps)

0 Bandwidth (Gbps) Storage (TB) Compute (CPU)

Assumptions: Stream Demand: 500 Gbps Titles: 200,000 Size: 3.2 GB per Title (avg 43min) Caching: 97% CHR

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 64 System Load Requirements: Cloud DVR

1500

1200

900

600 Compute (CPU) Storage (TB) 300 Bandwidth (Gbps)

0 Bandwidth (Gbps) Storage (TB) Compute (CPU)

Assumptions: Stream Demand: 1320Gbps Titles: Unique Copy Size: 3.2 GB per Title (avg 43 min) Caching: 0% CHR

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 65 System Load Requirements: Combined Services 2500

2000 Services

1500

1000 Compute (CPU) Storage (TB) 500 Bandwidth (Gbps)

0 Bandwidth (Gbps) Storage (TB) Compute (CPU)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 66 Example: Cloud- Enabled Media Origination Services MOS Controller – High Level Modules

Management functionality Service Manager, GUI Manager, Document Services

Control Plane Media Control Plane Service Orchestration Application Instance Controller (AIC) Service Instance Controller (SIC) Content Object Store Controller (COS AIC) Asset Workflow Manager(AWM) Centralized Logging (ELK)

Media Data Plane Data Plane MCE, MPE (MPE-C, MPE-TC) App Engines (State Cache HA-Proxy, IPVS)

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 68 Unified Media Components Communication

Playback Request Key Key Redistribution Mgmt Mgmt Key Lookup MPE – C MPE- TC HA HA Proxy Proxy Redirect to MPE

Playback Request Playback Request MCE LB MPE Playback Request (DASH) (DASH) Ingest (HLS, HSS, HDS) LB MCE MPE

MCE MPE Playback Response (DASH) Playback Request (HLS, HSS, HDS) OpenStack SWIFT Storage 3rd Cisco Linux Party COS COS COS

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 69 Key Points Key Takeaways: Caching

• CDN Value Proposition • Efficient Distribution of Content (Audio, Media, Software) • Improved Performance / Scale • Resiliency • Content Caching Methods • Emphasis on Proxy Caching (Authorized) vs Transparent Proxy Cache • Leveraging Two Referral Methods: DNS-based or HTTP Redirect

HTTP | DNS • CDN Architectural Choices Cost • Strategic Hierarchical Caching • Cost Optimization: Bandwidth Versus Storage Optimized Costs

Caching Sites

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 71 Complete your online session evaluation

Give us your feedback to be entered into a Daily Survey Drawing. Complete your session surveys through the Cisco Live mobile app or on www.CiscoLive.com/us.

Don’t forget: Cisco Live sessions will be available for viewing on demand after the event at www.CiscoLive.com/Online.

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 72 Continue Demos in Walk-in Meet the Related your the Cisco self-paced engineer sessions education campus labs 1:1 meetings

#CLUS BRKSPV-2160 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 73 Thank you

#CLUS #CLUS