1 / 35

X stream

X stream. Project proposal. Project goals:. Developing and Implementing a large scale P-2-P scalable streaming protocol. Students :. Barak Schlosser , Amiad Stern. Academic Supervisor :. Prof. Danny Dolev. Advisors:. Danny Bickson , Elan Pavlov. Project ’ s web site:.

aolani
Download Presentation

X stream

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Xstream Projectproposal

  2. Project goals: Developing and Implementing a large scale P-2-P scalable streaming protocol Students: BarakSchlosser , AmiadStern Academic Supervisor: Prof. Danny Dolev Advisors: Danny Bickson , Elan Pavlov Project’s web site: http://www.cs.huji.ac.il/labs/danss/Xstream

  3. Current protocols Many of the articles in this field, rely on trees or multiple parent topologies where the server or servers is multicasting the data to the recipients.

  4. There are some disadvantages in those protocols: 1.They are built in a hierarchal manner causing intermediate tree nodes to work harder in forwarding the data.

  5. There are some disadvantages in those protocols: 1.They are built in a hierarchal manner causing intermediate tree nodes to work harder in forwarding the data.

  6. There are some disadvantages in those protocols: 2.The depth of the tree can be large causing some users to wait a long period of time for the data.

  7. There are some disadvantages in those protocols: 2.The depth of the tree can be large causing some users to wait a long period of time for the data.

  8. There are some disadvantages in those protocols: 3. When a user from one of the upper levels of the tree disconnects, a lot of changes are needed.

  9. There are some disadvantages in those protocols: 3. When a user from one of the upper levels of the tree disconnects, a lot of changes are needed.

  10. We develop a distributed large scale streaming protocol that enables large number of users to log to a streaming content. This protocol reduces the work load on the server and designed to achieve maximal guarantee fairness for all users. Instead of using a structured multicast network we use unstructured peer to peer topology.

  11. (Animate) Protocol Design: servers - 2 virtual servers. connect... - Connect and get users list. - Start downloading data from users on list using ‘Julia’

  12. Protocol Design: The exception to this rule is the first users who download the content from the server in addition for exchanging data between themselves.

  13. (Animate) Protocol Design: There are no assumptions taken regarding to users connecting time.... First.... Next time frame... Next time frame... Next time frame... Next time frame... And so on...

  14. Protocol Design: A bottleneck can arise due to lack of users holding needed data… Next one First time frame Next one

  15. Protocol Design: To solve this problem the server should take care that on connection time the ratio of –‘users demanding data’/‘users holding data’ is constant. The server will manage this ratio by asking some large bandwidth users to virtually simulate 2 users

  16. (Animate) Protocol Design: servers Connect… First time frame Next time frame

  17. Protocol Design: Each user holds 2 different lists of users. Users ahead on stream offset Users downloading from him During the data transmission a gossiping method is used to spread out user’s details. #@$ #@$ #@% #@$

  18. Protocol Design: The ContentServers are being used only for first ‘group’ users and in case a user or ‘group’ has a tight schedule problem. Or…

  19. Expected challenges: - Developing a distributed communication protocol. - Debugging a distributed system. - Coping with real time constraints. - Testing on a heterogeneous LAN with no delays. - Testing the protocol on a large distributed network (Planetlab).

  20. Expected challenges: - Learning and using one of the newest video protocols – MPEG2,MPEG4 (divx). - Engineering challenges like assembly and disassembly of video into frames. - Challenging existing streaming protocols - Developing a streaming protocol that enables user to choose desired offset - Building a working prototype in C++ and not just a simulation.

  21. Milestones: Learning phase (1 month) - Studying existing streaming and large scale content distribution network protocols. - Learning the details of Julia algorithm. - Video protocols – MPEG, MPEG4. - Finding appropriate open source video players with programmable API.

  22. Milestones: Developing the algorithm (3 months) Weeks 1-7: - Formulating and proving the correctness of the algorithm. - Designing and implementing the UsersServer: - Building the database holding the users. - Handling users connection. - Handling gossiping (updating the database). - Ensuring constant ratio between ‘users groups’.

  23. Milestones: Developing the algorithm (3 months) Weeks 1-7: - User connection to the system: - Connection request to the UsersServer. - Designing the local database of the user and updating them as needed. - Gossiping – messages from user to the UsersServer.

  24. Milestones: Developing the algorithm (3 months) Weeks 7-14: - Designing and implementing the ContentServer: - Handling content distribution to the users of the first ‘group’. - Handling specific content pieces.

  25. Milestones: Developing the algorithm (3 months) Weeks 7-14: - Users download of content from other users: - Managing local bitmap indicating existing pieces and missing ones. - Identify ‘emergency situation’ and solve it by downloading from the server or connecting ‘closest’ user. - Handling other users bitmaps and sending desired content pieces.

  26. Milestones: Testing and Deployment (2-3 months) Local network workspace (~2 weeks) - Running local tests. Planetlab workspace (~2 weeks) - Compilation on Planetlab and verifying the code is compatible. - Learning to use Planetlab deployment mechanism.

  27. Milestones: Testing and Deployment (2-3 months) Planetlab workspace (~4 weeks) - Gathering protocol statistics (server workload, user’s additional work etc.) - Comparing results with current protocols. - Improving results by changing different parameters values.

  28. Division of labor: Developing the algorithm: Amiad: - Formulating and proving the correctness of the algorithm. - UsersServer designing and implementation. - ContentServer designing and implementation. - Keeping a constant ratio between different ‘users group’.

  29. Division of labor: Developing the algorithm: Amiad: - Learning video codecs. - Finding open source API for showing the video and splitting into frames.

  30. Division of labor: Developing the algorithm: Barak: - Formulating and proving the correctness of the algorithm. - User’s connection to the system (user side). - User’s content management and downloading.

  31. Division of labor: Testing and improving: Amiad: - Testing different user connection scenarios. - Build the application that uses the protocol. - Testing on Planetlab – connections, locating the data.

  32. Division of labor: Testing and improving: Barak: - Testing different user parameters – buffer size, bandwidth etc. - Testing on Planetlab – data transfer. - Testing and improving performance comparing to current streaming protocols.

  33. Success criteria: - Creating one of the first truly distributed streaming solution. - Comparing performance to current streaming protocols in server workload and scalability.

  34. Success criteria: - Developing a streaming protocol that enables viewing of different streaming offsets - Workload is divided equally between all users - Reducing server workload

  35. Thank you THE END

More Related