Peer-to-peer
Technically, a completely pure peer-to-peer application must implement only peering protocols that do not recognize the concepts of "server" and "client". Such pure peer applications and networks are rare. Most networks and applications described as peer-to-peer actually contain or rely on some non-peer elements, such as DNS. Also, real world applications often use multiple protocols and act as client, server, and peer simultaneously, or over time. Completely decentralized networks of peers have been in use for many years: two examples are Usenet (1979) and FidoNet (1984).
Many P2P systems use stronger peers (super-peers, super-nodes) as servers and client-peers are connected in a star-like fashion to a single super-peer.
Sun added classes to the Java technology to speed the development of peer-to-peer applications quickly in the late 1990s so that developers could build decentralized real time chat applets and applications before Instant Messaging networks were popular. This effort is now being continued with the JXTA project.
Peer-to-peer systems and applications have attracted a great deal of attention from computer science research; some prominent research projects include the Chord project, the PAST storage utility, the P-Grid, a self-organized and emerging overlay network and the CoopNet content distribution system (see below for external links related to these projects).
* Bioinformatics: Peer-to-peer networks have also begun to attract attention from scientists in other disciplines, especially those that deal with large datasets such as bioinformatics. P2P networks can be used to run large programs designed to carry out tests to identify drug candidates. The first such program was begun in 2001 the Centre for Computational Drug Discovery at Oxford University in cooperation with the National Foundation for Cancer Research. There are now several similar programs running under the auspices of the United Devices Cancer Research Project. On a smaller scale, a self-administered program for computational biologists to run and compare various bioinformatics software is available from Chinook. Tranche is an open-source set of software tools for setting up and administrating a decentralized network. It was developed to solve the bioinformatics data sharing problem in a secure and scalable fashion.
* Education and Academic: Due to the fast distribution and large storage space features, many organizations are trying to apply P2P network for educational and academic purposes. For instance, Pennsylvania State University, MIT and Simon Fraser University are carrying on a project called LionShare designed for facilitating file sharing among educational institutions globally.
* Military: The U.S. Department of Defense has already started research topic on P2P network as part of its modern network war. In May, 2003 Dr. Tether. Director of Defense Advanced Research Project Agency has testified that U.S. Military is using P2P network. Due to security reasons, many files are still kept in confidential.
* Business: P2P network has already been used in business areas, but it is still at the beginning line. Currently, Kato et al’s studies indicate over 200 companies with approximately $400 million USD are investing in P2P network. Besides File Sharing, companies are also interested in Distributing Computing, Content Distribution, e-market place, Distributed Search engines, Groupware and Office Automation via P2P network. There are several reasons why companies prefer P2P sometimes such as: Real-time collaboration, a server cannot manage with increasing volume of contents, a process requires strong computing power, a process needs high-speed communications etc. At the same time, P2P is not fully used as it still confronts a lot of security issues.
* TV: One of the first applications of P2P in this area is Joost, which is expected to deliver (relay) near-TV resolution images.
* Telecommunication: Nowadays, people are not just satisfied with “can hear a person from another side of the earth”, instead, the demands of clearer voice in real-time are increasing globally. Just like the TV network, there are already cables built. It’s not very likely for companies to change all the cables. Many of them turn to use internet, more specifically, P2P network. For instance, Skype, one of the most widely used phone software is using P2P technology. Furthermore, many research organizations are trying to apply P2P network on cellular network.
Many peer-to-peer networks are under constant attack by people with a variety of motives.
Examples include:
* poisoning attacks (e.g. providing files whose contents are different from the description)
* polluting attacks (e.g. inserting "bad" chunks/packets into an otherwise valid file on the network)
* freeloaders (users or software that make use of the network without contributing resources to it)
* insertion of viruses to carried data (e.g. downloaded or carried files may be infected with viruses or other malware)
* malware in the peer-to-peer network software itself (e.g. distributed software may contain spyware)
* denial of service attacks (attacks that may make the network run very slowly or break completely)
* filtering (network operators may attempt to prevent peer-to-peer network data from being carried)
* identity attacks (e.g. tracking down the users of the network and harassing or legally attacking them)
* spamming (e.g. sending unsolicited information across the network- not necessarily as a denial of service attack)
Most attacks can be defeated or controlled by careful design of the peer-to-peer network and through the use of encryption. P2P network defense is in fact closely related to the "Byzantine Generals Problem". However, almost any network will fail when the majority of the peers are trying to damage it, and many protocols may be rendered impotent by far fewer numbers.
See also:
Grid computing