Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lease Mechanism #4

Open
Chat-Wane opened this issue Nov 24, 2014 · 2 comments
Open

Lease Mechanism #4

Chat-Wane opened this issue Nov 24, 2014 · 2 comments

Comments

@Chat-Wane
Copy link
Owner

SCAMP uses a lease mechanism: after a while, a link becomes stale and must be replaced in order to rebalance the views.

Without it, newly joined peers have a partialView of 1 peer only, which increases the risk of disconnections due to failures. With this mechanism, the new peer will receive subscriptions requests and therefore, will add peers to its partialView.

@Chat-Wane
Copy link
Owner Author

Implemented as it is in the paper. Nevertheless, the thing does not work properly.
Paper (see ref. in readme) is a little bit fuzzy about it. For instance, it seems to assume that the renewing of the leases are not started at a same time ( Which can happen in small network ).

Also, it closes the inView links and resubscribe through the partialView to the network. Meaning that during a certain time, this peer cannot receive any messages. Imho, it constitutes a weakness of the protocol, especially in our context (where connections are created via handshake).

@Chat-Wane
Copy link
Owner Author

To implement such mechanism, the links established must be "stable". Thus, we allow the link to die when a peer crashes. However, when a peer renew its lease, links are not simply deleted. They are kept until all requests have been answered or after timeout, or the link where corresponding requests were sent died.

TODO: think about the size of such links.

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

No branches or pull requests

1 participant