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
5
votes
1 answer

Alternative to using the Bonjour protocol for iPhone peer to peer

I am implementing an iPhone/iPad app that allows users to send each other messages using the bonjour protocol. Basically, a server publishes his service over bonjour and the clients connected to the same wifi can discover his service and connect to…
5
votes
1 answer

How does a client establish a peer-to-peer connection?

It is common that (game)clients establish a p2p connection to reduce the latency and the load on the server. But how do they do that? Here an example: I open my League of Legends client. Press on "Play". Then my client sends the request to the…
Shylux
  • 1,163
  • 2
  • 16
  • 31
5
votes
1 answer

P2P overlay networks since 2001?

What has been happening with the four big P2P distributed hash table (DHT) overlay networks — Pastry, CAN, Chord, and Tapestry — since they all came out in 2001? I know that academic projects continued for a few years, and sporadic maintenance…
Canuck
  • 565
  • 4
  • 13
5
votes
2 answers

Is there a P2P framework in c?

I try to implement some p2p functionality with c. Is there any kind of framework? What do you think taking libtorrent (http://libtorrent.rakshasa.no/) and do some adaptation there? Or does anyone knows a good c framework/library? Update 1: More…
Jonas Schnelli
  • 9,965
  • 3
  • 48
  • 60
5
votes
2 answers

iOS Online Game w/o Server?

I've made an iOS game that works over both Bluetooth and bonjour. It works great both ways, but I'd really like it if players could play with eachother with any Internet connection, be it edge, 3G, or different wi-fi addresses. The catch: I don't…
ArtOfWarfare
  • 20,617
  • 19
  • 137
  • 193
5
votes
1 answer

How Gun Manages Users in A Sometimes-Disconnected P2P Network

Please help me understand how Gun manages users in a sometimes-disconnected P2P network. Let's say there are two Gun instances, I1 and I2, that are configured to be peers, and also let's assume user "doe" did not exist beforehand on either I1 or I2.…
Yasuro
  • 51
  • 2
5
votes
2 answers

Torrent Library for C++, Windows

I'm looking for a library which allows my C++ application (run in Windows) to download torrents. I can't, however, find any out there. Can someone please point me in the right direction? Thanks in advance.
JonaGik
  • 1,533
  • 5
  • 24
  • 35
5
votes
1 answer

Flutter - WebRTC: not working on WIFI / works on Mobile Data

I am using Flutter WebRTC for creating P2P video calling. I have encountered a problem which is related to networking: I have completeled the application but it only works with Mobile Data. When changing the network to WiFi, it is not working and…
5
votes
2 answers

Hello World for an existing DHT

I am familiar with the theory of how a Distributed Hash Table (DHT) works. Is it possible to write a program that stores data to an existing DHT (such as Kademlia or Mainline DHT) ? Is there a simple 'Hello World' type of program that would show the…
Liam
  • 19,819
  • 24
  • 83
  • 123
5
votes
2 answers

NAT translation not working from inside the network (hairpin condition)

I'm writing a P2P application. Peers regularly ping a main server to update their current IP/port, so when a peer wants to reach another one it can ask the server for that information. For now peers use UPnP to configure the NAT (for classic home…
Jules Olléon
  • 6,733
  • 6
  • 37
  • 47
5
votes
1 answer

Flutter-webrtc package

how to connect two users using flutter webrtc package for a p2p voice call? I have read about how webrtc works, signaling and how STUN works. I tried to use sip_ua package also but was not able to wrap my head around that how to connect two users. I…
Abdul Mustafa
  • 53
  • 1
  • 4
5
votes
1 answer

P2P Based Solutions prefers SIP or XMPP (Jingle) for Signaling

It’s just a start where I am exploring more in P2P side, and finding reasons in terms of Scalability or anything else for : SIP or XMPP (Jingle) for following use case : P2P Client Application Capable to perform File Transfer on all Network…
Sumit Arora
  • 5,051
  • 7
  • 37
  • 57
5
votes
3 answers

Is JXTA project still alive ? "jxta.org" seems to be down?

Is JXTA project still active ? I am looking for a good Open Source Peer to peer solution, found JXTA articles, but "jxta.org" is not working, Is it still alive ? or got it moved to some where else ?
Gireesh
  • 71
  • 3
5
votes
1 answer

Creating a TCP connection between 2 computers without a server

2 computers are in different subnets. Both are Windows machines. There are 2-5 IGMP-ready routers between them. They can connect each other over multicast protocol (they have joined the same multicast group and they know about each other's…
Andrew
  • 3,696
  • 3
  • 40
  • 71
5
votes
1 answer

Push data from device to device?

Is it possible to push data directly from one device to another over the mobile network without using a server and without wifi or Bluetooth? (Both have the same app installed.) How? :)
thomas.fogh
  • 369
  • 1
  • 4
  • 17