Sharing Big Buck Bunny in XIA By Stephen Brown and Ben Bramble - - PowerPoint PPT Presentation
Sharing Big Buck Bunny in XIA By Stephen Brown and Ben Bramble - - PowerPoint PPT Presentation
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
Streaming Video in XIA
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.
XIA for Internet Evolution Video projected to dominate traffic Current IP based off Old Demands Framework Exists, Limited Apps
Streaming Video in XIA
Chunk
XIA Content Centric Architecture Existing Client/Server & Video Server Apps
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 Our Video Topology
HID0 HID1
R0 R1 AD0 AD1
HID3
R3 AD3
HID2
R2 AD2
HID4 HID5 HID6 HID7
SID SID SID SID
HID0 HID1
R0 R1 AD0 AD1 Default XIA Topology Files to change
- Multiple
xsockconf.ini
- Hosts.allow
- Address file
- Click Topology
- Initiate different
daemons for each node
Streaming Video in XIA Request CIDs 0:50 Return {CID0…CID49} Request CID0 Request CID1 Return Chunk0 Return Chunk1 Step 1 Step 3 Step 2 Step 4 Video Client
- Plays Video
CID Directory Server
- Accepts Connections
- Returns Lists of CIDs
- Could be Replaced by Out-of-Band means
Content Server
- Uploads Videos to
Content Cache
- Removes Chunks after
Some Time
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 15 30 65 Time (Sec) 1 2 3 CIDServer Content Server Client 4 5 6 1)CIDServer starts 2)ContentServer1 starts 3)Client starts 4)ClientServer2 starts 5)ClientServer1 fails 6)ClientServer2 fails Events Our Video Topology
HID0 HID1
R0 R1 AD0 AD1
HID3
R3 AD3
HID2
R2 AD2
HID4 HID5 HID6 HID7
SID SID SID SID
Streaming Video in XIA Are you Alive? Bind() Listen() Connect() No {0,6} No #7 XIA Strengths Over IP Other Option: Application Layer Developer has flexibility with DAG’s and Intent
Streaming Video in XIA
HID0 HID1
R0 R1 AD0 AD1
HID2
R2 AD2
AD0 AD1 AD2 AD3 Single VM
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
Client Migration Out of the VM GUI + User Services Example Network Package instead
- f a Script
Additional Get Chunk Response