p2p applications. can51052 instant messaging file sharing collaborative community ip telephony ...
TRANSCRIPT
P2P Applications
CAN5105 2
Instant Messaging File SharingCollaborative CommunityIP TelephonyHigh Performance ComputingSearch EnginesVideo & Audio Casting
Agenda
CAN5105 3
Instant Messaging
Instant Messaging enables secure, real-time communication and collaboration, combining presence awareness with instant messaging capabilities such as chat, alerts, polls, and file transfers to create a rich collaborative environment.
These features enable one-to-one as well as group collaboration through either short-lived communications or persistent venues such as conference rooms or news channels.
CAN5105 4
Instant Messaging Core Components
Instant Messenger Resources (client). A set of files that makes up the client program for end users to initiate, compose, and reply to messages. Typically users also use the client to participate in conferences.
Instant Messaging Server. An electronic message delivery system that supports instant message delivery from one system to another system. The server serves the presence information to Instant Messenger clients, enables end-users to establish sessions, and enforces policies.
Instant Messaging Multiplexer. A scalability component that consolidates messenger connections. To support large deployments, with thousands of concurrent connections, Instant Messaging uses a connection multiplexer to improve server scalability.
Access, Communication, and Transfer Protocols. These protocols, such as LDAP, HTTP, TCP/IP, and SMTP, etc…
CAN5105 5
Instant Messaging ArchitectureThe authentication process in a
basic architecture works as follows:
1. End user accesses the IM applet URL from a browser and chooses a method to invoke the client. (If Java-based)
2. The browser invokes the Java plug-in. (If java-based)
3. The plug-in downloads the necessary IM resource files and starts IM interface.
4. The login window appears and the end-user enters username & password. The login data is sent to the IM server through the multiplexor.
5. The IM server communicates with the LDAP server to authenticate the end user and to request end-user info, such as subscriptions, contact lists.
6. When the end-user authentication is complete, the IM main menu appears, displaying the contact list for the end-user. The end user can now start and participate in Instant Messaging sessions with the other end-users.
CAN5105 6
Instant Messaging Client
(originally GAIM)
Pidgin is an open-source, multi-platform, multi-protocol Instant Messaging client that allows you to use all of your IM accounts at once.
Support for AIM, MSN, Yahoo! Messenger, Google Talk, ICQ, IRC, etc…
Pidgin can log in to multiple accounts on multiple IM networks simultaneously. This means that you can be chatting with friends on AIM, talking to a friend on Yahoo Messenger, and sitting in an IRC channel all at the same time.
Pidgin supports many features of the various networks, such as file transfer, away messages, and typing notification. Ability to notify you, send a message, play a sound, or run a program when a specific buddy goes away, signs online, or returns from idle.
CAN5105 7
File Sharing
The various generations of P2P file-sharing applications:
1st Gen: Napster (centralised file list identifying peers which have data)
2nd Gen: Gnutella, Kazaa, emule (supernodes held DHT)
3rd Gen: Freenet, I2P, Entropy (anonymity built-in) 4th Gen: Peercast, Sopcast (streaming content using
BitTorrent swarming technology)
CAN5105 8
Collaborative CommunityDocument sharing and collaboration is really
important for businesses and academia. These issues have tried to be solved by internal portals and collaboration servers. E.g. Microsoft SharePoint
However the information has to be up to date and with portals this wasn't always possible. P2P collaboration broke that barrier, by using peoples computer resources instead of a centralized server.
CAN5105 9
Groove Groove is desktop software designed to facilitate collaboration and
communication among small groups. It is a Windows-based commercial product.
The central Groove paradigm is the shared workspace, a set of files to be shared plus some aids for group collaboration. A Groove user creates a workspace and then invites other Groove users into it. Each person who responds to an invitation becomes a member of that workspace and is sent a copy of the workspace that is installed on his or her hard drive. All data is encrypted both on disk and over the network. This local copy avoids the physical distance between the user and his data.
In other words, a workspace is the private virtual location where users who are members interact and collaborate. Groove keeps track of the changes (called delta) being made and keeps all the copies synchronized via the network in a P2P manner instantaneously.
Groove uses a proprietary protocol, named Simple Symmetric Transmission Protocol, to exchange the deltas, over TCP port 2492. When any one member makes a change to the workspace, it is sent to all users and documents are automatically updated. If that member is offline at the time the change is made, the change is queued and synchronized to other workspace members; when the member comes back online, the user's copy is updated.
CAN5105 10
Groove
CAN5105 11
Wiki
A wiki is computer software that allows users to easily edit, create, and link web pages. Wikis are often used to create collaborative websites, power community websites, and are increasingly being installed by businesses to provide affordable and effective Intranets.
Ward Cunningham, developer of the first wiki, WikiWikiWeb, originally described it as "the simplest online database that could possibly work".
One of the best-known wikis is Wikipedia.
CAN5105 12
Edutella
Edutella is a peer to peer network for searching semantic web metadata. Hence, apart from many other p2p networks the data, e.g. files, are not actually shared in the network rather than the information that describes what the data is about, i.e. the metadata. Edutella is not a single network, rather it enables various systems to form networks for exchange of metadata according to semantic web standards.
CAN5105 13
IP Telephony, VoIP, Internet Telephony
In its basic form, allows the routing of voice conversations over the Internet or through any other IP-based network.
Voice over IP protocols carry telephony signals as digital audio, typically reduced in data rate using data compression techniques, encapsulated in a data packet stream over IP.
CAN5105 14
IP Telephony, VoIP, Internet Telephony
There are currently three ways of making a VoIP phone call:
ATA: The simplest and most common way is through the use of a device called an ATA (Analog Telephone Adaptor). The ATA allows you to connect a standard phone to your computer or your Internet connection for use with VoIP. The ATA is an analog-to-digital converter. It takes the analog signal from your traditional phone and converts it into digital data for transmission over the Internet.
CAN5105 15
IP Telephony, VoIP, Internet Telephony
IP Phones - These specialized phones look just like normal phones with a handset, cradle and buttons. But instead of having the standard RJ-11 phone connectors, IP phones have an RJ-45 Ethernet connector. IP phones connect directly to your router and have all the hardware and software necessary right onboard to handle the IP call. Wi-Fi phones allow subscribing callers to make VoIP calls from any Wi-Fi hot spot.
CAN5105 16
IP Telephony, VoIP, Internet Telephony
Computer-to-Computer - This is certainly the easiest way to use VoIP. You don't even have to pay for long-distance calls. There are several companies offering free or very low-cost software that you can use for this type of VoIP. All you need is the software, a microphone, speakers via a sound card and an Internet connection, preferably a broadband one. Except for your normal monthly ISP fee, there is usually no charge for computer-to-computer calls, no matter the distance.
CAN5105 17
IP Telephony, VoIP, Internet Telephony
CODEC - which stands for coder-decoder, converts an audio signal into a compressed digital form for transmission and then back into an uncompressed audio signal for replay.
Codecs accomplish the conversion by sampling the audio signal several thousand times per second. For instance, a G.729A codec has a sampling rate of 8,000 times per second and is the most commonly used codec in VoIP. It is a compromised balance between sound quality and efficiency of bandwidth.
CAN5105 18
IP Telephony, VoIP, Internet Telephony
How about Routing ??? E.164 is the name given to the standard for the North
American Numbering Plan (NANP), this is the numbering system that phone networks use to know where to route a call based on the numbers entered into the phone keypad like an address: (313) 555-1212
313 = State555 = City1212 = Street address
The problem with VoIP is that IP-based networks don't read phone numbers based on NANP. They look for IP addresses, which look more like this: 192.158.10.7
CAN5105 19
IP Telephony, VoIP, Internet Telephony
To make matters worse, IP addresses are often dynamic.
So the challenge with VoIP is figuring out a way to translate NANP phone numbers to IP addresses and then finding out the current IP address of the requested number. This is the mapping process handled by a central call processor running a soft switch.
CAN5105 20
IP Telephony, VoIP, Internet Telephony
The central call processor is a piece of hardware running a specialized database/mapping program called a soft switch. Consider the phone or computer associated with a user as one endpoint. The soft switch connects endpoints.
Soft switches know:
Where the endpoint is on the network What phone number is associated with that endpoint The current IP address assigned to that endpoint
CAN5105 21
High Performance Computing
High Performance Computing (Grid/Hive computing) is important for scientific research or for large companies.
P2P plays a role in enabling high performance computing. Sharing of resources like computation power, network bandwidth, and disk space will benefit from P2P.
CAN5105 22
High Performance Computing
Hive computing is similar - it is where millions of computers connecting to the internet can form a super computer, if it is successfully managed.
One of the popular projects is SETI@HOME (Search for ExtraTerrestrial Intelligence), which enables users to search for extraterrestrial intelligence.
It is a voluntary project with more than 3.3 million users in 226 countries - it has used 796,000 years of CPU time and analyzed 45 Terabytes of data in just two and a half years of operation.
CAN5105 23
High Performance Computing
The SETI@home distributed computing software runs either as a screensaver or continuously while a user works, making use of idle processor power.
The initial software platform, now referred to as "SETI@home Classic", ran from 17 May 1999 to 15 December 2005. This program was only capable of running SETI@home; it was replaced by Berkeley Open Infrastructure for Network Computing (BOINC), which also allows users to contribute to other distributed computing projects at the same time as running SETI@home.
CAN5105 24
High Performance Computing
CAN5105 25
In the late 90's, a search engine company Google changed the way we search the Internet. The idea was to index the web and get the top results, using their now famous Page Rank algorithm. However nowadays, indexing the web accurately has become a huge and seemingly impossible job to complete. So P2P search engines could be the next solution - where every node (user) is a crawler itself.
Search Engines
CAN5105 26
In P2P search (a.k.a. distributed search), each individual connected to the network serves its local index as a source of search. Instead of having a central company and a central server, each participant of the network is a search repository. If we are talking about web indexing and searching, a user's internet cache might be their contribution to the search database. When they execute a query, first their local system is queried; than if the results are not satisfactory, the next peer is queried, and so on.
Search Engines
CAN5105 27
Minerva Project – by the Max Plank Institut (MPI) in Germany.
Search Engines
CAN5105 28
FAROO is an universal web search engine based on P2P technology. The users are connecting their computers, building a worldwide, distributed web search engine. No centralized index and crawler are required anymore. Every web page visited is automatically included in the distributed index of the p2p search engine. The ranking of search results is based on a distributed usage statistics of the web pages visited by FAROO users.
Search Engines
CAN5105 29
The impact of video and audio web sites on the Internet has been very large over the last couple of years - and will only increase. Therefore there has been talk of moving video streaming to P2P networks, to lessen the load on the Internet. A P2P approach for video streaming would be to hold a copy of a file in different parts of the world and serve it from multiple points to users.
Video & Audio Cast
CAN5105 30
The creators of Kazaa and Skype, have worked on such a project called Joost.
Video & Audio Cast
CAN5105 31
References
Skype: http://www.skype.comJoost: http://www.joost.comSETI@home: http://setiathome.berkeley.eduFaroo: http://www.faroo.comMinerva Project: http://
www.mpi-inf.mpg.deGroove: http://office.microsoft.com
/en-us/groove/