P2p for collaborative communities
This presentation is the property of its rightful owner.
Sponsored Links
1 / 40

P2P for Collaborative Communities PowerPoint PPT Presentation


  • 73 Views
  • Uploaded on
  • Presentation posted in: General

P2P for Collaborative Communities. Project supervisor: prof. Andrzej [email protected] Authors: Tomasz [email protected] Wojciech [email protected] Agenda (1). Project goals Requirements for our system

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


P2p for collaborative communities

P2P for Collaborative Communities

Project supervisor:

prof. Andrzej [email protected]

Authors:

Tomasz [email protected]

Wojciech [email protected]


Agenda 1

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


Agenda 2

Agenda (2)

  • Our concept of the system

  • Future work

  • Work done

  • References

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Project goals

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


Requirements 1

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


Requirements 2

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


P2p file sharing

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


State of the art in fs protocols

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


Bittorent protocol

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


State of the art in fs programmes

State of the art in FS programmes

File sharing programs

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Azureus

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


Sip 1

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


Sip 2

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:[email protected]

  • 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


Sip architecture

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


P2p sip

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


Xmpp 1

- 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


Xmmp 2

- 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


State of the art in messengers

State of the art in messengers

* This compilation contains onlysolutions fulfilling our previously mentioned requirements

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Sip communicator

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


Sip communicator features

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


Sip communicator used technologies

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


Sip communicator design

SIP-Communicator: design

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Our concept of the system 1

Integrate Azureus with SIP-Communicator

Our concept of the system (1)

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Our concept of the system 2

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


Possible solutions 1

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


Possible solutions 2

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


Possible solutions 3

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


Possible solutions 4

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


Possible solutions 5

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


Possible solutions 6

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


Prototype implementation

Prototype implementation

  • Integration of Azureus and SIP-Communicator

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Enhancements

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


Difficulties encountered

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


Difficulties encountered 2

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


Difficulties encountered 3

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


Future work 1

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


Future work 2

Future work (2)

  • Ontology provide domain taxonomy

  • Authors and LO can be described with properties and relationships

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


Work done

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


References

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


P2p for collaborative communities

  • Thank you for you attention

  • Questions?

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG


  • Login