Skip to content
This repository has been archived by the owner on Sep 19, 2019. It is now read-only.

Only hold a selection of WebSocket connections #10

Open
makkes opened this issue Nov 4, 2013 · 7 comments
Open

Only hold a selection of WebSocket connections #10

makkes opened this issue Nov 4, 2013 · 7 comments

Comments

@makkes
Copy link

makkes commented Nov 4, 2013

Currently the signaling server keeps a WebSocket connection open to all peers in the network. This is not necessary and the number of client<->server connections should be kept at a minimum.

This implies adding a forward functionality to the router and probably should depend on our Chord implementation since the full mesh router would have to be adapted for loop prevention among other things.

@jure
Copy link
Contributor

jure commented Jun 12, 2014

This is essentially the same as issue #4, so to keep it simple, I imagine this one can be closed.

@chris--
Copy link
Member

chris-- commented Jun 12, 2014

I don't think this is same as #4 as the process of choosing bootstrap peers is independent of the DHT implementation. We need to discuss how to choose bootstrap peers. These peers ought to be relatively stable so the bootstrap procedure can complete. Approaches:

  • Use some kind of metric (e.g. uptime) to determine stable peers
  • ... suggestions?

@piranna
Copy link

piranna commented Jun 12, 2014

Uptime info or other metrics should be shared between peers on bootstrap. How?

@jure
Copy link
Contributor

jure commented Jun 12, 2014

I see, this is about bootstrapping then. Don't you only need one node though? About the metric, an interesting characteristic of the Kademlia protocol is that stable long-lived nodes will be at the top of buckets, which can be used for bootstrapping with multiple nodes.

http://xlattice.sourceforge.net/components/protocol/kademlia/specs.html#join

@chris--
Copy link
Member

chris-- commented Jun 12, 2014

@piranna

Uptime info or other metrics should be shared between peers on bootstrap. How?

It does not need to be shared among the peers, rather it can be implemented as a functionality of the bootstrap server.

@jure

Don't you only need one node though?

In theory one node suffices but then that one must not fail (as the server cannot reconnect to another node).

@piranna
Copy link

piranna commented Jun 12, 2014

I see... but this requires more logic on the server... :-/

@makkes
Copy link
Author

makkes commented Jun 13, 2014

@chris--

Use some kind of metric (e.g. uptime) to determine stable peers
... suggestions?

We could also implement an (optional) authentication mechanism for dedicated peers that are determined as bootstrap peers.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants