p2p for collaborative communities
Download
Skip this Video
Download Presentation
P2P for Collaborative Communities

Loading in 2 Seconds...

play fullscreen
1 / 40

P2P for Collaborative Communities - PowerPoint PPT Presentation


  • 280 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'P2P for Collaborative Communities ' - LeeJohn


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

Authors:

Tomasz Bartyński [email protected]

Wojciech Eliasz [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 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

slide40

Thank you for you attention

  • Questions?

Tomasz Bartynski Wojciech Eliasz p2p-voip LIG

ad