peer to peer
Peer to peer was originally used to describe the communication of two peers and is analogous to a telephone conversation. A phone conversation involves two people (peers) of equal status, communication between a point-to-point connection. Simply, this is what P2P is, a point-to-point connection between two equal participants.
The Internet started as a peer-to-peer system. The goal of the original ARPANET was to share computing resources around the USA. Its challenge was to connect a set of distributed resources, using different network connectivity, within one common network architecture. The first hosts on the ARPANET were several U.S. universities, e.g., the University College of Los Angeles, Santa Barbara, SRI and University of Utah. These were already independent computing sites with equal status and the ARPANET connected them as such, not in a master-slave or client-server relationship but ratheras equal computing peers.
From the late 1960s until 1994, the Internet had one model of connectivity. Machines were assumed to be always switched on, always connected and assigned permanent IP addresses. The original DNS system was designed for this environment, where a change in IP address was assumed to be abnormal and rare, and could take days to propagate through the system. However, with the invention of Mosaic, another model began to emerge in the form of users connecting to the Internet from dial-up modems. This created a second class of connectivity because PCs would enter and leave the network frequently and unpredictably. Further, because ISPs began to run out of IP addresses, they began to assign IP addresses dynamically for each session, giving each PC a different, possibly masked, IP address. This transient nature and instability prevented PCs from being assigned permanent DNS entries, and therefore prevented most PC users from hosting any data or network-facing applications locally.
For a few years, treating PCs as clients worked well. Over time, though, as hardware and software improved, the unused resources that existed behind this veil of second-class connectivity started to look like something worth getting at. Given the vast array of available processors mentioned earlier, the software community is starting to take P2P applications very seriously. Most importantly, P2P research is concerned in addressing some of the main difficulties of current distributed computing: scalability, reliability, interoperability.