30
Peer-to-peer computing

Peer-to-peer computing - Chalmerstsigas/Courses/DCDSeminar/... · Peer-to-peer computing Damir Lizdek ... We write this report as an assignment in the course Computer Communica-

  • Upload
    ngominh

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Peer-to-peer computing

Damir LizdekComputer [email protected]

Dan RundlofComputer [email protected]

April 29, 2006

Copyright c©2006

Damir Lizdek and Dan Rundlof.

Permission is granted to copy, distribute and/or modify this doc-ument under the terms of the GNU Free Documentation License,Version 1.2 or any later version published by the Free SoftwareFoundation; with no Invariant Sections, no Front-Cover Texts,and no Back-Cover Texts. A copy of the license is included in thesection entitled ”GNU Free Documentation License”.

Chapter 1

Abstract

Peer-to-peer computing is an increasingly popular method to share resourcesand information among users. The most common use of peer-to-peer com-puting today is file sharing and there are many protocols and applicationsavailable for this purpose. The technology is also used for scientific purposeswhere the traditional client/server model is not capable of handling the scaleof the problem.

Since most material shared in peer-to-peer file sharing networks is copyrightprotected the technology is legally controversial and it has been involved inseveral lawsuits.

1

Chapter 2

Preface

We are two students who study Computer Engineering at Chalmers Univer-sity of Technology and we have chosen computer communication as one ofour majors·

We write this report as an assignment in the course Computer Communica-tion and Distributed Systems at Chalmers. Our examiner for the course isPhilippas Tsigas at the Division of Computing Science at Chalmers.

The purpose of this report is to present peer to peer computing in an under-standable and interesting way.

2

Contents

1 Abstract 1

2 Preface 2

3 Introduction 53.1 Overview of peer-to-peer computing . . . . . . . . . . . . . . . 53.2 Types of peer-to-peer networks . . . . . . . . . . . . . . . . . 53.3 Advantages of peer-to-peer networks . . . . . . . . . . . . . . 6

4 Different uses of peer-to-peer computing 74.1 File sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.2 Bioinformatics . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.3 Artificial intelligence . . . . . . . . . . . . . . . . . . . . . . . 74.4 Grid computing . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5 Protocols 95.1 Bittorrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5.1.1 How BitTorrent works . . . . . . . . . . . . . . . . . . 95.2 Fasttrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.2.1 How Fasttrack works . . . . . . . . . . . . . . . . . . . 105.3 Gnutella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5.3.1 How Gnutella works . . . . . . . . . . . . . . . . . . . 115.4 Freenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.5 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6 Legal controversy 13

7 Anonymous peer-to-peer 15

8 Conclusion 16

3

9 Terminology 179.1 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

10 References 18

A Licenses 19A.1 GNU Free Documentation License . . . . . . . . . . . . . . . . 19

4

Chapter 3

Introduction

3.1 Overview of peer-to-peer computing

A peer-to-peer network is a decentralized computer network that relies mostlyon the resources of equal peers instead of a few powerful servers. The peersare often connected as a ad hoc network. Such networks can be used formany things, for example sharing files, real-time data and telephony traffic.

In a pure peer-to-peer network there are no dedicated clients or servers, butinstead all the peers can function as both clients and servers depending onthe circumstances. A typcal example for a non peer-to-peer network is anFTP server where the client and server programs both have different distinctroles where the client always initiates the transfer and the servers role is toservice the clients request.

3.2 Types of peer-to-peer networks

Pure peer-to-peer:

• Peers act as both clients and server.

• There is no central server managing the network.

• There is no central router.

Hybrid peer-to-peer:

• Has a central server that keeps information on peers and responds torequests for that information.

5

• Peers are responsible for hosting the information (as the central serverdoes not store files), for letting the central server know what files theywant to share, and for downloading its shareable resources to peers thatrequest it. [1]

3.3 Advantages of peer-to-peer networks

An important idea in peer-to-peer networking is that all the peers provideresources to the network. These resources can be anything from bandwidthand storage space to computing power depending on the purpose of the net-work. Thus if more nodes connect to the network and the demand on thesystem increases, the total capacity of the system also increases. This isa major advantage over traditional networks using the client/server modelwhere additional clients could mean less resources available for each client.

Peer-to-peer networks are particulary useful when distributing large files be-cause of the bandwidth requirement. Another advantage is that the robust-ness increases since there is no single point of failure in a pure peer-to-peernetwork. Even if it is a hybrid perr-to-peer network with a single server datacan be distributed among several peers and thus making it more available.[1]

6

Chapter 4

Different uses of peer-to-peercomputing

4.1 File sharing

File sharing is the practice of making files available for other users to down-load over the Internet and smaller networks. Usually filesharing implementsthe peer-to-peer networking model where the peers in the network are thepersonal computers of the users. The shared files are thus stored on thecomputers and are made available so that other users can download them.

Peer-to-peer file sharing is distinct from file trading in that downloadingfiles from a peer-to-peer network does not require uploading, although somenetworks either provide incentives for uploading such as credits or force thesharing of files being currently downloaded.

4.2 Bioinformatics

Peer-to-peer networks have also begun to attract attention from scientists,especially those that deal with large datasets such as bioinformatics. Peer-to-peer networks can be used to run large programs that handle large amountsof data, for example tests to identify drug candidates. This is possible sincepeer-to-peer networks scale well. [1]

4.3 Artificial intelligence

Swarm intelligence (SI) is an artificial intelligence technique based aroundthe study of collective behaviour in decentralised, self-organised, systems.

7

The expression ”swarm intelligence” was introduced by Beni and Wang in1989, in the context of cellular robotic systems. [2]

SI systems are typically made up of a population of simple agents that in-teract locally with each other and with their environment. Although thereis normally no centralised control structure dictating how individual agentsshould behave, local interactions between such agents often lead to the emer-gence of global behaviour. Examples of systems like this can be found in na-ture, including ant colonies, bird flocking, animal herding, bacteria moldingand fish schooling.

A peer-to-peer network can be used to model swarm intelligence where eachpeer in the network corresponds to a single agent.

4.4 Grid computing

Grid computing is an emerging computing model that provides the abilityto perform higher throughput computing by taking advantage of many net-worked computers to model a virtual computer architecture that is able todistribute process execution across a parallel infrastructure.

Grids use the resources of many separate computers (peers) connected bya network (usually the Internet) to solve large-scale computation problems.Grids provide the ability to perform computations on large data sets, bybreaking them down into many smaller ones, or provide the ability to per-form many more computations at once than would be possible on a singlecomputer, by divding the labour between multiple peers. [1]

8

Chapter 5

Protocols

5.1 Bittorrent

BitTorrent is the name of a file sharing protocol used for peer-to-peer file dis-tribution and it is also the name of a client application that implements theprotocol, both of which were created by programmer Bram Cohen. BitTor-rent is designed to widely distribute large amounts of data without incurringthe corresponding consumption in costly server and bandwidth resources.

5.1.1 How BitTorrent works

BitTorrent works so that all the peers that are involved in the downloadingof a file are also contributing to the distribution of the file by simultaniouslymaking the file available for download. The sharing of a complete file is calledseeding.

BitTorrent greatly reduces the load on seeders, because clients generallydownload the file from each other. After the initial pieces are transferedfrom the original seeder, the pieces are individually transferred from clientto client. Because of this the original seeder only needs to send out one copyof the file to make it available for all the clients.

The BitTorrent protocol starts by breaking down the files into smaller piecescalled fragments. A typical size of a frament is a quarter of a megabyte (256KB), though larger files can have larger fragment size. By default a 4.37GBfile will have a fragment size of 4mb. Peers download missing fragments fromeach other and simultaniously upload those that they already have to peersthat request them.

9

The protocol chooses the peer with the best network connections for the frag-ments that it is requesting. To increase the overall efficiency of the swarm, thebittorrent clients request from their peers the fragments that are most rare;in other words, the fragments that are least available, making most fragmentsavailable widely across many machines and that way avoiding bottlenecks.There is no rule that says that the fragments will be downloaded in sequenceand therefore they need to be reassembled by the receiving machine. Clientswill start to upload fragments to their peers before the entire file is down-loaded. Sharing by a peer begins with a .torrent file, which is a small filethat contains the filename and the size of the file.

Downloading with BitTorrent is easy and straightforward. Each person whowants to download the file must first start by downloading the .torrent pointerand open it in the BitTorrent application. The torrent file tells the clientthe address of the tracker, which, in turn, maintains a log of which users aredownloading the file and where its fragments reside. For all sources available,the client will consider which blocks of the file are available and then requestthe rarest block that it does not yet have. This makes it more likely thatpeers will have blocks to exchange. As soon as the client finishes importinga block, it hashes it to make sure that the block matches what the torrentfile said it should be. [3]

5.2 Fasttrack

FastTrack is another peer-to-peer file sharing protocol. It is used by sev-eral file sharing applications including Kazaa. FastTrack has been one ofthe most popular file sharing protocols and it was mainly used to exchangedigital music files. Popular features of FastTrack are its ability to resume aninterrupted download and to simultaneously download segments of one filefrom multiple peers increasing the overall download speed.

5.2.1 How Fasttrack works

FastTrack is a second generation peer-to-peer protocol. Second generationpeer-to-peer protocols use supernodes to improve scalability. The supern-ode functionality is built into the client; if a powerful computer with a fastnetwork connection runs the client software, it will automatically become asupernode, effectively acting as a temporary indexing server for other, slowerclients.

10

In order for a user to initially initially connect to the network, a list ofsupernode IP numbers is stored in the program. The client attempts tocontact these, and as soon as it finds a working supernode, it requests a list ofcurrently active supernodes, to be used for future connection attempts. Theclient picks one supernode as its connection to the network and uploads a listof files it intends to share to that supernode. It also sends search requeststo this supernode. The supernode communicates with other supernodes andforwards search reqeusts to them. When a result is found it is returned tothe requesting client which in turn will connect directly to the peer that hasthe file available and the file is transfered directly from the peer to the clientusing HTTP. [4]

5.3 Gnutella

Gnutella is a file sharing network that is mainly used to exchange music,films and software. It is a pure peer-to-peer network and files are transfereddirectly between users.

Applications that implement the Gnutella protocol connects to the Gnutellanetwork and begin sharing files. Search queries are passed from one node toanother in round-robin fashion. Gnutella clients are available for a numberof different platforms.

5.3.1 How Gnutella works

To understand how the Gnutella protocol implements file sharing, imaginea large circle of nodes, who each have Gnutella client software. The firstthing that takes place is that the client software finds at least one of thoseother nodes. Different methods have been used for this, including a preexisting list of possibly working node addresses shipped with the software,using Gwebcache sites on the web to find nodes, as well as using IRC to findnodes. Chances are that at least one other node (call it B) will be found.Once it has connected, node B will send node A its own list of working nodes.Node A will try to connect to the nodes it was shipped with, as well as nodesit receives from other nodes, until it reaches a certain quota, usually user-specifiable. It will only connect to that many nodes, but it keeps the nodesit has not yet tried. (It discards ones that it tries but did not work.)

Now, when user A wants to do a search, it sends the request to each node it isactively connected to. It is possible that some of them will no longer work, inwhich case user A tries to connect to the nodes it has saved as backups. The

11

number of actively connected nodes for user A is usually quite small (around5), so each node then forwards the request to all the nodes it is connected to,and they in turn forward the request, and so on. In theory, the request willeventually find its way to every user on the Gnutella network. As the size ofthe Gnutella network has grown and its developers have fought excess trafficconsumption, global searchability of the network has diminished.

If a search request turns up a result, the node that had the result contacts thesearcher either directly or indirectly. If the node that sent the search requestis not protected by a firewall, the node with the result directly returns theresult. If the node that sent the search request is protected by a firewall,then the result is (indirectly) routed back along the route the search wasreceived on. After the result is returned, they negotiate the file transfer andthe transfer proceeds. If more than one copy of the same file is found, thesearcher can perform a ”swarm” download - download pieces of the file fromdifferent nodes. This results in increased download rates.

Finally, when user A disconnects, the client software saves the list of nodesthat it was actively connected to, and that it was keeping as a backup, foruse next time it connects. [5]

5.4 Freenet

Freenet is a decentralized network that uses a peer-to-peer protocol thatprovides anonymity for its users. The idea behind it is to provide electronicfreedom of speech. Freenet uses the bandwidht and resources of the peers inthe network to allow them to anonymously publish or retrieve informationamongst them.

Currently, Freenet is unable to handle dynamic content, such as content thatutilizes databases and scripting. According to the Freenet Project group,such tradeoffs are expected since Freenet’s primary goals are neither ease-of-use nor performance. Unlike other peer-to-peer networks, Freenet is primarilyintended to combat censorship and allow people to communicate freely andwith near-total anonymity.

Freenet can be thought of as a large storage device. When you store a file init, you receive a key which can be used to retrieve the file. When you supplyFreenet with a key, it will return the appropriate file (if it is located). TheFreenet storage space is distributed among all connected nodes on Freenet.[6]

12

5.5 DNS

While peer-to-peer computing is mostly used for file sharing it can also beused for other purposes such as the Domain Name System protocol. The goalof the protocol is to provide a name translation service from domain namesto IP addresses. DNS is not a pure peer-to-peer protocol since it relies onsome non-peer elements.

13

Chapter 6

Legal controversy

The most common use for peer-to-peer computing today is filesharing. Sincethe majority of the material that is downloaded is protected by differentcopyright laws there is an obvious conflict of interest between individualssharing and downloading files and the copyright holders.

This has led to the fact that peer-to-peer computing has been targeted in law-suits and the technology is still controversial. In the Sony Corp. v. UniversalCity Studios case “the Betamax decision” states that copying technologiesare not inherently illegal, if there are legal uses of the technology. This de-cision applies to peer-to-peer networks since they can be used to disributethat are not copyrighted as well. [6]

As we pointed out earlier the majority of the files shared in peer-to-peernetworks are various music and video files that are copyrighted. Sharing ofthese files is illegal in most cases and that is the main reason for the legalcontroversy that surrounds peer-to-peer computing. This is also the reasonwhy global organisations such as RIAA and the MPAA now spend largeamounts of money attempting to lobby goverments to legislate to protectcopyright holders and their work.

In spite of the Betamax decision, these global organizations often target thepeer-to-peer networks themselves and try to illegalize them. An example ofthis is when RIAA filed a lawsuit against Napster, the most popular musicsharing application at the time. This led to the shutdown of the Napsternetwork and bankruptcy of the company.

As the actions to protect the copyrights of media companies expand, the filesharing technology has quickly adapted and is constantly developing makingit much more difficult to dismantle and shutdown. This instead has caused

14

the users to become targets of the lawsuits since the technology in itself mightbe legal but certain uses of it might be illegal.

In the European Union, the 2001 EU Copyright directive, which implementedthe 1996 WIPO treaty prohibits peer-to-peer, claiming it is a violation of thedirective. However, not all EU member states have implemented the directivein their national legislation. [8]

15

Chapter 7

Anonymous peer-to-peer

An anonymous peer-to-peer computer network is a special kind of peer-to-peer network where the users of the network are anonymous by default. Theprimary difference between regular and anynomous networks is in the routingmethods of the respective networks.

The peer-to-peer file sharing community’s interest in anonymous networkshas increased rapidly in recent years for many reasons. One of them isto avoid censorship and another is to circumvent the legal issues that areassociated with file sharing.

Many claim that the anonymous networks will lead to an increase of illegalfile sharing and some even suggest that they facilitate terrorism. Otherscounter that the potential for illegal uses should not prevent the technologyfrom being used for legal purposes and that the presumption of innocencemust apply.

16

Chapter 8

Conclusion

Peer-to-peer computing is a powerful technology that is continously evolvingand finding new uses. We believe that the technology will be increasinglyimportant as new areas adopt it.

File sharing is the most popular area of peer-to-peer computing today. Wethink that this will be the case for many years to come and it is thereforimportant to solve the legal issues surrounding file sharing in particular andpeer-to-peer computing in general. We do not believe that illegalizing theuse of file sharing applications and filing law suits against the users is thesolution to the problem. Instead we would like to see a way to legalize filesharing by some sort of payment arrangement that makes sure the creatorsof copyrighted material are paid for their work.

17

Chapter 9

Terminology

9.1 Abbreviations

• DNS Domain Name System.

• FTP File Transfer Protocol.

• GFDL GNU Free Document License.

• HTTP Hyper Text Transfer Protocol.

• IP Internet Protocol.

• MPAA Motion Picture Association of America.

• P2P Peer-to-peer.

• RIAA Recording Industry Association of America.

• WIPO World Intellectual Property Organization.

18

Chapter 10

References

[1] http://en.wikipedia.org/wiki/P2p

[2] G. Beni and J. Wang, Swarm Intelligence in Cellular Robotic

Systems, Proceedings of the NATO Advanced Workshop on Robots and

Biological Systems, Il Ciocco, Tuscany, Italy, 1989.

[3] http://www.bittorrent.org/protocol.html

[4] http://cvs.berlios.de/cgi-bin/viewcvs.cgi/gift-fasttrack/giFT-FastTrack/

PROTOCOL?rev=HEAD\&content-type=text/vnd.viewcvs-markup

[5] http://rfc-gnutella.sourceforge.net/src/rfc-0_6-draft.html

[6] http://freenet.sourceforge.net/index.php?page=whatis

[7] http://en.wikipedia.org/wiki/Sony_Corp._of_America_v._

Universal_City_Studios%2C_Inc

[8] http://art.ntu.ac.uk/liveart/issues/Chapter11.htm

19

Appendix A

Licenses

A.1 GNU Free Documentation License

Version 1.2, November 2002Copyright c©2000,2001,2002 Free Software Foundation, Inc.

51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Everyone is permitted to copy and distribute verbatim copies of this licensedocument, but changing it is not allowed.

Preamble

The purpose of this License is to make a manual, textbook, or other functionaland useful document ”free” in the sense of freedom: to assure everyone theeffective freedom to copy and redistribute it, with or without modifying it,either commercially or noncommercially. Secondarily, this License preservesfor the author and publisher a way to get credit for their work, while notbeing considered responsible for modifications made by others.This License is a kind of ”copyleft”, which means that derivative works ofthe document must themselves be free in the same sense. It complementsthe GNU General Public License, which is a copyleft license designed for freesoftware.We have designed this License in order to use it for manuals for free software,because free software needs free documentation: a free program should comewith manuals providing the same freedoms that the software does. But thisLicense is not limited to software manuals; it can be used for any textualwork, regardless of subject matter or whether it is published as a printedbook. We recommend this License principally for works whose purpose isinstruction or reference.

20

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, thatcontains a notice placed by the copyright holder saying it can be distributedunder the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditionsstated herein. The ”Document”, below, refers to any such manual or work.Any member of the public is a licensee, and is addressed as ”you”. Youaccept the license if you copy, modify or distribute the work in a way requiringpermission under copyright law.A ”Modified Version” of the Document means any work containing theDocument or a portion of it, either copied verbatim, or with modificationsand/or translated into another language.A ”Secondary Section” is a named appendix or a front-matter section ofthe Document that deals exclusively with the relationship of the publishersor authors of the Document to the Document’s overall subject (or to relatedmatters) and contains nothing that could fall directly within that overallsubject. (Thus, if the Document is in part a textbook of mathematics, a Sec-ondary Section may not explain any mathematics.) The relationship couldbe a matter of historical connection with the subject or with related matters,or of legal, commercial, philosophical, ethical or political position regardingthem.The ”Invariant Sections” are certain Secondary Sections whose titles aredesignated, as being those of Invariant Sections, in the notice that says thatthe Document is released under this License. If a section does not fit theabove definition of Secondary then it is not allowed to be designated asInvariant. The Document may contain zero Invariant Sections. If the Docu-ment does not identify any Invariant Sections then there are none.The ”Cover Texts” are certain short passages of text that are listed, asFront-Cover Texts or Back-Cover Texts, in the notice that says that theDocument is released under this License. A Front-Cover Text may be atmost 5 words, and a Back-Cover Text may be at most 25 words.A ”Transparent” copy of the Document means a machine-readable copy,represented in a format whose specification is available to the general public,that is suitable for revising the document straightforwardly with generic texteditors or (for images composed of pixels) generic paint programs or (fordrawings) some widely available drawing editor, and that is suitable for inputto text formatters or for automatic translation to a variety of formats suitablefor input to text formatters. A copy made in an otherwise Transparent fileformat whose markup, or absence of markup, has been arranged to thwart ordiscourage subsequent modification by readers is not Transparent. An image

21

format is not Transparent if used for any substantial amount of text. A copythat is not ”Transparent” is called ”Opaque”.Examples of suitable formats for Transparent copies include plain ASCIIwithout markup, Texinfo input format, LaTeX input format, SGML or XMLusing a publicly available DTD, and standard-conforming simple HTML,PostScript or PDF designed for human modification. Examples of trans-parent image formats include PNG, XCF and JPG. Opaque formats includeproprietary formats that can be read and edited only by proprietary wordprocessors, SGML or XML for which the DTD and/or processing tools arenot generally available, and the machine-generated HTML, PostScript orPDF produced by some word processors for output purposes only.The ”Title Page” means, for a printed book, the title page itself, plussuch following pages as are needed to hold, legibly, the material this Licenserequires to appear in the title page. For works in formats which do not haveany title page as such, ”Title Page” means the text near the most prominentappearance of the work’s title, preceding the beginning of the body of thetext.A section ”Entitled XYZ” means a named subunit of the Document whosetitle either is precisely XYZ or contains XYZ in parentheses following textthat translates XYZ in another language. (Here XYZ stands for a specificsection name mentioned below, such as ”Acknowledgements”, ”Dedi-cations”, ”Endorsements”, or ”History”.) To ”Preserve the Title”of such a section when you modify the Document means that it remains asection ”Entitled XYZ” according to this definition.The Document may include Warranty Disclaimers next to the notice whichstates that this License applies to the Document. These Warranty Dis-claimers are considered to be included by reference in this License, but onlyas regards disclaiming warranties: any other implication that these WarrantyDisclaimers may have is void and has no effect on the meaning of this License.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commer-cially or noncommercially, provided that this License, the copyright notices,and the license notice saying this License applies to the Document are re-produced in all copies, and that you add no other conditions whatsoever tothose of this License. You may not use technical measures to obstruct orcontrol the reading or further copying of the copies you make or distribute.However, you may accept compensation in exchange for copies. If you dis-tribute a large enough number of copies you must also follow the conditionsin section 3.

22

You may also lend copies, under the same conditions stated above, and youmay publicly display copies.

3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printedcovers) of the Document, numbering more than 100, and the Document’slicense notice requires Cover Texts, you must enclose the copies in coversthat carry, clearly and legibly, all these Cover Texts: Front-Cover Texts onthe front cover, and Back-Cover Texts on the back cover. Both covers mustalso clearly and legibly identify you as the publisher of these copies. The frontcover must present the full title with all words of the title equally prominentand visible. You may add other material on the covers in addition. Copyingwith changes limited to the covers, as long as they preserve the title of theDocument and satisfy these conditions, can be treated as verbatim copyingin other respects.If the required texts for either cover are too voluminous to fit legibly, youshould put the first ones listed (as many as fit reasonably) on the actualcover, and continue the rest onto adjacent pages.If you publish or distribute Opaque copies of the Document numbering morethan 100, you must either include a machine-readable Transparent copy alongwith each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access todownload using public-standard network protocols a complete Transparentcopy of the Document, free of added material. If you use the latter option,you must take reasonably prudent steps, when you begin distribution ofOpaque copies in quantity, to ensure that this Transparent copy will remainthus accessible at the stated location until at least one year after the last timeyou distribute an Opaque copy (directly or through your agents or retailers)of that edition to the public.It is requested, but not required, that you contact the authors of the Doc-ument well before redistributing any large number of copies, to give them achance to provide you with an updated version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under theconditions of sections 2 and 3 above, provided that you release the ModifiedVersion under precisely this License, with the Modified Version filling therole of the Document, thus licensing distribution and modification of theModified Version to whoever possesses a copy of it. In addition, you mustdo these things in the Modified Version:

23

A. Use in the Title Page (and on the covers, if any) a title distinct from thatof the Document, and from those of previous versions (which should, ifthere were any, be listed in the History section of the Document). Youmay use the same title as a previous version if the original publisher ofthat version gives permission.

B. List on the Title Page, as authors, one or more persons or entitiesresponsible for authorship of the modifications in the Modified Version,together with at least five of the principal authors of the Document (allof its principal authors, if it has fewer than five), unless they releaseyou from this requirement.

C. State on the Title page the name of the publisher of the ModifiedVersion, as the publisher.

D. Preserve all the copyright notices of the Document.

E. Add an appropriate copyright notice for your modifications adjacent tothe other copyright notices.

F. Include, immediately after the copyright notices, a license notice givingthe public permission to use the Modified Version under the terms ofthis License, in the form shown in the Addendum below.

G. Preserve in that license notice the full lists of Invariant Sections andrequired Cover Texts given in the Document’s license notice.

H. Include an unaltered copy of this License.

I. Preserve the section Entitled ”History”, Preserve its Title, and add toit an item stating at least the title, year, new authors, and publisher ofthe Modified Version as given on the Title Page. If there is no sectionEntitled ”History” in the Document, create one stating the title, year,authors, and publisher of the Document as given on its Title Page, thenadd an item describing the Modified Version as stated in the previoussentence.

J. Preserve the network location, if any, given in the Document for publicaccess to a Transparent copy of the Document, and likewise the networklocations given in the Document for previous versions it was based on.These may be placed in the ”History” section. You may omit a networklocation for a work that was published at least four years before theDocument itself, or if the original publisher of the version it refers togives permission.

24

K. For any section Entitled ”Acknowledgements” or ”Dedications”, Pre-serve the Title of the section, and preserve in the section all the sub-stance and tone of each of the contributor acknowledgements and/ordedications given therein.

L. Preserve all the Invariant Sections of the Document, unaltered in theirtext and in their titles. Section numbers or the equivalent are notconsidered part of the section titles.

M. Delete any section Entitled ”Endorsements”. Such a section may notbe included in the Modified Version.

N. Do not retitle any existing section to be Entitled ”Endorsements” orto conflict in title with any Invariant Section.

O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendicesthat qualify as Secondary Sections and contain no material copied from theDocument, you may at your option designate some or all of these sectionsas invariant. To do this, add their titles to the list of Invariant Sections inthe Modified Version’s license notice. These titles must be distinct from anyother section titles.You may add a section Entitled ”Endorsements”, provided it contains noth-ing but endorsements of your Modified Version by various parties–for ex-ample, statements of peer review or that the text has been approved by anorganization as the authoritative definition of a standard.You may add a passage of up to five words as a Front-Cover Text, and apassage of up to 25 words as a Back-Cover Text, to the end of the list ofCover Texts in the Modified Version. Only one passage of Front-Cover Textand one of Back-Cover Text may be added by (or through arrangementsmade by) any one entity. If the Document already includes a cover text forthe same cover, previously added by you or by arrangement made by thesame entity you are acting on behalf of, you may not add another; but youmay replace the old one, on explicit permission from the previous publisherthat added the old one.The author(s) and publisher(s) of the Document do not by this License givepermission to use their names for publicity for or to assert or imply endorse-ment of any Modified Version.

5. COMBINING DOCUMENTS

25

You may combine the Document with other documents released under thisLicense, under the terms defined in section 4 above for modified versions,provided that you include in the combination all of the Invariant Sectionsof all of the original documents, unmodified, and list them all as InvariantSections of your combined work in its license notice, and that you preserveall their Warranty Disclaimers.The combined work need only contain one copy of this License, and multipleidentical Invariant Sections may be replaced with a single copy. If there aremultiple Invariant Sections with the same name but different contents, makethe title of each such section unique by adding at the end of it, in parentheses,the name of the original author or publisher of that section if known, or elsea unique number. Make the same adjustment to the section titles in the listof Invariant Sections in the license notice of the combined work.In the combination, you must combine any sections Entitled ”History” in thevarious original documents, forming one section Entitled ”History”; likewisecombine any sections Entitled ”Acknowledgements”, and any sections Enti-tled ”Dedications”. You must delete all sections Entitled ”Endorsements”.

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documentsreleased under this License, and replace the individual copies of this Licensein the various documents with a single copy that is included in the collection,provided that you follow the rules of this License for verbatim copying of eachof the documents in all other respects.You may extract a single document from such a collection, and distribute itindividually under this License, provided you insert a copy of this Licenseinto the extracted document, and follow this License in all other respectsregarding verbatim copying of that document.

7. AGGREGATION WITHINDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate andindependent documents or works, in or on a volume of a storage or distri-bution medium, is called an ”aggregate” if the copyright resulting from thecompilation is not used to limit the legal rights of the compilation’s users be-yond what the individual works permit. When the Document is included inan aggregate, this License does not apply to the other works in the aggregatewhich are not themselves derivative works of the Document.

26

If the Cover Text requirement of section 3 is applicable to these copies ofthe Document, then if the Document is less than one half of the entire ag-gregate, the Document’s Cover Texts may be placed on covers that bracketthe Document within the aggregate, or the electronic equivalent of covers ifthe Document is in electronic form. Otherwise they must appear on printedcovers that bracket the whole aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute trans-lations of the Document under the terms of section 4. Replacing InvariantSections with translations requires special permission from their copyrightholders, but you may include translations of some or all Invariant Sections inaddition to the original versions of these Invariant Sections. You may includea translation of this License, and all the license notices in the Document, andany Warranty Disclaimers, provided that you also include the original En-glish version of this License and the original versions of those notices anddisclaimers. In case of a disagreement between the translation and the origi-nal version of this License or a notice or disclaimer, the original version willprevail.If a section in the Document is Entitled ”Acknowledgements”, ”Dedications”,or ”History”, the requirement (section 4) to Preserve its Title (section 1) willtypically require changing the actual title.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document exceptas expressly provided for under this License. Any other attempt to copy,modify, sublicense or distribute the Document is void, and will automaticallyterminate your rights under this License. However, parties who have receivedcopies, or rights, from you under this License will not have their licensesterminated so long as such parties remain in full compliance.

10. FUTURE REVISIONS OF THISLICENSE

The Free Software Foundation may publish new, revised versions of the GNUFree Documentation License from time to time. Such new versions will besimilar in spirit to the present version, but may differ in detail to addressnew problems or concerns. See http://www.gnu.org/copyleft/.Each version of the License is given a distinguishing version number. If theDocument specifies that a particular numbered version of this License ”or

27

any later version” applies to it, you have the option of following the termsand conditions either of that specified version or of any later version thathas been published (not as a draft) by the Free Software Foundation. If theDocument does not specify a version number of this License, you may chooseany version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License foryour documents

To use this License in a document you have written, include a copy of theLicense in the document and put the following copyright and license noticesjust after the title page:

Copyright c©2006 Damir Lizdek & Dan Rundlof. Permission isgranted to copy, distribute and/or modify this document underthe terms of the GNU Free Documentation License, Version 1.2or any later version published by the Free Software Foundation;with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the sectionentitled ”GNU Free Documentation License”.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,replace the ”with...Texts.” line with this:

with the Invariant Sections being Abstract, Preface, Intro-duction, Different uses of peer to peer computing, Proto-cols, Legal controversy, Anonymous peer to peer comput-ing, Conclusion, Terminology, References, with the Front-Cover Texts being Peer to peer Computing.

If you have Invariant Sections without Cover Texts, or some other combina-tion of the three, merge those two alternatives to suit the situation.If your document contains nontrivial examples of program code, we recom-mend releasing these examples in parallel under your choice of free softwarelicense, such as the GNU General Public License, to permit their use in freesoftware.

28