Peer-to-Peer (p2p) Computing - PowerPoint PPT Presentation

About This Presentation
Title:

Peer-to-Peer (p2p) Computing

Description:

torrent files are always encrypted for transfer (insures privacy) ... torrent is placed on web server and served as regular file ... – PowerPoint PPT presentation

Number of Views:183
Avg rating:3.0/5.0
Slides: 24
Provided by: dickst
Category:

less

Transcript and Presenter's Notes

Title: Peer-to-Peer (p2p) Computing


1
Peer-to-Peer (p2p) Computing
  • CS-328

2
In the beginning...
  • was the Internet, and the only host computers on
    the Internet were UNIX
  • and all was peaceful and calm (and peer-to-peer,
    by the way)
  • and the UNIX weenies ruled supreme
  • until the Web browser and Web server were
    invented and the Internet became the the
    playground of the masses

3
so where did Client/Server come from ?
  • it was a revenue model developed by networking
    companies (Microsoft, Novell, etc) at the
    insistence of Corporate America
  • easier to manage centralized data centers
  • client/server model fit business applications
  • replace expensive mainframe computers with cheap
    desktop PCs accessing databases on cheap
    (relatively) PCs
  • clients and servers

4
(more)
  • As C/S developed most of the big projects failed
  • databases werent fast enough or scaleable enough
  • solution move the database servers to UNIX (its
    faster) UNIXs networking environment was based
    on TCP/IP so the desktop clients were given a
    TCP/IP stack (enter winsock.dll, Novells DOS
    based stack )
  • the intranet becomes heterogeneous

5
(more)
  • The web browser becomes the GUI of choice for
    corporate America (and elsewhere)
  • cheap
  • on every desktop
  • easy to develop applications with

6
(more...)
  • The Internet and intranets grow like wildfire and
    the Client/Server model becomes the predominate
    application model
  • Corporate America loves it
  • resembles the old data center model
  • centralized data and control over data
  • big servers and server farms

UNTIL.
7
(more)
  • Someone decides they want to be in charge of
    their own data, and exchange it with whoever they
    want to.
  • By the way, this could be done on the original
    Internet because all of the UNIX hosts had FTP
    clients and servers.
  • Enter Peer-to-peer
  • Napster, Gnutella and FreeNet to name a few

8
What is it...
  • Peer-to-peer computing is the sharing of computer
    resources and services by direct exchange between
    systems.
  • These resources and services include the exchange
    of information, processing cycles, cache storage,
    and disk storage for files.
  • Peer-to-peer computing takes advantage of
    existing desktop computing power and networking
    connectivity, allowing economical clients to
    leverage their collective power to benefit the
    entire enterprise.
  • In a peer-to-peer architecture, computers that
    have traditionally been used solely as clients
    communicate directly among themselves and can act
    as both clients and servers, assuming whatever
    role is most efficient for the network.

9
Is this really new?
  • The Original Internet was all P2P
  • Windows for Workgroups (W4W)
  • late 1980s
  • Corporate data centers hated W4W
  • it was unmanageable
  • users loved it they didnt need the data center
  • they could share data with each other
  • they could share their desktop printers
  • IRC (Internet Relay Chat)
  • users thought they were chatting with each other
    (P2P) but under the covers it was really C/S, but
    it helped instill the P2P mindset

10
What is driving P2P?
  • Reduced the load on servers
  • allows them to perform specialized services
    (such as mail-list generation, billing, etc.)
    more effectively
  • can reduce the need for IT organizations to grow
    parts of its infrastructure in order to support
    certain services, such as backup storage.
  • inexpensive computing power
  • unused mips on desktop computers
  • bandwidth
  • and storage.
  • Unused storage on desktop

11
P2P servents/clients of note
  • Napster
  • brokered
  • uses a central server for users to find one
    another but straight P2P to exchange files
  • Gnutella
  • a technology not a specific client
  • old store and forward
  • uses HTTP
  • Freenet
  • anonymous file sharing
  • no central control
  • no easy way to delete a files from the system
  • has its own protocol

12
Gnutella
  • How Gnutella exchanges data

13
Gnutella
HTTP Client
HTTP Client
HTTP Client
HTTP Server
HTTP Server
HTTP Server
14
FreeNet
15
BitTorrent
  • Similar to Gnutella in that files are transferred
    using HTTP or HTTPS
  • Files must be prepared before serving
  • a meta info file is created (.torrent file)
  • .torrent files are always encrypted for transfer
    (insures privacy)
  • contains hashing info for blocks of the file to
    be shared
  • also contains a list of URLs for trackers
  • .torrent is placed on web server and served as
    regular file
  • need to have application/x-bittorrent .torrent
    added to mime types
  • must also be regiatered in browser to kick of the
    BitTorrent client app.
  • User must find .torrents via web searches
  • user clicks on link to .torrent
  • browser activates client
  • client connects to tracker in .torrent file

16
BitTorrent
  • Tracker lets client know where other clients are
  • Download starts with some arbitrary part of the
    file
  • Once you have started downloading parts of the
    file the tracker gives your name out to others so
    that you will also be uploading parts of the file
    to your peers.
  • Users are encouraged to stay connected to the
    system after their download is complete so as to
    not interfere with others downloads

17
BitTorrent
  • The web site is serving up static files as
    normal, but kicking off the BitTorrent helper app
    on the clients.
  • The tracker is receiving information from all
    downloaders and giving them random lists of
    peers. This is done over HTTP or HTTPS.
  • Downloaders are periodically checking in with the
    tracker to keep it informed of their progress,
    and are uploading to and downloading from each
    other via direct connections. These connections
    use the BitTorrent peer protocol, which operates
    over TCP.
  • The origin is uploading but not downloading at
    all, since it has the entire file. The origin is
    necessary to get the entire file into the
    network. Often for popular downloads the origin
    can be taken down after a while since several
    downloads may have completed and been left
    running indefinitely.

18
BitTorrent
  • Client ports 6881 6889
  • Server ports 80(HTTP) or 443(HTTPS)
  • Home page http//bittorrent.com

19
P2P with JINI
  • JINI is Suns technology for Impromptu networks
  • under the covers JINI is RMI
  • when servant is started it bootstraps (registers)
    itself with the JINI lookup service (just like an
    RMI server)
  • the lookup service stores remote references to
    the peers on the network
  • peers then use RMI to connect directly to one
    another
  • This is a brokered approach, similar to Napster
  • main difference is Napsters brokering is done
    using a server and a database where this is using
    the RMI/JINI lookup service.
  • If the registry drops off line the there is no
    service unless every servant can start up a
    registry if one cant be found.

20
P2P with Multicast Sockets
  • The main problem with the JINI/RMI implementation
    of P2P is the registry it is a single point of
    failure I.e. if the registry goes down then the
    P2P network is dead. No one can find a peer.
  • Enter Multicast sockets
  • similar to UDP (sends datagrams) but sends them
    multicast
  • sender part of servant periodically broadcasts
    its presence
  • receiver part of other servants receive the
    datagram and add the peer to their list of peers
    currently on line
  • (this is like JINIs lease concept) if the
    receivers stop receiving the Im here message
    from a peer the assumption will be that the peer
    has left the network and the missing peer can be
    removed from the list of peers currently on line.
  • Peers can communicate directly with one another
    using either TCP or UDP.

21
P2P with JXTA
  • Created by SUN in response to growing popularity
    of P2P
  • Attempts to sole the following P2P problems
  • Security/Authentication large p2p applications
    like AOL IMr and MSN IMr use central servers to
    bootstrap users onto the network. This helps
    insure that a particular user uses a particular
    online identity.
  • Peer Discovery realizing the presence of your
    peers is difficult, multicast on the surface
    looks good but doesnt work well outside of the
    LAN environment
  • Network Incompatibility currently each p2p
    product ends up with its own set of protocols
    thereby allowing no interoperability
  • Platform Incompatibility developers must rewrith
    low level aspects of their p2p apps for each
    platform. Wireless and mobile devices have a very
    limited menu of p2p tools.

22
JXTA (more)
  • How do you do this?
  • Standardize the low level protocols
  • JXTA is designed to be a general infrastructure
  • because all JXTA apps use the same low level
    protocols they will all be compatible
  • JXTA networks consist of 3 basic entity types
  • peer/peer groups
  • any peer that uses JXTA protocols
  • Peer Discovery
  • Peer Resolver
  • Peer Information
  • Peer Membership
  • Pipe Binding
  • Endpoint Routing
  • advertisements XML documents to replace the
    JINI Multicast function
  • pipes/messages one-way communication channels

23
JXTA (more)
  • JXTA is still under development and is still
    resolving all of the problem areas.
  • For more info
  • http//www.jxta.com
  • http//java.sun.com
  • http//www.peerintelligence.com
  • http//www.peertal.com
Write a Comment
User Comments (0)
About PowerShow.com