Sharing Big Buck Bunny in XIA By Stephen Brown and Ben Bramble
Video projected to dominate traffic Current IP based off Old Demands Framework Exists, Limited Apps XIA for Internet Evolution Our goal: Create a video streaming app which leverages XIA's strengths (failover, content oriented, intrinsic security of CIDs) to create a product that surpasses what can be done in IP today. Streaming Video in XIA
Content Centric Architecture XIA Existing Client/Server & Video Server Apps Chunk Streaming Video in XIA
• Create a new network to offer richer scenarios • Find the means to play a video • Adapting existing XIA applications such chunk server and video server. • Add functionality (failover, multithreading) • Test in a variety of situations Streaming Video in XIA
Files to change SID • Multiple xsockconf.ini HID3 HID7 • Hosts.allow • Address file • Click Topology R3 Default XIA Topology Our Video Topology • Initiate different AD0 AD1 daemons for each AD3 node R0 R1 AD0 AD1 AD2 HID0 HID1 R0 R1 R2 HID0 HID4 HID1 HID5 HID2 HID6 SID SID SID Streaming Video in XIA
CID Directory Server • Accepts Connections • Returns Lists of CIDs • Could be Replaced by Out-of-Band means Step 2 Step 1 Return Request {CID 0 …CID 49 } CIDs 0:50 Step 3 Content Server Request Request Video Client • Uploads Videos to CID 0 CID 1 • Plays Video Content Cache • Removes Chunks after Step 4 Some Time Return Return Chunk 0 Chunk 1 Streaming Video in XIA
Streaming Video in XIA
• Seamless failover between Content Servers • Application-level failover also supported • Client Migration not yet supported Streaming Video in XIA
SID Time (Sec) HID3 HID7 30 0 15 65 R3 Our Video Topology CIDServer 1 4 5 6 Content AD3 2 Server Client 3 AD0 AD1 AD2 Events 1)CIDServer starts R0 R1 R2 2)ContentServer1 starts 3)Client starts 4)ClientServer2 starts HID0 HID4 HID1 HID5 HID2 HID6 5)ClientServer1 fails 6)ClientServer2 fails SID SID SID Streaming Video in XIA
No {0,6} XIA Strengths Other Option: Are you Over IP Application Layer Alive? No #7 Bind() Listen() Developer has Connect() flexibility with DAG’s and Intent Streaming Video in XIA
GUI + User Services Out of the VM Client Migration AD2 AD3 AD0 AD1 AD2 Single VM R0 R1 R2 HID0 HID1 HID2 AD0 AD1 Example Network Package instead Additional Get Chunk Response of a Script READY_TO_READ if the requested chunk is ready to be read. INVALID_HASH if the CID hash does not match the content payload. WAITING_FOR_CHUNK if the requested chunk is still in transit. REQUEST_FAILED if the specified chunk has not been requested + CONTENT_NOT_FOUND if the CID does not exist at the location Streaming Video in XIA
Recommend
More recommend