2. Why Do We Need This?
• Allowing everyone to host videos and serve them through NDN
testbed
• Hosting all videos on named-data.net website
• Adaptive bit-rate video streaming over NDN
• Short-term goal:
• Real users and traffic over NDN
• Improve/Validate NDN system and its modules
• Long-term goal:
• Turn testbed into an open CDN
3. Overall Design
Visit the website
JS tools & libraries are loaded
as a part of the webpage
1
2
Server
ndnputchunks
3
Fetch the content
upon cache miss
Web Server
AZ Hub
UCLA Hub
Click on video link
• Connect to the closest hub
Interest/Data Exchange
4
Data packets
• Find the closest GW to end user
(use FCH)
• Update the links, accordingly
Announce
Nameprefix
5. Server Side
• Encoder and Packager
• FFmpeg as transcoder (e.g., to generate different resolutions)
• Shaka Packager as DASH packager (recommended by Dash Industry Forum)
• ndnputchunks
• As a short-term workaround
• In future a high-performance repo should be used
• Modifications to ndnputchunks:
• Add Directory Scanning feature (use Unix file system)
• Add explicit version number
6. Client Side
• A modified version of Shaka Player
• NDN functionality is implemented as a new plugin to handle HTTP request/response
• Name Convention
• Use Host name in URL as remote GW
• Use URI path in URL as Interest name
• ndn-js library
• FixedPipline has been implemented and merged
• ndn-js library limitations
• No Content Store w/o installing plugin (i.e., nothing will be cached on client side)
• No FCH w/o installing plugin
• No AIMD pipeline
7. Future Work
• Host videos on named-data.net on AZ site
• Add FCH to ndn-js library
• Is FCH service resilient?
• Implement CS functionality in ndn-js
• Add AIMD pipeline to ndn-js
• An instrumented tool to collect stats on clinet/network/server sides