Presentation is loading. Please wait.

Presentation is loading. Please wait.

Project supervisor: prof. Andrzej Authors: Tomasz Wojciech P2P.

Similar presentations


Presentation on theme: "Project supervisor: prof. Andrzej Authors: Tomasz Wojciech P2P."— Presentation transcript:

1 Project supervisor: prof. Andrzej Authors: Tomasz Wojciech P2P for Collaborative Communities

2 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG2 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

3 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG3 Agenda (2) Our concept of the system Future work Work done References

4 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG4 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

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

6 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG6 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)

7 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG7 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

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

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

10 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG10 State of the art in FS programmes BittorentE-DonkeyFastTrack AzureusE-Donkey 2000 Kazaa BittorentE-MuleKazaa Lite BitCommetA-MulegiFT File sharing programs

11 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG11 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

12 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG12 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

13 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG13 SIP (2) Messages are delivered in plain text with syntax similar to HTTP and SMTP Sip user identifier is similar to address e.g. Phone number format is also possible e.g. sip: SIP is able to localize users, verify users presence, check users terminal parameters, creation of sessions and modification of sessions

14 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG14 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

15 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG15 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

16 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG16 - 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

17 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG17 - 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

18 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG18 State of the art in messengers NameLicenceProtocolEncryption BitWise IMProprietary freeware / Closed commercial Propertiary protocolBlowfish GizmoProprietary freewareSIP, XMPP, JabberSRTP Google TalkProprietary freeware (libjingle is Free software XMPP, Jabber Lotus SametimeClosed commercialSIP, SIMPLE, H.323 OpenH323MPL free softwareH.323 SIP CommunicatorLGPL free softwareSIP/SIMPLE, Jabber ZoiperFreeware + commercial SIP, RTP, STUN, IAX, IAX2 * This compilation contains only solutions fulfilling our previously mentioned requirements

19 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG19 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

20 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG20 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

21 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG21 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

22 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG22 SIP-Communicator: design

23 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG23 Our concept of the system (1) Integrate Azureus with SIP-Communicator

24 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG24 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

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

26 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG26 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

27 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG27 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)

28 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG28 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

29 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG29 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: and can not be changed

30 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG30 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

31 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG31 Prototype implementation Integration of Azureus and SIP-Communicator

32 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG32 Enhancements Include version information in peer id Consider various policies of distributing contacts Compose SIP-Communicator into Azureus view

33 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG33 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

34 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG34 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)

35 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG35 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

36 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG36 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

37 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG37 Future work (2) Ontology provide domain taxonomy Authors and LO can be described with properties and relationships

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

39 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG39 References Azureus home page Bittorrent SIP-Communicator communicator.org/http://www.sip- communicator.org/ SIP ocol ocol Jabber Please refer to project documentation for more materials

40 14 june 2007 Tomasz Bartynski Wojciech Eliasz p2p-voip LIG40 Thank you for you attention Questions?


Download ppt "Project supervisor: prof. Andrzej Authors: Tomasz Wojciech P2P."

Similar presentations


Ads by Google