P2P Applications - rishiheerasing.net
Download
Report
Transcript P2P Applications - rishiheerasing.net
P2P Applications
Agenda
Instant Messaging
File Sharing
Collaborative Community
IP Telephony
High Performance Computing
Search Engines
Video & Audio Casting
CAN5105
2
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
3
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
4
Instant Messaging Architecture
The authentication process in a
basic architecture works as
follows:
CAN5105
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 enduser 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- 5
users.
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
6
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
7
Collaborative Community
Document 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
8
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
9
Groove
CAN5105
10
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
11
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
12
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
13
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 analogto-digital converter. It takes the analog signal from
your traditional phone and converts it into digital
data for transmission over the Internet.
CAN5105
14
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
15
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
16
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
17
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 = State
555 = City
1212 = 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
18
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
19
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
20
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
21
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
22
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
23
High Performance Computing
CAN5105
24
Search Engines
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.
CAN5105
25
Search Engines
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.
CAN5105
26
Search Engines
Minerva Project – by the Max Plank Institut (MPI) in Germany.
CAN5105
27
Search Engines
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.
CAN5105
28
Video & Audio Cast
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.
CAN5105
29
Video & Audio Cast
The creators of Kazaa and Skype, have worked
on such a project called Joost.
CAN5105
30
References
Skype: http://www.skype.com
Joost: http://www.joost.com
SETI@home:
http://setiathome.berkeley.edu
Faroo: http://www.faroo.com
Minerva Project: http://www.mpiinf.mpg.de
Groove: http://office.microsoft.com/enus/groove/
CAN5105
31