Peer-to-Peer Communications (P2P)
People frequently use peer-to-peer (P2P) applications on personal computers to facilitate the distribution of information and computing resources. A basic P2P solution provides each client, e.g., a personal computer, on a network with both a server and client application that allows each user to respectively make available and access resources (e.g., files, CPU time, memory, etc.) with other users. As such each combined client and server node on a P2P network is referred to as a peer. Examples such as Kazaa, Gnuetella, Morpheus, and Napster networks evince the public's desire to share files in a distributed fashion.
Network
Networks are commonly thought to consist of the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology. It should be noted that the term “server” as used herein refers generally to a computer, other device, software, and/or combination thereof that processes and responds to the requests of clients, often from across a communications network. The term “client,” in turn, generally refers to a computer, other device, software, user, and/or combination thereof that generates requests for service. Generally, the term “client” and “user” are interchangeable, and are used as such throughout. As such, servers serve their information to requesting clients. A computer, other device, software, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a “node.” Networks are generally thought to facilitate the transfer of information from source points to destinations.