ActiveCDN on NetServGEC9 presentationNetServ team
Content Distribution NetworksDistributes content requests from user To (hopefully) nearest node in a system of nodes that can serve the contentPreferred method for content providers to host contentContent provider can build/maintain its own CDNMore likely: use an ASP’s CDN and host content thereContent requests are re-routed to the nearest server
CDN Providers and ResearchCDN service providersEstablished players: Akamai, Edgecast, Amazon CloudFrontNew entrants: service providers (AT&T), web hosting companies (The Planet)Self-hosting: YouTube (used Limelight CDN before Google acquisition)Commoditized services…CDN research150,000+ results on CiteSeer for “content delivery network” (Oct 22, 2010)In contrast: “wireless network” = 42,000 resultsViable research area?Search results for “content delivery network”Pageviews/minute handled by Akamai
What do CDNs do today?Very good at: Monitoring network traffic, latency, etc.Proprietary systems, maybe tie-up with network service providersIn 2009: Akamai was sending 5 million traceroute messages on the Internet every 5 minutes to measure latencyAchieving economies of scale through deploying large, homogenous nodes …… at strategic locations around the world“Warehouse positioning” problem: well studiedDetecting closest CDN nodes for incoming requestRe-directing user to that nodeThrough name-based redirection (DNS): Akamai, most othersMessage-based redirection (HTTP redirect): Youtube
Ask server on farm #1Content Provider(e.g. Youtube)How CDNs work todayCDN server farm #1Ask server on farm #1Ask server on farm #2CDN server farm #2??? Might be fastest to serve directly
ActiveCDN and NetServNetServ allows for service programmability at network coreActiveCDN takes advantage of that to:Allow content providers to dynamically deploy in-network CDN nodesDetermine optimal placement of nodes dynamically
ActiveCDN: GEC8 and GEC9GEC9: Basic ideaContent server sees a requestChecks for presence of closest NetServ nodeIf present, redirects to NetServ nodeNetServ node streams/caches first requests; processes itSubsequent requests are served the processed/cached videoOtherwise, content server serves first request directlyTriggers on-path installation of nodeAdds instantiated node to local NetServ database of nodesWhat we showed at GEC8: On-path instantiation/redirection onlyOne NetServ node at a time; no distance metricsLimited watermarking capability
Content Provider(e.g. Youtube)ActiveCDN demo for GEC9Service provider #1 (Utah)ActiveCDNInstall ActiveCDNNode1Location1Ask ActiveCDN nodeNode2Location2Service provider #2 (BBN)ActiveCDNInstall ActiveCDNAsk ActiveCDN node
DemoNetServ router:Installation of module
Stream/download content

ActiveCDN on NetServ

  • 1.
    ActiveCDN on NetServGEC9presentationNetServ team
  • 2.
    Content Distribution NetworksDistributescontent requests from user To (hopefully) nearest node in a system of nodes that can serve the contentPreferred method for content providers to host contentContent provider can build/maintain its own CDNMore likely: use an ASP’s CDN and host content thereContent requests are re-routed to the nearest server
  • 3.
    CDN Providers andResearchCDN service providersEstablished players: Akamai, Edgecast, Amazon CloudFrontNew entrants: service providers (AT&T), web hosting companies (The Planet)Self-hosting: YouTube (used Limelight CDN before Google acquisition)Commoditized services…CDN research150,000+ results on CiteSeer for “content delivery network” (Oct 22, 2010)In contrast: “wireless network” = 42,000 resultsViable research area?Search results for “content delivery network”Pageviews/minute handled by Akamai
  • 4.
    What do CDNsdo today?Very good at: Monitoring network traffic, latency, etc.Proprietary systems, maybe tie-up with network service providersIn 2009: Akamai was sending 5 million traceroute messages on the Internet every 5 minutes to measure latencyAchieving economies of scale through deploying large, homogenous nodes …… at strategic locations around the world“Warehouse positioning” problem: well studiedDetecting closest CDN nodes for incoming requestRe-directing user to that nodeThrough name-based redirection (DNS): Akamai, most othersMessage-based redirection (HTTP redirect): Youtube
  • 5.
    Ask server onfarm #1Content Provider(e.g. Youtube)How CDNs work todayCDN server farm #1Ask server on farm #1Ask server on farm #2CDN server farm #2??? Might be fastest to serve directly
  • 6.
    ActiveCDN and NetServNetServallows for service programmability at network coreActiveCDN takes advantage of that to:Allow content providers to dynamically deploy in-network CDN nodesDetermine optimal placement of nodes dynamically
  • 7.
    ActiveCDN: GEC8 andGEC9GEC9: Basic ideaContent server sees a requestChecks for presence of closest NetServ nodeIf present, redirects to NetServ nodeNetServ node streams/caches first requests; processes itSubsequent requests are served the processed/cached videoOtherwise, content server serves first request directlyTriggers on-path installation of nodeAdds instantiated node to local NetServ database of nodesWhat we showed at GEC8: On-path instantiation/redirection onlyOne NetServ node at a time; no distance metricsLimited watermarking capability
  • 8.
    Content Provider(e.g. Youtube)ActiveCDNdemo for GEC9Service provider #1 (Utah)ActiveCDNInstall ActiveCDNNode1Location1Ask ActiveCDN nodeNode2Location2Service provider #2 (BBN)ActiveCDNInstall ActiveCDNAsk ActiveCDN node
  • 9.
  • 10.
  • 11.
  • 12.
    Serve to enduserClient browserFirst request: served by content server
  • 13.
  • 14.
    Third request: processed/cachedcontentSome background infoWatermarkingDone using Xuggler: Java library with native hooks into FFMPEG, LAME, etc.Weather informationUsing XML feed from weather.gov, which takes latitude/longitude info and returns weather informationUse Java’s XML library and Xpath to get relevant data from feedLocation “hack” for GEC9All IP addresses in demo use private IpsMaxMindGeoIP library is great for public IP geo-location,Fails on private IPs (shouldn’t be a surprise)What we do is use a “translation table”A CSV file that maps private IPs with a real latitude/longitudeWe use this information to get the weather data