SlideShare a Scribd company logo
1 of 27
University of Minnesota | Networking Lab
OpenCDN: An ICN Based
Open Content Distribution System Using
Distributed Actor Model
April 16, 2018
IECCO (co-located with IEEE INFOCOM) 2018, Honolulu, HI
Arvind Narayanan, Eman Ramadan, Zhi-Li Zhang
Department of Computer Science & Engineering
University of Minnesota, Minneapolis, USA
University of Minnesota | Networking Lab
Why OpenCDN?
Success of Internet: Cloud Content Distribution & CDN
(Content-Centric) Internet Architecture with Edge Computing?
CONIA: Content-provider Oriented Namespace
Independent Architecture
OpenCDN: Design Goals
Modularity, Scalability, Velocity & Mobility
Ongoing & Future Work
Programming Model: Actor Model & Reactive Functional Programming
Runtime System (incorporated w/ DPDK)
(Declarative) Language
Outline
# 2
University of Minnesota | Networking Lab
Success of Today’s Intenet
# 3
Today’s Internet can be primarily characterized by its success as a
(human-centric, content-oriented) information delivery platform
 Web access, search engine, e-commerce, social networking,
multimedia (music/video) streaming, cloud storage, …
– users search for and interact with websites (or “content”), or
interact with other users;
– users consume or generate information
– static vs. dynamic content
 Rise of web (and HTTP) – coupled with emergence of mobile
technologies – led to cloud computing and CDNs
– Huge data centers with massive compute and storage capacities
to store information, process user requests and generate content
they desire
– CDNs with geographically distributed edge servers to “scale
out” and facilitate “speedier” information delivery
University of Minnesota | Networking Lab
Content Distribution Ecosystem
ISP
CP2
data centers
CP1
data centers
media
players
CDN2 & its servers
CDN1 & its servers
ISP
ISP
users
 Multiple major entities involved!
content providers (CPs), content distribution networks (CDNs), ISPs
and of course, end systems & users
some entities may assume multiple roles
Complex business relationships: sometimes cooperative, but often
competitive
University of Minnesota | Networking Lab
Static Content Distribution:
5
YouTube as a Case Study: world’s largest video sharing site
• User interaction with content (e.g., search for a video) is separated from
video delivery
• Employs a combination of various “tricks” and mechanisms to scale with
YouTube size & handle video delivery dynamics
University of Minnesota | Networking Lab
Static Content Distribution:
6
Netflix as a Case Study: “first” large-scale cloud-sourcing success
 Has its own “data center” for certain crucial operations (e.g., user registration, …)
 Most web-based user-video interaction, computation/storage operations are
cloud-sourced to Amazon AWS
 Users need to use MS Silverlight or other players for video streaming
 Video delivery was/is partly out/cloud-sourced to 3 CDNs;
 but now most utilizes its “own” OpenConnect boxes placed at participating ISPs,
forming its own CDN
OpenConnect
CDN
University of Minnesota | Networking Lab
Front-End (FE) Servers
(Edge Cloud/CDN)
Back-end (BE)
Data Centers
Dynamic Content Distribution
 Web search as (dynamic) content delivery – e-commerce, social
networking services have similar architectures
response contains both static content (e.g., banner, css files) and
dynamically generated search response (dynamic content)
 User QoE metric: end-to-end search response time (SRT)
 Generic Web Search System Architecture
• backend data centers processing search
queries & generating responses
• front-end edge servers (CDN)
handling search query delivery
 Google: deploy its own CDN
 Bing: utilized Akamai CDN
(it now also builds its own CDN)
 Amazon and Facebook have also
built its own CDNs
University of Minnesota | Networking Lab
Cloud Content Distribution
request
reply
ISP
CP2
data
centers
CP1
data centers
media
players
CDN2 & its
servers
CDN1 & its
servers
IS
P
ISP users
-- vast, complex networked systems spanning
large geographically dispersed areas
-- scale out with user demands; meet user QoE
Web: from simple client-server
model for file downloads
 Cloud Computing + CDNs
University of Minnesota | Networking Lab
Network Architecture with Edge Computing?
-- Content-Centric Perspective
 Making content “first-class” citizen on the Internet?
 currently, specified by a URL, thus tied to “hostname”
 DNS resolution is (generally) content (or server load) oblivious
 e.g., Akamai employs sophisticated mechanisms for DNS resolution
 cache miss may occur and re-direction may be needed
 either done either internally or externally
 Does any of the proposed NSF FIA architectures fit the bill?
 e.g., NDN (named data network) architecture?
 So far, both YouTube and Netflix scale well with the growth in
videos and users
• Scalability of either video delivery system is ultimately limited by the CDN
infrastructure(s): whether Google’s own or big 3 CDNs
 Must account for or accommodate “business interests”
 Economic viability is critical to the success of any system architecture!
 content providers (CPs) & end users are two most key players in the content
distribution ecosystem!
University of Minnesota | Networking Lab
Better handling the diversity and complexity associated with
multimedia (and other dynamic & composite) content
For example, video object is composite
no single namespace can fit it all
Need for Content providers (CPs) to have a larger say in
provisioning and dynamically distributing content
e.g., deploy their own load balancing/cache management policies
Take into account the network economics of content delivery to
make the ICN design economically viable
Future EC Net Architecture Design Requirements
# 10
University of Minnesota | Networking Lab
Two basic tenets underlying all ICN designs:
1. Content is the first-class object
2. Content storage should be part of the network
substrate
But, we put forth a third tenet:
3. One must not dictate how the namespace for
content is designed for all content providers
- so as to enable a scalable, robust, economically
viable, and evolvable ICN architecture
CONIA: A New ICN Architecture
# 11
University of Minnesota | Networking Lab
CP Controller A
CP Controller B
Client Content Player
CSR
CSR
CP A’s CSR
CP B’s CSR
Unused CSR
CONIA: Content Delivery Architecture
# 12
 An open and standardized control framework APIs used
for interaction between the components.
We focus on the design and implementation of CSR
 Three key components
Content Store and Routing elements (CSR)
- Generic, programmable, and shared resources
- Offered/owned by third party entities (or CPs)
CP Controller
- Content-provider (CP) specific
- Provision & manage CSRs
Client Content Player
- Generic or CP-specific software
- Allows users to interact with CP Controller and CSRs
University of Minnesota | Networking Lab
An (architectural) framework for building and managing ICN-based
“software-defined” content distribution (edge computing) networks
 decompose CDN (“edge computing”) operations into “microservices” to
realize several primitive functions (or basic building blocks) associated
with CDN (edge computing) operations
 Microservices can be composed to form (larger & new) services
“dynamically” to realize CDN (edge computing) functions & policies
Design Goals
 Modularity, Compositionality and Velocity
✧ Enable basic building blocks to evolve to meet changing app. needs
✧ Modularity does not imply compositionality: must ensure correctness
under various operational contexts & environments
OpenCDN
# 13
University of Minnesota | Networking Lab
An (architectural) framework for building and managing ICN-based
“software-defined” content distribution networks.
 decompose CDN operations into “microservices” to realize several
primitive functions (or basic building blocks) associated with CDN
operations
 Microservices can be composed to form (larger & new) services
“dynamically” to realize CDN functions & policies
Design Goals
 Modularity, compositionality and velocity
 Scalability and Availability
✧ “Auto-scale” (via replication/parallelization) individual microservices
✧ Minimize impact of failures of one microservice on another;
re-run failed microservices
OpenCDN
# 14
University of Minnesota | Networking Lab
An (architectural) framework for building and managing ICN-based
“software-defined” content distribution networks.
 decompose CDN operations into “microservices” to realize several
primitive functions (or basic building blocks) associated with CDN
operations
 Microservices can be composed to form (larger & new) services
“dynamically” to realize CDN functions & policies
Design Goals
 Modularity, Compositionality and Velocity
 Scalability, Availability and Performance
✧ take advantage of multi-core servers, multi-server cluster/clouds &
hardware supports (DPDK, RDMA, NetFPGA & other hardware
accelerators)
OpenCDN
# 15
University of Minnesota | Networking Lab
An (architectural) framework for building and managing ICN-
based “software-defined” content distribution networks.
 decompose CDN operations into “microservices” to realize several
primitive functions (or basic building blocks) associated with CDN
operations
 Microservices can be composed to form (larger & new) services
“dynamically” to realize CDN functions & policies
Design Goals
 Modularity, Compositionality and Velocity
 Scalability, Availability and Performance
 Mobility (of end users/devices & service points)
✧ Adapting to end device/user mobility; Moving microservices from one
place to another; enable dynamic load balancing and fault tolerance
OpenCDN
# 16
University of Minnesota | Networking Lab
OpenCDN : Abstracting CSR Operations
# 17
Decompose CSR Operations into a set a building blocks or
modules or primitive operations
Each building block has a well-defined behavior and I/O specs
Maybe stateless, but often stateful operations
 This is where most design challenges lie
University of Minnesota | Networking Lab
OpenCDN Building Blocks
# 18
Decomposing CDN Operations into its primitive operations
a la building blocks of OpenCDN
Example 1: A PARSER module’s job is to parse the incoming
raw byte stream and construct an intent-specific object
PARSER
raw byte stream intent-specific object
University of Minnesota | Networking Lab
OpenCDN Building Blocks
# 19
Decomposing CDN Operations into its primitive operations
a la building blocks of OpenCDN
Example 1: A PARSER module’s job is to parse the incoming
raw byte stream and construct an “intent-specific” object
PARSER
raw byte stream intent-specific object
(end-user FETCH
requests)
extract content_id
CL_LOOKUP object
ContentProvider
configures
Parsing Logic
control message
Pattern
Matching
(filter function)
University of Minnesota | Networking Lab
OpenCDN Building Blocks
# 20
Decomposing CDN Operations into its primitive operations
a la building blocks of OpenCDN
Example 2: A ContentLookup module checks if a requested
object is cached or not (requires to maintain state)
ContentLookup
lookup requests
CL_LOOKUP object
Content
Store
Table
InMemory
Read
Disk
Read
Remote
Fetch
ContentStatistics
stats-update
University of Minnesota | Networking Lab
OpenCDN Building Blocks
Decomposing CDN Operations into its primitive operations
a la building blocks of OpenCDN
Parser
ContentLookup
InMemory
Read
DiskRead
PendingRequest
LoadBalancer
ContentStatistics
Caching
InMemoryEvict
DiskWrite
ForwardTo
Controller
RemoteCSRFetch
ReturnObject
SwarmMonitor
ForwardTo
CSR
ContentCache
MissLookup
Transcoding
# 21
University of Minnesota | Networking Lab
Ongoing Work
Programming Model: Actor Model & Reactive Functional
Programming
Runtime System (incorporated w/ DPDK)
Ongoing & Future Work
# 22
University of Minnesota | Networking Lab
Programming Model:
functional reactive programming using distributed actor model
Basic Design Principle:
 every OpenCDN’s primitive function implemented as an actor encapsulates its
behavior and internal state information with pattern matching capabilities
Key Properties:
 Strongly typed language
 Asynchronous Message Passing between (distributed) actors
 Actor Monitoring; Configure Actor Behavior at runtime; Concurrent
Framework; Actors are Location-transparent; Fault tolerant
programming w/ high-level abstractions
OpenCDN Programming Model
# 23
University of Minnesota | Networking Lab
Actors: universal primitive operations for concurrent
computations
 Maintains its own private state, send/receive messages, makes local
decisions; can create other actors, supervise/monitor them;
The Actor Model
# 24
Actor
Model
mailbox
state
University of Minnesota | Networking Lab
We are building our own runtime system to provide the following
services:
 Efficient Transport Services
Remote actor discovery services; using HW accelerators such as DPDK
 can also be extended to incorporate NetFPGA, RDMA, NVM, etc.
 Actor Lifecycle & Middleman Services
spawning local/remote actors; actor initiations; actor placement services; actor
migration;
 Resource Management
Actor monitoring services, Scheduler-related tasks, etc.
 Application Logic Services
Execution of control logic code
 Fault Tolerance, Data Replication & Consistency Services
OpenCDN Runtime
# 25
University of Minnesota | Networking Lab
Near-Future Work
Complete OpenCDN’s architecture design and API specs; as well
as its runtime system
Implement key primitive operations such as FETCH and
RemoteFETCH operations
Initial auto-scaling/auto-recovery experiments
Future Work
Develop a domain-specific language for CPs
CP Controller’s initial design and development
Ongoing & Future Work
# 26
University of Minnesota | Networking Lab
Thank you
Questions?

More Related Content

Similar to opencdn_iecco18.pptx

Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
 
Scientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & FutureScientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & Futurestratuslab
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingAnimesh Chaturvedi
 
OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3Robert Grossman
 
Cloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesCloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesAmit Shaw
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Towards-cloud-native-HPC.pdf
Towards-cloud-native-HPC.pdfTowards-cloud-native-HPC.pdf
Towards-cloud-native-HPC.pdfWalid Shaari
 
key research challenges in cloud computing
key research challenges in cloud computingkey research challenges in cloud computing
key research challenges in cloud computingIgnacio M. Llorente
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewCisco DevNet
 
Cloud Module 1.pptx
Cloud Module 1.pptxCloud Module 1.pptx
Cloud Module 1.pptxJohn Veigas
 
Data to Consumer : end to end middleware capabilities
Data to Consumer : end to end middleware capabilitiesData to Consumer : end to end middleware capabilities
Data to Consumer : end to end middleware capabilitiesAsanka Abeysinghe
 
ZT: CDN_tutorial_adcom
ZT: CDN_tutorial_adcomZT: CDN_tutorial_adcom
ZT: CDN_tutorial_adcomwish
 
35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...INFOGAIN PUBLICATION
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsAraf Karsh Hamid
 
CONTENT DELIVERY NETWORK
CONTENT DELIVERY NETWORK CONTENT DELIVERY NETWORK
CONTENT DELIVERY NETWORK Saif Muttair
 

Similar to opencdn_iecco18.pptx (20)

Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
 
Distributed system.pptx
Distributed system.pptxDistributed system.pptx
Distributed system.pptx
 
Scientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & FutureScientific Cloud Computing: Present & Future
Scientific Cloud Computing: Present & Future
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3
 
Content Delivery Networks
Content Delivery NetworksContent Delivery Networks
Content Delivery Networks
 
Cloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesCloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for Libraries
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Towards-cloud-native-HPC.pdf
Towards-cloud-native-HPC.pdfTowards-cloud-native-HPC.pdf
Towards-cloud-native-HPC.pdf
 
key research challenges in cloud computing
key research challenges in cloud computingkey research challenges in cloud computing
key research challenges in cloud computing
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
 
Cloud Module 1.pptx
Cloud Module 1.pptxCloud Module 1.pptx
Cloud Module 1.pptx
 
Data to Consumer : end to end middleware capabilities
Data to Consumer : end to end middleware capabilitiesData to Consumer : end to end middleware capabilities
Data to Consumer : end to end middleware capabilities
 
ZT: CDN_tutorial_adcom
ZT: CDN_tutorial_adcomZT: CDN_tutorial_adcom
ZT: CDN_tutorial_adcom
 
Cdn tutorial adcom
Cdn tutorial adcomCdn tutorial adcom
Cdn tutorial adcom
 
35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...35 content distribution with dynamic migration of services for minimum cost u...
35 content distribution with dynamic migration of services for minimum cost u...
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Cloud Computing Basics
Cloud Computing BasicsCloud Computing Basics
Cloud Computing Basics
 
CONTENT DELIVERY NETWORK
CONTENT DELIVERY NETWORK CONTENT DELIVERY NETWORK
CONTENT DELIVERY NETWORK
 
A210105
A210105A210105
A210105
 

Recently uploaded

Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Pooja Nehwal
 
Call Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile serviceCall Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile servicerehmti665
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一ga6c6bdl
 
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》o8wvnojp
 
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一C SSS
 
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一C SSS
 
Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...
Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...
Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...Pooja Nehwal
 
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service GayaGaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service Gayasrsj9000
 
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls KolkataCall Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Alambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service LucknowAlambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service Lucknowmakika9823
 
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...Suhani Kapoor
 
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRReal Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRdollysharma2066
 
Thane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call GirlsThane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call GirlsPooja Nehwal
 
如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一
如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一
如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一ga6c6bdl
 
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...ranjana rawat
 

Recently uploaded (20)

Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
 
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Bhavna Call 7001035870 Meet With Nagpur Escorts
 
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
 
Call Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile serviceCall Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile service
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
 
Low rate Call girls in Delhi Justdial | 9953330565
Low rate Call girls in Delhi Justdial | 9953330565Low rate Call girls in Delhi Justdial | 9953330565
Low rate Call girls in Delhi Justdial | 9953330565
 
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
 
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一
 
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
 
Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...
Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...
Kalyan callg Girls, { 07738631006 } || Call Girl In Kalyan Women Seeking Men ...
 
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service GayaGaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
 
CIVIL ENGINEERING
CIVIL ENGINEERINGCIVIL ENGINEERING
CIVIL ENGINEERING
 
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls KolkataCall Girls Service Kolkata Aishwarya 🤌  8250192130 🚀 Vip Call Girls Kolkata
Call Girls Service Kolkata Aishwarya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Alambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service LucknowAlambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service Lucknow
 
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
 
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRReal Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
 
Thane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call GirlsThane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call Girls
 
如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一
如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一
如何办理(UCLA毕业证书)加州大学洛杉矶分校毕业证成绩单留信学历认证原版一比一
 
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
 

opencdn_iecco18.pptx

  • 1. University of Minnesota | Networking Lab OpenCDN: An ICN Based Open Content Distribution System Using Distributed Actor Model April 16, 2018 IECCO (co-located with IEEE INFOCOM) 2018, Honolulu, HI Arvind Narayanan, Eman Ramadan, Zhi-Li Zhang Department of Computer Science & Engineering University of Minnesota, Minneapolis, USA
  • 2. University of Minnesota | Networking Lab Why OpenCDN? Success of Internet: Cloud Content Distribution & CDN (Content-Centric) Internet Architecture with Edge Computing? CONIA: Content-provider Oriented Namespace Independent Architecture OpenCDN: Design Goals Modularity, Scalability, Velocity & Mobility Ongoing & Future Work Programming Model: Actor Model & Reactive Functional Programming Runtime System (incorporated w/ DPDK) (Declarative) Language Outline # 2
  • 3. University of Minnesota | Networking Lab Success of Today’s Intenet # 3 Today’s Internet can be primarily characterized by its success as a (human-centric, content-oriented) information delivery platform  Web access, search engine, e-commerce, social networking, multimedia (music/video) streaming, cloud storage, … – users search for and interact with websites (or “content”), or interact with other users; – users consume or generate information – static vs. dynamic content  Rise of web (and HTTP) – coupled with emergence of mobile technologies – led to cloud computing and CDNs – Huge data centers with massive compute and storage capacities to store information, process user requests and generate content they desire – CDNs with geographically distributed edge servers to “scale out” and facilitate “speedier” information delivery
  • 4. University of Minnesota | Networking Lab Content Distribution Ecosystem ISP CP2 data centers CP1 data centers media players CDN2 & its servers CDN1 & its servers ISP ISP users  Multiple major entities involved! content providers (CPs), content distribution networks (CDNs), ISPs and of course, end systems & users some entities may assume multiple roles Complex business relationships: sometimes cooperative, but often competitive
  • 5. University of Minnesota | Networking Lab Static Content Distribution: 5 YouTube as a Case Study: world’s largest video sharing site • User interaction with content (e.g., search for a video) is separated from video delivery • Employs a combination of various “tricks” and mechanisms to scale with YouTube size & handle video delivery dynamics
  • 6. University of Minnesota | Networking Lab Static Content Distribution: 6 Netflix as a Case Study: “first” large-scale cloud-sourcing success  Has its own “data center” for certain crucial operations (e.g., user registration, …)  Most web-based user-video interaction, computation/storage operations are cloud-sourced to Amazon AWS  Users need to use MS Silverlight or other players for video streaming  Video delivery was/is partly out/cloud-sourced to 3 CDNs;  but now most utilizes its “own” OpenConnect boxes placed at participating ISPs, forming its own CDN OpenConnect CDN
  • 7. University of Minnesota | Networking Lab Front-End (FE) Servers (Edge Cloud/CDN) Back-end (BE) Data Centers Dynamic Content Distribution  Web search as (dynamic) content delivery – e-commerce, social networking services have similar architectures response contains both static content (e.g., banner, css files) and dynamically generated search response (dynamic content)  User QoE metric: end-to-end search response time (SRT)  Generic Web Search System Architecture • backend data centers processing search queries & generating responses • front-end edge servers (CDN) handling search query delivery  Google: deploy its own CDN  Bing: utilized Akamai CDN (it now also builds its own CDN)  Amazon and Facebook have also built its own CDNs
  • 8. University of Minnesota | Networking Lab Cloud Content Distribution request reply ISP CP2 data centers CP1 data centers media players CDN2 & its servers CDN1 & its servers IS P ISP users -- vast, complex networked systems spanning large geographically dispersed areas -- scale out with user demands; meet user QoE Web: from simple client-server model for file downloads  Cloud Computing + CDNs
  • 9. University of Minnesota | Networking Lab Network Architecture with Edge Computing? -- Content-Centric Perspective  Making content “first-class” citizen on the Internet?  currently, specified by a URL, thus tied to “hostname”  DNS resolution is (generally) content (or server load) oblivious  e.g., Akamai employs sophisticated mechanisms for DNS resolution  cache miss may occur and re-direction may be needed  either done either internally or externally  Does any of the proposed NSF FIA architectures fit the bill?  e.g., NDN (named data network) architecture?  So far, both YouTube and Netflix scale well with the growth in videos and users • Scalability of either video delivery system is ultimately limited by the CDN infrastructure(s): whether Google’s own or big 3 CDNs  Must account for or accommodate “business interests”  Economic viability is critical to the success of any system architecture!  content providers (CPs) & end users are two most key players in the content distribution ecosystem!
  • 10. University of Minnesota | Networking Lab Better handling the diversity and complexity associated with multimedia (and other dynamic & composite) content For example, video object is composite no single namespace can fit it all Need for Content providers (CPs) to have a larger say in provisioning and dynamically distributing content e.g., deploy their own load balancing/cache management policies Take into account the network economics of content delivery to make the ICN design economically viable Future EC Net Architecture Design Requirements # 10
  • 11. University of Minnesota | Networking Lab Two basic tenets underlying all ICN designs: 1. Content is the first-class object 2. Content storage should be part of the network substrate But, we put forth a third tenet: 3. One must not dictate how the namespace for content is designed for all content providers - so as to enable a scalable, robust, economically viable, and evolvable ICN architecture CONIA: A New ICN Architecture # 11
  • 12. University of Minnesota | Networking Lab CP Controller A CP Controller B Client Content Player CSR CSR CP A’s CSR CP B’s CSR Unused CSR CONIA: Content Delivery Architecture # 12  An open and standardized control framework APIs used for interaction between the components. We focus on the design and implementation of CSR  Three key components Content Store and Routing elements (CSR) - Generic, programmable, and shared resources - Offered/owned by third party entities (or CPs) CP Controller - Content-provider (CP) specific - Provision & manage CSRs Client Content Player - Generic or CP-specific software - Allows users to interact with CP Controller and CSRs
  • 13. University of Minnesota | Networking Lab An (architectural) framework for building and managing ICN-based “software-defined” content distribution (edge computing) networks  decompose CDN (“edge computing”) operations into “microservices” to realize several primitive functions (or basic building blocks) associated with CDN (edge computing) operations  Microservices can be composed to form (larger & new) services “dynamically” to realize CDN (edge computing) functions & policies Design Goals  Modularity, Compositionality and Velocity ✧ Enable basic building blocks to evolve to meet changing app. needs ✧ Modularity does not imply compositionality: must ensure correctness under various operational contexts & environments OpenCDN # 13
  • 14. University of Minnesota | Networking Lab An (architectural) framework for building and managing ICN-based “software-defined” content distribution networks.  decompose CDN operations into “microservices” to realize several primitive functions (or basic building blocks) associated with CDN operations  Microservices can be composed to form (larger & new) services “dynamically” to realize CDN functions & policies Design Goals  Modularity, compositionality and velocity  Scalability and Availability ✧ “Auto-scale” (via replication/parallelization) individual microservices ✧ Minimize impact of failures of one microservice on another; re-run failed microservices OpenCDN # 14
  • 15. University of Minnesota | Networking Lab An (architectural) framework for building and managing ICN-based “software-defined” content distribution networks.  decompose CDN operations into “microservices” to realize several primitive functions (or basic building blocks) associated with CDN operations  Microservices can be composed to form (larger & new) services “dynamically” to realize CDN functions & policies Design Goals  Modularity, Compositionality and Velocity  Scalability, Availability and Performance ✧ take advantage of multi-core servers, multi-server cluster/clouds & hardware supports (DPDK, RDMA, NetFPGA & other hardware accelerators) OpenCDN # 15
  • 16. University of Minnesota | Networking Lab An (architectural) framework for building and managing ICN- based “software-defined” content distribution networks.  decompose CDN operations into “microservices” to realize several primitive functions (or basic building blocks) associated with CDN operations  Microservices can be composed to form (larger & new) services “dynamically” to realize CDN functions & policies Design Goals  Modularity, Compositionality and Velocity  Scalability, Availability and Performance  Mobility (of end users/devices & service points) ✧ Adapting to end device/user mobility; Moving microservices from one place to another; enable dynamic load balancing and fault tolerance OpenCDN # 16
  • 17. University of Minnesota | Networking Lab OpenCDN : Abstracting CSR Operations # 17 Decompose CSR Operations into a set a building blocks or modules or primitive operations Each building block has a well-defined behavior and I/O specs Maybe stateless, but often stateful operations  This is where most design challenges lie
  • 18. University of Minnesota | Networking Lab OpenCDN Building Blocks # 18 Decomposing CDN Operations into its primitive operations a la building blocks of OpenCDN Example 1: A PARSER module’s job is to parse the incoming raw byte stream and construct an intent-specific object PARSER raw byte stream intent-specific object
  • 19. University of Minnesota | Networking Lab OpenCDN Building Blocks # 19 Decomposing CDN Operations into its primitive operations a la building blocks of OpenCDN Example 1: A PARSER module’s job is to parse the incoming raw byte stream and construct an “intent-specific” object PARSER raw byte stream intent-specific object (end-user FETCH requests) extract content_id CL_LOOKUP object ContentProvider configures Parsing Logic control message Pattern Matching (filter function)
  • 20. University of Minnesota | Networking Lab OpenCDN Building Blocks # 20 Decomposing CDN Operations into its primitive operations a la building blocks of OpenCDN Example 2: A ContentLookup module checks if a requested object is cached or not (requires to maintain state) ContentLookup lookup requests CL_LOOKUP object Content Store Table InMemory Read Disk Read Remote Fetch ContentStatistics stats-update
  • 21. University of Minnesota | Networking Lab OpenCDN Building Blocks Decomposing CDN Operations into its primitive operations a la building blocks of OpenCDN Parser ContentLookup InMemory Read DiskRead PendingRequest LoadBalancer ContentStatistics Caching InMemoryEvict DiskWrite ForwardTo Controller RemoteCSRFetch ReturnObject SwarmMonitor ForwardTo CSR ContentCache MissLookup Transcoding # 21
  • 22. University of Minnesota | Networking Lab Ongoing Work Programming Model: Actor Model & Reactive Functional Programming Runtime System (incorporated w/ DPDK) Ongoing & Future Work # 22
  • 23. University of Minnesota | Networking Lab Programming Model: functional reactive programming using distributed actor model Basic Design Principle:  every OpenCDN’s primitive function implemented as an actor encapsulates its behavior and internal state information with pattern matching capabilities Key Properties:  Strongly typed language  Asynchronous Message Passing between (distributed) actors  Actor Monitoring; Configure Actor Behavior at runtime; Concurrent Framework; Actors are Location-transparent; Fault tolerant programming w/ high-level abstractions OpenCDN Programming Model # 23
  • 24. University of Minnesota | Networking Lab Actors: universal primitive operations for concurrent computations  Maintains its own private state, send/receive messages, makes local decisions; can create other actors, supervise/monitor them; The Actor Model # 24 Actor Model mailbox state
  • 25. University of Minnesota | Networking Lab We are building our own runtime system to provide the following services:  Efficient Transport Services Remote actor discovery services; using HW accelerators such as DPDK  can also be extended to incorporate NetFPGA, RDMA, NVM, etc.  Actor Lifecycle & Middleman Services spawning local/remote actors; actor initiations; actor placement services; actor migration;  Resource Management Actor monitoring services, Scheduler-related tasks, etc.  Application Logic Services Execution of control logic code  Fault Tolerance, Data Replication & Consistency Services OpenCDN Runtime # 25
  • 26. University of Minnesota | Networking Lab Near-Future Work Complete OpenCDN’s architecture design and API specs; as well as its runtime system Implement key primitive operations such as FETCH and RemoteFETCH operations Initial auto-scaling/auto-recovery experiments Future Work Develop a domain-specific language for CPs CP Controller’s initial design and development Ongoing & Future Work # 26
  • 27. University of Minnesota | Networking Lab Thank you Questions?