1 / 40

P2P for Collaborative Communities

P2P for Collaborative Communities. Project supervisor: prof. Andrzej Duda Andrzej.Duda@imag.fr Authors: Tomasz Bartyński tomasz.bartynski@imag.fr Wojciech Eliasz wojciech.eliasz@imag.fr. Agenda (1). Project goals Requirements for our system

hua
Download Presentation

P2P for Collaborative Communities

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. P2P for Collaborative Communities Project supervisor: prof. Andrzej Duda Andrzej.Duda@imag.fr Authors: Tomasz Bartyński tomasz.bartynski@imag.fr Wojciech Eliasz wojciech.eliasz@imag.fr

  2. Agenda (1) • Project goals • Requirements for our system • State-of-the-art in file sharing and VOIP protocols and programs • Bittorrent+Azureus and SIP+jabber+SipCommunicator as starting points for our project Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  3. Agenda (2) • Our concept of the system • Future work • Work done • References Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  4. Project goals • Support E-Learning by providing user with means to: • Share Learning Objects in a P2P environment • Describe and search LOs • Create communities interested in one specific domain • Communicate within the community Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  5. Requirements (1) • Use standard, reliable protocols and technologies • Portability (Windows/Linux/Mac Os) • Open source • Remain compatible with standard clients Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  6. Requirements (2) • Privacy and security (ability to work in Virtual Private Network established by Hamachi) • No spyware/addware • Legal issues • Speed of file transfers is not crucial (size of Learning Objects files are expected to be relatively small) Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  7. P2P File Sharing • Nodes (peers) are equal and act both as a client and a server • Networks are established ad hoc • P2P networks compared to client-server model • Enable better resource utilization • Provide higher reliability • Reduce the cost of bandwidth and hardware Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  8. State of the art in FS protocols • Most popular protocols • Bittorent • E-Donkey • FastTrack • Many others (please refer to project documentation) Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  9. Bittorent protocol • Enables distribution of large amounts of data • Reduces hardware, hosting and bandwidth expenses • Eliminates single point of failure - .torrent (includes meta data about content and tracker address) Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  10. State of the art in FS programmes File sharing programs Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  11. Azureus • Implemented in Java and published under GNU General Public License • Cross-platform • One of the most popular Bittorent client • Can be easily extended by adding plugins Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  12. SIP (1) • Application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. • Signaling protocol just like H.225, H.245 and RTSP • Open standard designed by IETF and described in several RFCs • SIP doesn’t work alone, Session Description Protocol is used to describe session information and RTP/RTCP protocols are used for media transfer Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  13. SIP (2) • Messages are delivered in plain text with syntax similar to HTTP and SMTP • Sip user identifier is similar to e-mail address e.g. sip:eliasz@agh.edu.pl • Phone number format is also possible e.g. sip:+48126178350 • SIP is able to localize users, verify users presence, check users terminal parameters, creation of sessions and modification of sessions Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  14. SIP architecture • UA – User Agent – represents end user • Redirect Server – maps addresses to other addresses, redirects clients to different locations • Proxy - intermediate element redirects requests, can modify SIP messages • Registar Server – stores register messages from clients , maps sip identifiers to physical addresses • Location Server – used to find current location of user, used by redirect servers and proxies Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  15. P2P-SIP • P2P approach reduces need for centralized servers • Approach suitable for small organizations without internet connection • SIPpeer acts as a SIP User Agent, proxy and registar server • Information is shared between peers using Distributed Hash Table Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  16. - XMPP (1) • An open, XML-based protocol for near-real-time, extensible instant messaging (IM) and presence information • Based on open standards, developed by IETF • Users have identifiers similar to mail addresses Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  17. - XMMP (2) • IETF defined set of extensions - XEPs (XMPP Extension Protocol) to standard funcionality • Jingle – p2p signaling protocol for multimedia interactions designed by Google and XMPP Standards Foundation • libjingle used by GoogleTalk has been released to public Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  18. State of the art in messengers * This compilation contains onlysolutions fulfilling our previously mentioned requirements Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  19. SIP-Communicator • SIP Communicator is an open source (LGPL) Audio/Video software phone and instant messenger. Among SIP Communicator is completely Open Source / Free Software, and is freely available under the terms of the GNU Lesser General Public License. • The SIP Communicator was originally created by Emil Ivov who was at the time a student at the Louis Pasteur University in Strasbourg, France • Google Summer of Code 2007 participants are developing new features of SIP-Communicator Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  20. SIP-Communicator: features • Audio and Video calls with SIP • Instant Messaging with Jabber, ICQ/AIM, Yahoo! Msngr and MSN • IPv6 support for SIP and Jabber • Support for multiple accounts and meta contacts • Basic NAT & Firewall Traversal with STUN • Modularity, extensibility and flexibility with OSGi • Platform specific installers for Windows, Debian, Fedora and Mac OS X Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  21. SIP-Communicator: used technologies • Apache Felix - an OSGI implementation by Apache • growl - A Mac OS X notification daemon. • jain-sip - SIP protocol stack • java-jml - An implementation of the MSN protocol • dnsjava - An implementation of DNS for Java • jspeex - A java implementation of the speex audio codec. • jYMSG - YMSG Java API - Yahoo Instant Messenger Support for Java. • smack - An open source jabber stack for Java by Jive Software. • stun4j - An implementation of the STUN Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  22. SIP-Communicator: design Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  23. Integrate Azureus with SIP-Communicator Our concept of the system (1) Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  24. Our concept of the system (2) • LOs are distributed in P2P network with Azureus • Azureus provides information about peers sharing learning object • SIP and Jabber communication is performed using Sip-communicator • Special protocol is implemented to provide sip and jabber contacts distribution between peers • Contacts are stored in Sip-Communicator • Connection between Azureus and Sip-Communicator is managed by special facade implemented as OSGi bundle Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  25. Possible solutions (1) • Modify peer id • Include tracker jabber and SIP addresses in .torrent metafile • Modify HTTP request to include communication addresses • Modify peers handshake • Obtain communication IDs from communicator and send it to all peers downloading specific Learning Object Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  26. Possible solutions (2) • Peer ID • 20-byte string • Azureus uses:'-', two characters for client id, four ascii digits for version number, '-', followed by random numbers • Nor Jabber ID nor SIP address can included Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  27. Possible solutions (3) • Include communication addresses in metafile • Implemented as an additional property • While publishing new content addresses of the publisher are added to .torrent file • Remains compatible with standard client (additional entry in dictionary will be omitted) Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  28. Possible solutions (4) • Modify http request • Request are processed by external trackers, embedded trackers and peers • Difficult to implement • Requires modifications in various parts of Azureus Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  29. Possible solutions (5) • Modify peers handshake • The handshake is a required message and must be the first message transmitted by the client. • Handshake has a fixed size and syntax: <pstrlen><pstr><reserved><info_hash><peer_id> and can not be changed Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  30. Possible solutions (6) • Obtain communication IDs from communicator and send it to all peers downloading specific Learning Object • XEP-0093 or XEP-0144 • Our implementation of contacts exchange Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  31. Prototype implementation • Integration of Azureus and SIP-Communicator Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  32. Enhancements • Include version information in peer id • Consider various policies of distributing contacts • Compose SIP-Communicator into Azureus view Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  33. Difficulties encountered • Azureus code being underdevelopment • Version 3.0 uses core of version 2.5 • Version 2.5 tries to create GUI of version 3.0 • Version 3.0 was not released for Linux platform • SIP-Communicator combined with Azureus constitutes a project with over 3,400 source files • Technical documentation of Azureus code is not published Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  34. Difficulties encountered (2) • Azureus has many authors who use different programming practices • SIP-Communicator is build upon OSGI framework and Azureus not • Programs use different GUI libraries (Swing and SWT) Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  35. Difficulties encountered (3) • Sip-Communicator is still in alpha version, and has a lot of bugs • OSGi has sophisticated class loader system which makes maintenance of bundles relationships time consuming and error prone Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  36. Future work (1) • Use ontologies to describe and search Learning Objects • Create a classification of scientific domains, Learning Objects, authors etc. • Starting point • OWL (Web Ontology Language) is a good candidate to be used • Protégé • Racer reasoning engine Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  37. Future work (2) • Ontology provide domain taxonomy • Authors and LO can be described with properties and relationships Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  38. Work done • State of the art in FS and VOIP • Azureus and SIP-Communicator investigation • Implementation • Research and ideas for enriching project with ontologies Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  39. References • Azureus home page http://azureus.sourceforge.net/ • Bittorrent http://en.wikipedia.org/wiki/BitTorrent • SIP-Communicator http://www.sip-communicator.org/ • SIP http://en.wikipedia.org/wiki/Session_Initiation_Protocol • Jabber http://www.jabber.org/ • Please refer to project documentation for more materials Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

  40. Thank you for you attention • Questions? Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

More Related