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
10
votes
4 answers

Does HTML5 Support Peer-to-Peer (and not just WebSockets)

The language I am working in is Javascript on HTML5-compatible browsers. My understanding is that WebSockets require a socket server to transport push notifications and messages back and forth between clients. Is there an actual peer-to-peer…
eeejay
  • 5,394
  • 8
  • 29
  • 30
10
votes
1 answer

How does the bitcoin client determine the first IP address to connect?

In my knowledge, bitcoin is a p2p protocol and a p2p protocol must have a dedicated central server. But it is said that bitcoin is decentralized.
Divlaker
  • 401
  • 6
  • 16
10
votes
1 answer

A P2P application with Python

I am trying to implement P2P in my project, but I came across a problem because of misunderstanding of this P2P. Here is how I am implementing it: The client open the program, and sends to the server that he wants to connect it, the server adds the…
user3421416
10
votes
2 answers

Handling the process of handling ICE candidates when using a PeerConnection?

I have exhausted all possibilities to get a stable WebRTC implementation working and am looking to get some advice. All possible solutions to handling a working connection working cross-browser have been taken into consideration, e.g: Waiting until…
Dec Murphy
  • 101
  • 1
  • 3
10
votes
2 answers

C++ Winsock P2P

Scenario Does anyone have any good examples of peer-to-peer (p2p) networking in C++ using Winsock? It's a requirement I have for a client who specifically needs to use this technology (god knows why). I need to determine whether this is…
Goober
  • 13,146
  • 50
  • 126
  • 195
10
votes
1 answer

Clients/Peers communication with wifi-direct on Android platform

I have three Android devices: A,B,and C. They are connected via wifi-direct (assuming B is the group owner). I just have two questions: 1. A want send a message to C, does the message have to pass the group owner B to reach C? 2. If the group owner…
Kan
  • 133
  • 6
10
votes
4 answers

Android: NAT Traversal?

It appears to me that newer Android devices run behind a NAT, where the local address is an internal carrier or LAN address and the public address is the router or carrier assigned external address. Nevertheless, newer phones don't return the same…
bgroenks
  • 1,859
  • 5
  • 34
  • 63
9
votes
2 answers

Master-slave vs peer-to-peer distributed computing

HBase has a master-slave model, while Cassandra has a peer-to-peer model. I am aware that in a master-slave model, the master is a SPOF (Single Point of Failure) and there is no such thing in a peer-to-peer model. Are there any other pros and cons…
Praveen Sripati
  • 32,799
  • 16
  • 80
  • 117
9
votes
1 answer

Peer-to-Peer video from iOS to Android?

I'm start to develop/prototype a Peer-to-Peer video chat application for iOS and Android. I'm trying to create a similar experience to FaceTime or Tango -- ie good quality video, works across the internet/3G (not just on the same LAN). I'm just…
erikcw
  • 10,787
  • 15
  • 58
  • 75
9
votes
1 answer

Distributed algorithm design

I've been reading Introduction to Algorithms and started to get a few ideas and questions popping up in my head. The one that's baffled me most is how you would approach designing an algorithm to schedule items/messages in a queue that is…
zcourts
  • 4,863
  • 6
  • 49
  • 74
9
votes
0 answers

WebRTC fails to connect P2P even though peers can send UDP packets to each other

I was under the impression that WebRTC goes to great lengths to achieve P2P connectivity despite NATs. [1][2] That's why I was surprised to learn that WebRTC fails to connect peers in some situations where a P2P connection is easy to achieve. I…
Atte Juvonen
  • 4,922
  • 7
  • 46
  • 89
9
votes
1 answer

How OrbitDB, Gun, HyperDrive and BigchainDB differ from each other?

After some research, I found 5 most popular p2p databases, but still, don't understand how they differ from each other and which DB is better for certain cases.
9
votes
1 answer

Set up a Wifi-Direct connection between Android and Raspberry Pi 3 Linux

I want to connect two devices using Wifi-Direct. One is a RaspBerry PI 3 (with Raspbian Jessie), the other is an Android smartphone. Raspberry as server and Android as client. I decided to use wpa_supplicant in Raspbian and the WifiDirect example…
Keles
  • 369
  • 1
  • 2
  • 14
9
votes
1 answer

Decentralized chat application using IPFS

I am writing a decentralized chat application using nodejs, expressjs, angularjs, socket.io and ipfs.I am using libp2p to form the nodes that will communicate with each other over an open connection. Libp2p is a networking stack modularized out of…
Varun Agarwal
  • 1,587
  • 14
  • 29
9
votes
2 answers

Connect 2 or more Android clients directly

I want to connect 2 or more Android devices with p2p connection. As I understand I may use Wi-Fi Direct under one wifi network https://developer.android.com/guide/topics/connectivity/wifip2p.html But I want to connect Android clients located in…
user1312837
  • 1,268
  • 1
  • 11
  • 29