31
P2P Applications

P2P Applications. CAN51052 Instant Messaging File Sharing Collaborative Community IP Telephony High Performance Computing Search Engines

Embed Size (px)

Citation preview

Page 1: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

P2P Applications

Page 2: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

CAN5105 2

Instant Messaging File SharingCollaborative CommunityIP TelephonyHigh Performance ComputingSearch EnginesVideo & Audio Casting

Agenda

Page 3: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 4: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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…

Page 5: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 6: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 7: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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)

Page 8: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 9: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 10: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

CAN5105 10

Groove

Page 11: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 12: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 13: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 14: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 15: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 16: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 17: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 18: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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

Page 19: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 20: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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

Page 21: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 22: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 23: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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.

Page 24: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

CAN5105 24

High Performance Computing

Page 25: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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

Page 26: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  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

Page 27: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

CAN5105 27

Minerva Project – by the Max Plank Institut (MPI) in Germany.

Search Engines

Page 28: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  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

Page 29: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  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

Page 30: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

CAN5105 30

The creators of Kazaa and Skype, have worked on such a project called Joost.

Video & Audio Cast

Page 31: P2P Applications. CAN51052  Instant Messaging  File Sharing  Collaborative Community  IP Telephony  High Performance Computing  Search Engines

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/