Download presentation
Presentation is loading. Please wait.
Published byNikhil Farabee Modified over 9 years ago
1
X stream Project proposal
2
Project goals: Students Students: Academic Supervisor Academic Supervisor: Advisors: Developing and Implementing a large scale P-2-P scalable streaming protocol BarakSchlosserAmiadStern Barak Schlosser, Amiad Stern Prof. Danny Dolev Danny Bickson, Elan Pavlov 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
2.The depth of the tree can be large tree can be large causing some causing some users to wait a users to wait a long period of long period of time for the data. time for the data. There are some disadvantages in those protocols:
7
2.The depth of the tree can be large tree can be large causing some causing some users to wait a users to wait a long period of long period of time for the data. time for the data. There are some disadvantages in those protocols:
8
3. When a user from one of the from one of the upper levels of upper levels of the tree the tree disconnects, a disconnects, a lot of changes lot of changes are needed. are needed. There are some disadvantages in those protocols:
9
protocols: 3. When a user from one of the from one of the upper levels of upper levels of the tree the tree disconnects, a disconnects, a lot of changes lot of changes are needed. 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
Protocol Design: connect connect... servers - 2 virtual servers. - Connect and get users list. - Start downloading data from users on list using ‘ Julia ’ (Animate)
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
Protocol Design: There are no assumptions taken regarding to users connecting time.... First.... Next time frame... And so on... (Animate)
14
A bottleneck can arise due to lack of users holding needed data … Protocol Design: 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
Protocol Design: servers First time frame Next time frame Connect … (Animate)
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. - Coping with real time constraints. - Testing the protocol on a large distributed network (Planetlab). network (Planetlab). - Testing on a heterogeneous LAN with no delays.
20
Expected challenges: - Learning and using one of the newest video protocols – MPEG2,MPEG4 (divx). - Challenging existing streaming protocols - Building a working prototype in C++ and not just a simulation. - Engineering challenges like assembly and disassembly of video into frames. - Developing a streaming protocol that enables user to choose desired offset
21
Milestones: Learning phase (1 month) - Video protocols – MPEG, MPEG4. - Video protocols – MPEG, MPEG4. - Studying existing streaming and large scale content distribution network protocols. - Studying existing streaming and large scale content distribution network protocols. - Learning the details of Julia algorithm. - Learning the details of Julia algorithm. - Finding appropriate open source video players with programmable API. - 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. - Formulating and proving the correctness of the algorithm. - Designing and implementing the UsersServer: - 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: - 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: - 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: - Users download of content from other users: - Managing local bitmap indicating existing pieces and missing ones. - Handling other users bitmaps and sending desired content pieces. - Identify ‘ emergency situation ’ and solve it by downloading from the server or connecting ‘ closest ’ user.
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) - Comparing results with current protocols. - Improving results by changing different parameters values. - Gathering protocol statistics (server workload, user’s additional work etc.) Planetlab workspace (~4 weeks)
28
Division of labor: Developing the algorithm: Amiad: - Formulating and proving the correctness of the algorithm. - Formulating and proving the correctness of the algorithm. - UsersServer designing and implementation. - UsersServer designing and implementation. - ContentServer designing and implementation. - ContentServer designing and implementation. - Keeping a constant ratio between different ‘ users group ’. - Keeping a constant ratio between different ‘ users group ’.
29
- Learning video codecs. - Learning video codecs. - Finding open source API for showing the video and splitting into frames. - Finding open source API for showing the video and splitting into frames. Division of labor: Developing the algorithm: Amiad:
30
Division of labor: Developing the algorithm: Barak: - Formulating and proving the correctness of the algorithm. - Formulating and proving the correctness of the algorithm. - User’s connection to the system (user side). - User’s connection to the system (user side). - User’s content management and downloading. - User’s content management and downloading.
31
Division of labor: Testing and improving: Amiad: - Testing different user connection scenarios. - Testing different user connection scenarios. - Build the application that uses the protocol. - Build the application that uses the protocol. - Testing on Planetlab – connections, locating the data. - Testing on Planetlab – connections, locating the data.
32
Division of labor: Testing and improving: Barak: - Testing different user parameters – buffer size, bandwidth etc. - Testing different user parameters – buffer size, bandwidth etc. - Testing on Planetlab – data transfer. - Testing on Planetlab – data transfer. - Testing and improving performance comparing to current streaming protocols. - Testing and improving performance comparing to current streaming protocols.
33
Success criteria: - Creating one of the first truly distributed streaming solution. - Creating one of the first truly distributed streaming solution. - Comparing performance to current streaming protocols in server workload and scalability. - Comparing performance to current streaming protocols in server workload and scalability.
34
Success criteria: - Workload is divided equally between all users - Reducing server workload - Developing a streaming protocol that enables viewing of different streaming offsets
35
Thank you THE END
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.