Peer Enabler Architecture

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Peer Enabler Architecture as PDF for free.

More details

  • Words: 1,399
  • Pages: 5
February 10, 2003

Joltid PeerEnabler System Architecture

Copyright © 2003 Joltid Ltd.

TABLE OF CONTENTS GLOBAL ARCHITECTURE..............................................................................................................................2 a.Introduction....................................................................................................................................................2 b.SuperNode Discovery......................................................................................................................................2 c.Downloading files...........................................................................................................................................3 FILES & CHANNELS.........................................................................................................................................4 CLIENT APPLICATIONS..................................................................................................................................5 d.Application Integration...................................................................................................................................5 e.Website Integration.........................................................................................................................................5 STREAMING.......................................................................................................................................................6 SECURITY & RELIABILITY............................................................................................................................6

G LOBAL A RCHI T EC T UR E A . I NT RO DUC T I O N

Joltid PeerEnabler consists of three layers. First of all there are the client nodes that are the end points of the network. These are connected with SuperNodes, which can be seen as the main traffic directors on the network. Finally there is the Network Management Server (NMS) that is used for managing the network and gathering statistics on network performance. Joltid manages the Network Management Servers. SuperNodes and client nodes are just regular computers running P2P Networking software. SuperNodes appear and disappear according to need; this process is managed by the NMS. Regular nodes become SuperNodes only if they meet certain parameters; better computers are preferred for SuperNodes.

SuperNode client client client

B . S UPE R N OD E

Network Management Server (NMS) SuperNode SuperNode client client client client client client

SuperNode client client client

D I S COV E R Y

Clients automatically discover SuperNodes and have a tendency to connect to SuperNodes that are nearby on the network. Due to this tendency, clients will also often download files from nearby sources, which increase the speed and reduce the bandwidth costs. Copyright © 2003 Joltid Ltd.

C . D OW N L OADI N G F I L E S

Clients download files from each other with PeerEnabler. They decide themselves whether or not to download from multiple clients, based on the speed with which they get a file. If downloads are interrupted due to network problems, or the download source becoming unavailable, the client will seek a new source to download from. Downloads can also continue over sessions, so a large file will be downloaded even if the computer is turned off while downloading. For finding information about clients sharing the specific file, the downloading client asks a SuperNode where the file can be found. It is important to note that downloads always succeed. When the client is unable to get the file from P2P sources, it will automatically try a so-called “fallback server” to get the file from there. The fallback server is just a regular web server that belongs to the original publisher of the file. It is used for seeding the file to PeerEnabler. The fallback server is not the same server as the NMS.

F ILE S &

CHANNEL S

The PeerEnabler network is split into channels, each channel has a channel ID which is in the range 1 – 65535. Channels are used for grouping content. Most of the times each publisher uses one channel exclusively. Each file is identified by a unique combination of File_ID and Channel_ID. Each file is assigned a File_ID at the time the file is signed. The File_ID can be a maximum of 128 bits long making it possible to use the MD5 hash of the file as its ID. Publishing a file means signing it and then uploading it to a web server (fallback server) so that the first clients that need the file can download it from the fallback server. As soon as enough clients have downloaded the file it will also be available on the P2P Network. For signing the following things are needed: Certificate for signing Signing utility After signing a file, a signature file is created. This file has the same name as the file itself with a ‘.sig’ extension added. The signature file is used to verify the contents of the digitally signed file. The signature file needs to be uploaded to the fallback server together with the published file.

Copyright © 2003 Joltid Ltd.

C LIENT A PPLICAT IONS The client side of PeerEnabler is called the Peer-to-Peer Networking Component (P2P Networking). This component is used whenever a client application interacts with the PeerEnabler. Installation of P2P Networking can occur in different ways. A user can manually install it by downloading it and running the installer, or it can be done automatically by the application that tries to use PeerEnabler, or it can be bundled (installed at the same time) with the application using it. By default the Peer-to-Peer Networking component will always be running once it is installed on the users computer to make sure the network gets as many resources as possible. P2P Networking acts as a system level component and can be seen in the system tray of the computer. There are a few user options that can be modified: changing cache size and location, options for automatic start-up, etc. The files that are downloaded with PeerEnabler are automatically shared from the computer that downloaded the file. This way there will quickly be a lot of sources to download from. The files are downloaded to a special cache folder and stored there. There are two ways to integrate P2P Networking on the client side. Firstly, there is the possibility of integrating it into a client application by using the COM API (windows platform only). Secondly, it is possible to call P2P Networking from a web page. These two situations will be explained more below. D . A PPL I CAT I O N

I NT E G RAT I O N

Some examples of integrating PeerEnabler with an application are: software installers, program updates, and anti-virus definition downloads. Application integration on windows platform is done using the COM API. It is the responsibility of the client application to guarantee that P2P Networking is installed on the users computer. It can be bundled with the application installer, or it can be downloaded separately when it is not used. If P2P Networking is already installed, but not running, it will be started once an application makes a COM request. The API for P2P Networking has functions for starting file downloads and querying download process, changing file parameters and querying system status. E . W E BS I T E

I NT E G RAT I O N

Using PeerEnabler with a website is a very straightforward process. The files that need to be fetched with PeerEnabler first have to be published. Then the web pages need to be changed in such a way that the files are no longer served from the web server, but from PeerEnabler. To do this, the normal links need to be changed to call a JavaScript function, very much like this: ShowImage(image1.gif, 2, AAC23425) Note that the actual channel number (channel 2 in the example) and the file id (AAC23425 in the example) have to be known, to be able to put the file in the web page. The web page should also have a link to a JavaScript file that contains the detection code for P2P Networking and some other functionality needed to use PeerEnabler successfully.

Copyright © 2003 Joltid Ltd.

S T REAM ING All media formats that provide streaming from a web server can be streamed with PeerEnabler. The small web server that is built into P2P Networking can stream the file at the same time as it is being downloaded. Example formats that you can stream are: MP3, Real Media, Windows Media, QuickTime. The file that needs to be streamed or previewed can be easily passed to a media player while it is being fetched from the P2P Network. The media player needs to be pointed to a local address, like this: http://localhost:3531/.download?file=FILEID&channel=CHANNELID.

S ECURIT Y & R ELI ABI LIT Y PeerEnabler’s extensive use of public-private-key cryptography ensures that the content of the published files cannot be tampered with. The fact that there are several NMS servers around the world guarantees that the operation of the network is optimal. Several servers have the advantage of load balancing, reliability and finally, there is always an NMS relatively close to the client Publishing files on the network is always possible, because this is an offline process. Even when one of the NMS servers is down, publishing is still possible. Finally, the distributed nature of Peer-to-Peer distribution is robust because there is no single point of failure in the system. If certain sources that are providing a download go down, there will usually be a lot of other locations to download it.

Copyright © 2003 Joltid Ltd.

Related Documents

Enabler Weekly
October 2019 6
Peer To Peer Networks
June 2020 11
Peer To Peer
May 2020 20
Peer-to-peer - P2p
May 2020 25