Questions tagged [p2p]

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application.

Peers make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model where only servers supply, and clients consume.

The peer-to-peer (P2P) application structure was popularized by file sharing systems like Napster. The peer-to-peer computing paradigm has inspired new structures and philosophies in other areas of human interaction. In such social contexts, peer-to-peer as a meme refers to the egalitarian social networking that is currently emerging throughout society, enabled by Internet technologies in general.

What is it?

This is a special kind of network type ('network topology' is the fancy description). It describes computers that are networked to each other without a central server being in-between.

Why was it developed?

Peer-to-peer networks are very popular with people who want to share files directly with one another. The files do not have to be stored on a central server.

Software has been developed that can even put together a file from bits of the file stored across several 'peers' on the network. For example, BitTorrent can do this. The advantage is that no single computer needs to be over-loaded when a very popular / very large file is requested.

Why is it important?

It is an important development, because it will affect the way the Internet is used in the future.

Many companies want to provide 'video on demand' services, but the problem has been how to provide the vast bandwidth needed when thousands of people are asking for the same video file, e.g., the latest episode of Lost or 24.

Peer-to-peer is an ideal solution to the problem, because hundreds of computers can hold parts of the video and so share the load.

Some companies are calling the peer-to-peer connections they are building 'The Grid' which is a trendier name for the same thing.

What about the future?

In the near future, high definition television programs may be delivered through the Internet and so peer-to-peer may be used.

References

1970 questions
9
votes
1 answer

Highly unbalanced Kademlia routing table

In the Kademlia paper, the last paragraph of section 2.4 states that in order to properly handle highly unbalanced trees... Kademlia nodes keep all valid contacts in a subtree of size at least k nodes, even if this requires splitting buckets in…
offbynull
  • 381
  • 3
  • 16
9
votes
2 answers

Android Wifi Direct detects peers but Peer List is empty

Everything works fine but when WifiP2pManager calls onPeersAvailable method (it calls it correctly) the Peers Device List is empty, which makes no sense because if the method is called, it's because a peer was discovered. :S Is something wrong in my…
ProtectedVoid
  • 1,293
  • 3
  • 17
  • 42
9
votes
2 answers

How do WebRTC peers connect to each other if none have opened ports?

I know there needs to be a STUN/ICE/TURN server to find the IP addresses of the peers involved in a WebRTC communication. However, even after IPs are found, how do the peers actually talk to each other independently without having any ports opened?…
Luca Matteis
  • 29,161
  • 19
  • 114
  • 169
9
votes
1 answer

Peer to peer reworking for conference, WebRTC

I have to ask the question again today. I am in the course of processing a code to connect to one to one to the code allowing for a group conversation. Without beating around the bush, I have this code: CallToUsers = function(connection) { var…
Jake
  • 633
  • 1
  • 7
  • 19
9
votes
4 answers

Does Flash10 + p2p really work?

I've been googling around and I still can't get it. Some people say: here you go, just use it. Others claim it has certain restrictions that does not allow you to use p2p the way you want it in Flash. So, here's a simple question: is it possible to…
orion3
  • 9,797
  • 14
  • 67
  • 93
9
votes
4 answers

WebRTC P2P - Update

When will it be posible to exchange any kind of data via P2P with WebRTC? I'm thinking about making a P2P bittorrent software, not to stream audio/video. Thanks
jacktrades
  • 7,224
  • 13
  • 56
  • 83
9
votes
1 answer

OpenSSL: RSA Encryption/Decryption, key generation & key persistance

I am trying to build a p2p application that requires the following, using RSA in OpenSSL: -Encryption -Decryption -Generating Keys (done) -Saving and loading keys (done) -Saving the PUBLIC key as bytes so it can be sent over the sockets -Loading…
64bit_twitchyliquid
  • 894
  • 2
  • 10
  • 22
9
votes
1 answer

How P2P applications find other nodes?

I was wondering how in a decentralized P2P network each node can find other nodes...
goodolddays
  • 2,595
  • 4
  • 34
  • 51
8
votes
1 answer

Bluetooth peer to peer networking APIs iOS

G'Day programmers...I am planning to make an application which will be using peer to peer bluetooth connection between two different iOS device. So my question is, is there any good tutorials which can guide me through? Purpose is to send a stream…
TeaCupApp
  • 11,316
  • 18
  • 70
  • 150
8
votes
3 answers

Peer-to-peer replication of a sqlite database

I am looking for a way to replicate a small and simple relational database (like SQLite) across peers. This should work in an environment with unstable network connections, hence the need for each peer to have a full copy of the database. This…
user952460
  • 133
  • 1
  • 8
8
votes
1 answer

Establish a P2P Connection in C#

I realize this question is similar to some others, but I figured my situation is sufficiently different to warrant its own question (hopefully). What I'm planning on is deploying a program on another person's computer which will open a connection…
IAE
  • 2,213
  • 13
  • 37
  • 71
8
votes
0 answers

Using libjingle 0.5.x for P2P with self-provided signaling

Can someone provide a small chunk of code based on libjingle 0.5.x where I can see how I could establish a P2P channel for transmitting data, without using XMPP? I intend to provide signaling via either a non-XML-based protocol, or via a…
Ivan Vučica
  • 9,529
  • 9
  • 60
  • 111
8
votes
1 answer

How to implement my own Cirrus (previously named Stratus) server?

I am interesting in creating a P2P application using Cirrus (http://labs.adobe.com/technologies/cirrus/rtmfpgroups.html). The examples given create a connection with servers managed by Adobe. I'd like to do this on my Node.js server, how should I…
Tom
  • 8,536
  • 31
  • 133
  • 232
8
votes
1 answer

How to begin gathering ICE candidates for peer connection

I am developing the signaling system between two peers and have noticed that the RTCPeerConnection.onicecandidate event is not firing. I checked the iceGatheringState and it always returns as "new" meaning the peer connection has not began searching…
Pj Rigor
  • 391
  • 6
  • 17
8
votes
4 answers

any p2p libraries in .net

looking for a p2p library for peer to peer and peer to peer(S) so far I've come across Brunet http://boykin.acis.ufl.edu/wiki/index.php/Brunet // does not seem to have #2 above WCF P2P http://msdn.microsoft.com/en-us/library/cc297274.aspx //…
Kumar
  • 10,997
  • 13
  • 84
  • 134