SlideShare a Scribd company logo
1 of 31
Download to read offline
MetaCDN: Creating a ā€˜Cloud
 Storageā€™ Mashup for High
  Performance, Low Cost
     Content Delivery
Dr. James Broberg (brobergj@csse.unimelb.edu.au)
     http://www.csse.unimelb.edu.au/~brobergj

            http://www.metacdn.org
Content Delivery
   Networks (CDNs)
ā€¢ What is a CDN?
 ā€¢ Content Delivery Networks (CDNs) such as
    Akamai, Mirror Image and Limelight place
    web server clusters in numerous
    geographical locations to improve the
    responsiveness and locality of the content it
    hosts for end-users.
Existing CDN
          providers
ā€¢ Akamai is the clear leader in coverage and
  market share (approx. 80%)
  ā€¢ Price is prohibitive for SME, NGO, Gov...
  ā€¢ Anecdotally 2āˆ’15 times more expensive
    than Cloud Storage, and require 1āˆ’2 year
    commitments and min. data use (10TB+)
ā€¢ Academic CDNs include Coral, Codeen,
  Globule....
  ā€¢ No SLA / QoS provided, only ā€˜best effortā€™
Storage Clouds
           ā€˜Storage as a Serviceā€™

 Now!



Late ā€˜08


 ??????
SaaS Comparison
Introducing MetaCDN
ā€¢ What if we could create a low-cost, high
  performance overlay CDN using these
  storage clouds?
  ā€¢ Exploit the strengths and coverage
    footprints of multiple providers
  ā€¢ Cherry pick providers based on
    customers QoS needs / cost budget
  ā€¢ MetaCDN provides this while hiding the
    complexity from users
How MetaCDN works
        AmazonS3Connector                                                          NirvanixConnector
createFolder(foldername, location)             DefaultConnector           createFolder(foldername, location)
deleteFolder(foldername)             DEPLOY_USA                           deleteFolder(foldername)
createFile(ļ¬le, foldername,          DEPLOY_EU                            createFile(ļ¬le, foldername,
           location, date)           DEPLOY_ASIA                                      location, date)
createFile(ļ¬leURL, foldername,       DEPLOY_AUS                           createFile(ļ¬leURL, foldername,
           location, date)           createFolder(foldername, location)
                                                                                      location, date)
renameFile(ļ¬lename, newname,         deleteFolder(foldername)
                                                                          renameFile(ļ¬lename, newname,
           location) throws          createFile(ļ¬le, foldername,
                                                                                      location)
     FeatureNotSupportedException                location, date)
                                                                          createTorrent(ļ¬le) throws
createTorrent(ļ¬le)                   createFile(ļ¬leURL, foldername,
                                                                               FeatureNotSupportedException
createTorrent(ļ¬leURL)                            location, date)
                                                                          createTorrent(ļ¬leURL) throws
deleteFile(ļ¬le, location)            renameFile(ļ¬lename, newname,
                                                                               FeatureNotSupportedException
listFilesAndFolders()                            location)
                                                                          deleteFile(ļ¬le, location)
deleteFilesAndFolders()              createTorrent(ļ¬le)
                                                                          listFilesAndFolders()
                                                                          deleteFilesAndFolders()
                                     createTorrent(ļ¬leURL)
           <<exception>>             deleteFile(ļ¬le, location)
  FeatureNotSupportedException       listFilesAndFolders()
FeatureNotSupportedException(msg)    deleteFilesAndFolders()
How MetaCDN works
    Amazon S3 &                                            Mosso Cloud                                        Shared/Private
                             Nirvanix SDN                                                   Coral CDN
     CloudFront                                             Files CDN                                             Host




                                                                                                            WebDAVConnector
   JetS3t toolkit           Nirvanix SDK                Cloud Files SDK                                    Java stub
   Java SDK                 Java SDK                    Java SDK                                           MetaCDN.org
   Open Source              Nirvanix, Inc               Mosso, Inc                                            SCPConnector
                                                                                                           Java stub
                                                                                                           MetaCDN.org
 AmazonS3Connector        NirvanixConnector           CloudFilesConnector                CoralConnector        FTPConnector
Java stub               Java stub                    Java stub                        Java stub            Java stub
MetaCDN.org             MetaCDN.org                  MetaCDN.org                      MetaCDN.org          MetaCDN.org


                                                            MetaCDN

                          MetaCDN             MetaCDN QoS                MetaCDN                MetaCDN
                          Manager                Monitor                 Allocator              Database

                             Web Portal                  Load Redirector                    Web Service
                     Java (JSF/EJB) based portal   Random redirection                SOAP Web Service
                     Support HTTP POST             Geographical redirection          RESTful Web Service
                     New/view/modify deployment    Least cost redirection            Programmatic access
MetaCDN Manager
ā€¢ The MetaCDN Manager ensures that:
 ā€¢ All current deployments are meeting
    QoS targets (where applicable)
 ā€¢ Replicas are removed when no longer
    required (minimising cost)
 ā€¢ A usersā€™ budget has not been exceeded,
    by tracking usage (i.e. storage/download)
MetaCDN QoS
         Monitor
ā€¢ The MetaCDN QoS Monitor:
 ā€¢ Tracks the performance of participating
    providers at all times
 ā€¢ Monitors and records throughput and
    response time from a variety of locations
 ā€¢ Ensures that upstream providers are
    meeting their Service Level Agreements
MetaCDN Allocator
ā€¢ The MetaCDN Allocator allows users to
  deploy ļ¬les either directly or from a public
  origin URL, with the following options:
 ā€¢ Maximise coverage and performance
 ā€¢ Deploy content in speciļ¬c locations
 ā€¢ Cost optimised deployment
 ā€¢ Quality of Service (QoS) optimised
MetaCDN Database

MetaCDN   1              0:M      CDN        1            1    CDN
                has                               for
  User                         Credentials                    Provider

 1                                                        1     1

                                                 hosted
  has                                                            has
                                                   by
                                             M
 1                                                             M
          1   deployed   0:M   MetaCDN                        Coverage
Content          as             Replica                       locations
MetaCDN Web Portal
ā€¢ Developed using Java Enterprise and Java
  Server Faces (JSF) technologies
ā€¢ MySQL back-end to store persistent data
ā€¢ Web portal acts as the entry point to the
  system and application-level load balancer
ā€¢ Most suited for small or ad-hoc
  deployments, and especially useful for less
  technically inclined content creators.
MetaCDN Web Service
ā€¢ Makes all functionality available via Web
  Services (SOAP & REST/HTTP)
  ā€¢ Web interface is useful for novices and
    for ad-hoc deployments, but doesnā€™t scale
  ā€¢ Larger customers have 1,000ā€™s - 10,000 -
    100,000s of ļ¬les that need deployment
  ā€¢ Let them automate their deployment and
    management via Web Services!
  ā€¢ Perfect for Mashup developers!!!
MetaCDN Load
          Redirector
ā€¢ We have created a uniļ¬ed namespace to
  simply deployment, routing, management
ā€¢ Currently, ļ¬le deployment results in
  multiple URLs, each mapping to a replica
  ā€¢   http://metacdn-eu-user.s3.amazonaws.com/myļ¬le.mp4

  ā€¢   http://metacdn-us-user.s3.amazonaws.com/myļ¬le.mp4

  ā€¢   http://node3.nirvanix.com/MetaCDN/user/myļ¬le.mp4

ā€¢ Single namespace is created for ļ¬ne control
  ā€¢   http://www.metacdn.org/FileMapper?itemid=2
MetaCDN Load
             Redirector (cont.)
MetaCDN end-user                                        DNS Server                  MetaCDN gateway
             Resolve www.metacdn.org

                Return IP of closest MetaCDN gateway,
                www-na.metacdn.org


                              GET http://metacdn.org/MetaCDN/FileMapper?itemid=1

                                                                                                 processRequest ()




                                                                                                geoRedirect ()




                         HTTP 302 Redirect to
                         http://metacdn-us-username.s3.amazonaws.com/ļ¬lename.pdf

          Resolve metacdn-us-username.s3.amazonaws.com                              Amazon S3 USA

         Return IP of metacdn-us-username.s3.amazonaws.com

                      GET http://metacdn-us-username.s3.amazonaws.com/ļ¬lename.pdf

                      Return replica
Redirector Overhead
          1.8
               from USA
                 S3 USA
                MetaCDN
          1.6


          1.4


          1.2


           1
Seconds




          0.8


          0.6


          0.4


          0.2


           0
                0         5   10          15   20   25
                                   Hour
Redirector Overhead
             from Australia
           0.9
                                          Nirvanix SDN #3
                                                 MetaCDN

          0.85



           0.8



          0.75
Seconds




           0.7



          0.65



           0.6



          0.55
                 0   5   10          15        20           25
                              Hour
Evaluating MetaCDN
     performance
ā€¢ Ran tests over 24 hour period (mid-week)
ā€¢ Downloading test replicas (1KB, 10MB) 30
  times per hour, take average and conf. inter.
  ā€¢ 10MB - Throughput, 1KB - Response
    Time
ā€¢ Ran test from 6 locations: Melbourne
  (AUS), Paris (FRA),Vienna (AUT), San
  Diego & New Jersey (USA), Seoul (KOR)
ā€¢ Replicas located across US, EU, ASIA, AUS
Summary of Results -
           Throughput (KB/s)
                S3    S3   SDN   SDN   SDN   SDN   Coral
                US    EU    #1    #2    #3    #4
Melbourne
 Australia
               264.3 389.1 30 366.8 408.5 405.6 173.7
Paris France   703.1 2116 483.8 2948 416.8 1043 530.2
   Vienna
  Austria
               490.7 1347 288.4 2271 211 538.7 453.4
   Seoul
South Korea
               312.8 376.1 466.5 411.9 2456 588.2 152
 San Diego
    USA
               1234 323.5 5946 380.1 506.1 820.4 338.5
New Jersey
    USA
               2381 1949 860.8 967.1 572.8 4230 636.4
Summary of results -
          Response Time (Sec)
                S3    S3   SDN   SDN    SDN   SDN   Coral
                US    EU    #1    #2     #3    #4
Melbourne
 Australia
               1.378 1.458 0.663 0.703 1.195 0.816 5.452
Paris France   0.533 0.2 0.538 0.099 1.078 0.316 3.11
   Vienna
  Austria
               0.723 0.442 0.585 0.099 1.088 0.406 3.171
   Seoul
South Korea
               1.135 1.21 0.856 0.896   1     0.848 3.318
 San Diego
    USA
               0.232 0.455 0.23 0.361 0.775 0.319 4.655
New Jersey
    USA
               0.532 0.491 0.621 0.475 1.263 0.516 1.916
Summary of results
       (cont)
ā€¢ Clients beneļ¬ted greatly from local replicas
ā€¢ Results are consistent in terms of response
  time and throughput with previous studies
  of dedicated CDNs
ā€¢ Back-end providers have sufļ¬cient
  performance and reliability to be used to
  host replicas in the MetaCDN system
MetaCDN features in
planning / development
ā€¢ Support as many providers as possible
 ā€¢ Ensures redundancy, reliability, coverage
    and choice (reduces single vendor lock-
    in)
  ā€¢ Windows Azure Storage Service support
    will be added ASAP.
ā€¢ Other storage & delivery services can be
  rapidly added as they are released....
MetaCDN features in
planning / development
ā€¢ Create Apache module (mod_metacdn) to
  utilise at content origin sites
ā€¢ Module would utilise MetaCDN web
  services to maintain optimal deployment
 ā€¢ Maximise performance during peak load
    via intelligent replica deployment
 ā€¢ Minimise storage cost during periods of
    low demand
Collaborations
ā€¢ Always looking for people to collaborate
  on the project
ā€¢ Work to be done on:
 ā€¢ Load balancing / redirection algorithms
 ā€¢ Intelligent Caching / replication
    algorithms
  ā€¢ Security / Access Control of content
  ā€¢ Improving MetaCDN Web Services
ā€¢ Please contact me if you are interested...
Acknowledgements

ā€¢ Thanks to reviewers for useful feedback.
ā€¢ Australian Research Council (ARC) for
  funding the project.
ā€¢ Cory & Barry (Nirvanix) and Eric
  (Rackspace/Mosso) for development
  support.
Thanks
Latest information will be available at:
www.metacdn.org


International Workshop on Cloud
Computing (Cloud 2009):
http://www.gridbus.org/cloud2009

More Related Content

What's hot

management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactions
Nilu Desai
Ā 
Cloud Mashup
Cloud MashupCloud Mashup
Cloud Mashup
Vasco Elvas
Ā 
Multiplayer Online Gaming
Multiplayer Online GamingMultiplayer Online Gaming
Multiplayer Online Gaming
chetnamistry
Ā 
C11 support for-mobility
C11 support for-mobilityC11 support for-mobility
C11 support for-mobility
Rio Nguyen
Ā 

What's hot (20)

Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
Ā 
Green cloud computing
Green  cloud computingGreen  cloud computing
Green cloud computing
Ā 
Cloud adoption and rudiments
Cloud  adoption and rudimentsCloud  adoption and rudiments
Cloud adoption and rudiments
Ā 
Historical development of cloud computing
Historical development of cloud computingHistorical development of cloud computing
Historical development of cloud computing
Ā 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactions
Ā 
Cloud Mashup
Cloud MashupCloud Mashup
Cloud Mashup
Ā 
Mobile Transport layer
Mobile Transport layerMobile Transport layer
Mobile Transport layer
Ā 
Load balancing in cloud computing.pptx
Load balancing in cloud computing.pptxLoad balancing in cloud computing.pptx
Load balancing in cloud computing.pptx
Ā 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment models
Ā 
Multiplayer Online Gaming
Multiplayer Online GamingMultiplayer Online Gaming
Multiplayer Online Gaming
Ā 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
Ā 
Task programming
Task programmingTask programming
Task programming
Ā 
Mobile computing : Indirect TCP
Mobile computing : Indirect TCPMobile computing : Indirect TCP
Mobile computing : Indirect TCP
Ā 
Green cloud computing
Green cloud computingGreen cloud computing
Green cloud computing
Ā 
Green cloud computing
Green cloud computingGreen cloud computing
Green cloud computing
Ā 
SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle
Ā 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
Ā 
Cloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesCloud Computing - Benefits and Challenges
Cloud Computing - Benefits and Challenges
Ā 
C11 support for-mobility
C11 support for-mobilityC11 support for-mobility
C11 support for-mobility
Ā 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
Ā 

Similar to MetaCDN

MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
James Broberg
Ā 
Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012
Anton Arhipov
Ā 
jclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Colejclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Cole
Everett Toews
Ā 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
devaraj ns
Ā 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
nobby
Ā 
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
James Chen
Ā 
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Anton Arhipov
Ā 

Similar to MetaCDN (20)

MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
Ā 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
Ā 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
Ā 
CRESTCon Asia 2018 - Config Password Encryption Gone Wrong
CRESTCon Asia 2018 - Config Password Encryption Gone WrongCRESTCon Asia 2018 - Config Password Encryption Gone Wrong
CRESTCon Asia 2018 - Config Password Encryption Gone Wrong
Ā 
Discovery Day 2019 Sofia - Big data clusters
Discovery Day 2019 Sofia - Big data clustersDiscovery Day 2019 Sofia - Big data clusters
Discovery Day 2019 Sofia - Big data clusters
Ā 
Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012Rapid java application development @ JUG.ru 25.02.2012
Rapid java application development @ JUG.ru 25.02.2012
Ā 
jclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Colejclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Cole
Ā 
Spring 3.1: a Walking Tour
Spring 3.1: a Walking TourSpring 3.1: a Walking Tour
Spring 3.1: a Walking Tour
Ā 
Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
Ā 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
Ā 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
Ā 
Hidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-PersistenceHidden pearls for High-Performance-Persistence
Hidden pearls for High-Performance-Persistence
Ā 
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
[Hic2011] using hadoop lucene-solr-for-large-scale-search by systex
Ā 
Kerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit eastKerberizing spark. Spark Summit east
Kerberizing spark. Spark Summit east
Ā 
An Engineer's Intro to Oracle Coherence
An Engineer's Intro to Oracle CoherenceAn Engineer's Intro to Oracle Coherence
An Engineer's Intro to Oracle Coherence
Ā 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
Ā 
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Why Doesn't Java Has Instant Turnaround - Con-FESS 2012
Ā 
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and PerformanceApache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Ā 
Java e i database: da JDBC a JPA
Java e i database: da JDBC a JPAJava e i database: da JDBC a JPA
Java e i database: da JDBC a JPA
Ā 
Writing Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason LeeWriting Plugged-in Java EE Apps: Jason Lee
Writing Plugged-in Java EE Apps: Jason Lee
Ā 

More from Cesare Pautasso

More from Cesare Pautasso (20)

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
Ā 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
Ā 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?
Ā 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC Theorem
Ā 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
Ā 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
Ā 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
Ā 
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
Ā 
BPMN for REST
BPMN for RESTBPMN for REST
BPMN for REST
Ā 
SOA with REST
SOA with RESTSOA with REST
SOA with REST
Ā 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of us
Ā 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
Ā 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process Execution
Ā 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service Geografici
Ā 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
Ā 
BPM with REST
BPM with RESTBPM with REST
BPM with REST
Ā 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful Services
Ā 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOpera
Ā 
SOA2010 SOA with REST
SOA2010 SOA with RESTSOA2010 SOA with REST
SOA2010 SOA with REST
Ā 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate Member
Ā 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(ā˜Žļø+971_581248768%)**%*]'#abortion pills for sale in dubai@
Ā 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Ā 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
Finology Group ā€“ Insurtech Innovation Award 2024
Finology Group ā€“ Insurtech Innovation Award 2024Finology Group ā€“ Insurtech Innovation Award 2024
Finology Group ā€“ Insurtech Innovation Award 2024
Ā 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
Ā 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Ā 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Ā 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Ā 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Ā 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Ā 

MetaCDN

  • 1. MetaCDN: Creating a ā€˜Cloud Storageā€™ Mashup for High Performance, Low Cost Content Delivery Dr. James Broberg (brobergj@csse.unimelb.edu.au) http://www.csse.unimelb.edu.au/~brobergj http://www.metacdn.org
  • 2. Content Delivery Networks (CDNs) ā€¢ What is a CDN? ā€¢ Content Delivery Networks (CDNs) such as Akamai, Mirror Image and Limelight place web server clusters in numerous geographical locations to improve the responsiveness and locality of the content it hosts for end-users.
  • 3. Existing CDN providers ā€¢ Akamai is the clear leader in coverage and market share (approx. 80%) ā€¢ Price is prohibitive for SME, NGO, Gov... ā€¢ Anecdotally 2āˆ’15 times more expensive than Cloud Storage, and require 1āˆ’2 year commitments and min. data use (10TB+) ā€¢ Academic CDNs include Coral, Codeen, Globule.... ā€¢ No SLA / QoS provided, only ā€˜best effortā€™
  • 4. Storage Clouds ā€˜Storage as a Serviceā€™ Now! Late ā€˜08 ??????
  • 6. Introducing MetaCDN ā€¢ What if we could create a low-cost, high performance overlay CDN using these storage clouds? ā€¢ Exploit the strengths and coverage footprints of multiple providers ā€¢ Cherry pick providers based on customers QoS needs / cost budget ā€¢ MetaCDN provides this while hiding the complexity from users
  • 7. How MetaCDN works AmazonS3Connector NirvanixConnector createFolder(foldername, location) DefaultConnector createFolder(foldername, location) deleteFolder(foldername) DEPLOY_USA deleteFolder(foldername) createFile(ļ¬le, foldername, DEPLOY_EU createFile(ļ¬le, foldername, location, date) DEPLOY_ASIA location, date) createFile(ļ¬leURL, foldername, DEPLOY_AUS createFile(ļ¬leURL, foldername, location, date) createFolder(foldername, location) location, date) renameFile(ļ¬lename, newname, deleteFolder(foldername) renameFile(ļ¬lename, newname, location) throws createFile(ļ¬le, foldername, location) FeatureNotSupportedException location, date) createTorrent(ļ¬le) throws createTorrent(ļ¬le) createFile(ļ¬leURL, foldername, FeatureNotSupportedException createTorrent(ļ¬leURL) location, date) createTorrent(ļ¬leURL) throws deleteFile(ļ¬le, location) renameFile(ļ¬lename, newname, FeatureNotSupportedException listFilesAndFolders() location) deleteFile(ļ¬le, location) deleteFilesAndFolders() createTorrent(ļ¬le) listFilesAndFolders() deleteFilesAndFolders() createTorrent(ļ¬leURL) <<exception>> deleteFile(ļ¬le, location) FeatureNotSupportedException listFilesAndFolders() FeatureNotSupportedException(msg) deleteFilesAndFolders()
  • 8. How MetaCDN works Amazon S3 & Mosso Cloud Shared/Private Nirvanix SDN Coral CDN CloudFront Files CDN Host WebDAVConnector JetS3t toolkit Nirvanix SDK Cloud Files SDK Java stub Java SDK Java SDK Java SDK MetaCDN.org Open Source Nirvanix, Inc Mosso, Inc SCPConnector Java stub MetaCDN.org AmazonS3Connector NirvanixConnector CloudFilesConnector CoralConnector FTPConnector Java stub Java stub Java stub Java stub Java stub MetaCDN.org MetaCDN.org MetaCDN.org MetaCDN.org MetaCDN.org MetaCDN MetaCDN MetaCDN QoS MetaCDN MetaCDN Manager Monitor Allocator Database Web Portal Load Redirector Web Service Java (JSF/EJB) based portal Random redirection SOAP Web Service Support HTTP POST Geographical redirection RESTful Web Service New/view/modify deployment Least cost redirection Programmatic access
  • 9. MetaCDN Manager ā€¢ The MetaCDN Manager ensures that: ā€¢ All current deployments are meeting QoS targets (where applicable) ā€¢ Replicas are removed when no longer required (minimising cost) ā€¢ A usersā€™ budget has not been exceeded, by tracking usage (i.e. storage/download)
  • 10. MetaCDN QoS Monitor ā€¢ The MetaCDN QoS Monitor: ā€¢ Tracks the performance of participating providers at all times ā€¢ Monitors and records throughput and response time from a variety of locations ā€¢ Ensures that upstream providers are meeting their Service Level Agreements
  • 11. MetaCDN Allocator ā€¢ The MetaCDN Allocator allows users to deploy ļ¬les either directly or from a public origin URL, with the following options: ā€¢ Maximise coverage and performance ā€¢ Deploy content in speciļ¬c locations ā€¢ Cost optimised deployment ā€¢ Quality of Service (QoS) optimised
  • 12. MetaCDN Database MetaCDN 1 0:M CDN 1 1 CDN has for User Credentials Provider 1 1 1 hosted has has by M 1 M 1 deployed 0:M MetaCDN Coverage Content as Replica locations
  • 13. MetaCDN Web Portal ā€¢ Developed using Java Enterprise and Java Server Faces (JSF) technologies ā€¢ MySQL back-end to store persistent data ā€¢ Web portal acts as the entry point to the system and application-level load balancer ā€¢ Most suited for small or ad-hoc deployments, and especially useful for less technically inclined content creators.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. MetaCDN Web Service ā€¢ Makes all functionality available via Web Services (SOAP & REST/HTTP) ā€¢ Web interface is useful for novices and for ad-hoc deployments, but doesnā€™t scale ā€¢ Larger customers have 1,000ā€™s - 10,000 - 100,000s of ļ¬les that need deployment ā€¢ Let them automate their deployment and management via Web Services! ā€¢ Perfect for Mashup developers!!!
  • 19. MetaCDN Load Redirector ā€¢ We have created a uniļ¬ed namespace to simply deployment, routing, management ā€¢ Currently, ļ¬le deployment results in multiple URLs, each mapping to a replica ā€¢ http://metacdn-eu-user.s3.amazonaws.com/myļ¬le.mp4 ā€¢ http://metacdn-us-user.s3.amazonaws.com/myļ¬le.mp4 ā€¢ http://node3.nirvanix.com/MetaCDN/user/myļ¬le.mp4 ā€¢ Single namespace is created for ļ¬ne control ā€¢ http://www.metacdn.org/FileMapper?itemid=2
  • 20. MetaCDN Load Redirector (cont.) MetaCDN end-user DNS Server MetaCDN gateway Resolve www.metacdn.org Return IP of closest MetaCDN gateway, www-na.metacdn.org GET http://metacdn.org/MetaCDN/FileMapper?itemid=1 processRequest () geoRedirect () HTTP 302 Redirect to http://metacdn-us-username.s3.amazonaws.com/ļ¬lename.pdf Resolve metacdn-us-username.s3.amazonaws.com Amazon S3 USA Return IP of metacdn-us-username.s3.amazonaws.com GET http://metacdn-us-username.s3.amazonaws.com/ļ¬lename.pdf Return replica
  • 21. Redirector Overhead 1.8 from USA S3 USA MetaCDN 1.6 1.4 1.2 1 Seconds 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 Hour
  • 22. Redirector Overhead from Australia 0.9 Nirvanix SDN #3 MetaCDN 0.85 0.8 0.75 Seconds 0.7 0.65 0.6 0.55 0 5 10 15 20 25 Hour
  • 23. Evaluating MetaCDN performance ā€¢ Ran tests over 24 hour period (mid-week) ā€¢ Downloading test replicas (1KB, 10MB) 30 times per hour, take average and conf. inter. ā€¢ 10MB - Throughput, 1KB - Response Time ā€¢ Ran test from 6 locations: Melbourne (AUS), Paris (FRA),Vienna (AUT), San Diego & New Jersey (USA), Seoul (KOR) ā€¢ Replicas located across US, EU, ASIA, AUS
  • 24. Summary of Results - Throughput (KB/s) S3 S3 SDN SDN SDN SDN Coral US EU #1 #2 #3 #4 Melbourne Australia 264.3 389.1 30 366.8 408.5 405.6 173.7 Paris France 703.1 2116 483.8 2948 416.8 1043 530.2 Vienna Austria 490.7 1347 288.4 2271 211 538.7 453.4 Seoul South Korea 312.8 376.1 466.5 411.9 2456 588.2 152 San Diego USA 1234 323.5 5946 380.1 506.1 820.4 338.5 New Jersey USA 2381 1949 860.8 967.1 572.8 4230 636.4
  • 25. Summary of results - Response Time (Sec) S3 S3 SDN SDN SDN SDN Coral US EU #1 #2 #3 #4 Melbourne Australia 1.378 1.458 0.663 0.703 1.195 0.816 5.452 Paris France 0.533 0.2 0.538 0.099 1.078 0.316 3.11 Vienna Austria 0.723 0.442 0.585 0.099 1.088 0.406 3.171 Seoul South Korea 1.135 1.21 0.856 0.896 1 0.848 3.318 San Diego USA 0.232 0.455 0.23 0.361 0.775 0.319 4.655 New Jersey USA 0.532 0.491 0.621 0.475 1.263 0.516 1.916
  • 26. Summary of results (cont) ā€¢ Clients beneļ¬ted greatly from local replicas ā€¢ Results are consistent in terms of response time and throughput with previous studies of dedicated CDNs ā€¢ Back-end providers have sufļ¬cient performance and reliability to be used to host replicas in the MetaCDN system
  • 27. MetaCDN features in planning / development ā€¢ Support as many providers as possible ā€¢ Ensures redundancy, reliability, coverage and choice (reduces single vendor lock- in) ā€¢ Windows Azure Storage Service support will be added ASAP. ā€¢ Other storage & delivery services can be rapidly added as they are released....
  • 28. MetaCDN features in planning / development ā€¢ Create Apache module (mod_metacdn) to utilise at content origin sites ā€¢ Module would utilise MetaCDN web services to maintain optimal deployment ā€¢ Maximise performance during peak load via intelligent replica deployment ā€¢ Minimise storage cost during periods of low demand
  • 29. Collaborations ā€¢ Always looking for people to collaborate on the project ā€¢ Work to be done on: ā€¢ Load balancing / redirection algorithms ā€¢ Intelligent Caching / replication algorithms ā€¢ Security / Access Control of content ā€¢ Improving MetaCDN Web Services ā€¢ Please contact me if you are interested...
  • 30. Acknowledgements ā€¢ Thanks to reviewers for useful feedback. ā€¢ Australian Research Council (ARC) for funding the project. ā€¢ Cory & Barry (Nirvanix) and Eric (Rackspace/Mosso) for development support.
  • 31. Thanks Latest information will be available at: www.metacdn.org International Workshop on Cloud Computing (Cloud 2009): http://www.gridbus.org/cloud2009