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

[10] Sophisticated ping strategy and background pinging #1901

Closed
sschiessl-bcp opened this issue Sep 26, 2018 · 8 comments
Closed

[10] Sophisticated ping strategy and background pinging #1901

sschiessl-bcp opened this issue Sep 26, 2018 · 8 comments
Assignees
Labels
[1b] User Story The User Story details a requirement. It may ref a parent Project (Epic). It may ref child Task(s) [3] Enhancement Classification indicating a change to the functionality of the existing imlementation [4b] Normal Priority Priority indicating the moderate impact to system/user -OR- existing workaround is costly to perform [5d] Large Indicates size of task. Est. between four and ten hours
Milestone

Comments

@sschiessl-bcp
Copy link
Contributor

sschiessl-bcp commented Sep 26, 2018

Ping Strategy

The first step for the new ping strategy was completed with #1521

In the next step I propose to do a binary-tree like ping strategy.

  • Ping 2 random nodes of each region
  • Select 2 best regions, ping 2 random nodes in each country
  • Select best country, ping all nodes within

The ping strategy stops when a sufficiently fast node has been found. If first iteration is not successfull, all nodes are pinged until a sufficiently fast one is found. In the next ping cycle the old region / country is remembered to accelerate pinging.

Background pinging

  • After nodes with sufficient connectivity are found, the pinging will resume in the background

In order to achieve this it must be able to manually show the node list even if auto select is one.

@sschiessl-bcp sschiessl-bcp changed the title Sophisticated ping strategy Sophisticated ping strategy and fine-grained node management Sep 26, 2018
@wmbutler
Copy link
Contributor

Great strategy.

@wmbutler wmbutler added this to the 181017 milestone Sep 28, 2018
@wmbutler wmbutler added the [3] Feature Classification indicating the addition of novel functionality to the design label Sep 28, 2018
@wmbutler wmbutler changed the title Sophisticated ping strategy and fine-grained node management [5] Sophisticated ping strategy and fine-grained node management Sep 28, 2018
@ryanRfox
Copy link
Contributor

ryanRfox commented Oct 4, 2018

Great idea @sschiessl-bcp. I recently posted BitShares Network Map #bitshares-core/1348 which may be considered to visualize the connections the client is discovering/connecting to/excluding/etc. May also be display info about each node on the map.

@sschiessl-bcp
Copy link
Contributor Author

I will re-evaluate background pinging when doing this task (see #1940)

@startailcoon
Copy link
Contributor

How is work progressing on this?

I'm looking forward to your work on background pinging as well

@startailcoon startailcoon added [3] Enhancement Classification indicating a change to the functionality of the existing imlementation [1b] User Story The User Story details a requirement. It may ref a parent Project (Epic). It may ref child Task(s) [5d] Large Indicates size of task. Est. between four and ten hours [4b] Normal Priority Priority indicating the moderate impact to system/user -OR- existing workaround is costly to perform and removed [3] Feature Classification indicating the addition of novel functionality to the design labels Oct 21, 2018
@startailcoon startailcoon modified the milestones: 181017, 181031 Oct 21, 2018
@sschiessl-bcp
Copy link
Contributor Author

sschiessl-bcp commented Oct 22, 2018

This is done, just not tested well enough due to delays. Will come soon.

Background pinging also works nicely, but will require UX and not within scope of this issue.

@sschiessl-bcp sschiessl-bcp changed the title [5] Sophisticated ping strategy and fine-grained node management [8] Sophisticated ping strategy and fine-grained node management Oct 23, 2018
@sschiessl-bcp
Copy link
Contributor Author

sschiessl-bcp commented Oct 23, 2018

I included the background pinging and increased the estimate, will adjust when done.

Done so far

  • introduce tree ping strategy
  • fixed some API detrails
  • completely reworked doLatency update, allows background pinging as well. On first load, UI will connect when sufficient connectivity is found and ping rest in background
  • allow to see nodes even when auto-select
  • introduce latencyPreferences (region and country, automatically set after pinging all nodes manually)

Outstanding:

  • Docs

@sschiessl-bcp
Copy link
Contributor Author

Done now. Hours have been updated, please adjust if not acceptable.

@sschiessl-bcp sschiessl-bcp changed the title [8] Sophisticated ping strategy and fine-grained node management [8.5] Sophisticated ping strategy and fine-grained node management Oct 23, 2018
@sschiessl-bcp
Copy link
Contributor Author

sschiessl-bcp commented Oct 24, 2018

I have included a better UX for background pinging, took 1,5h more, including testing. Please adjust or discuss.

I will not include user node management and have moved it to follow up issue to be able to include it in this staging release.

@sschiessl-bcp sschiessl-bcp changed the title [8.5] Sophisticated ping strategy and fine-grained node management [8.5] Sophisticated ping strategy and background pinging Oct 24, 2018
@sschiessl-bcp sschiessl-bcp changed the title [8.5] Sophisticated ping strategy and background pinging [10] Sophisticated ping strategy and background pinging Oct 24, 2018
sschiessl-bcp pushed a commit that referenced this issue Oct 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[1b] User Story The User Story details a requirement. It may ref a parent Project (Epic). It may ref child Task(s) [3] Enhancement Classification indicating a change to the functionality of the existing imlementation [4b] Normal Priority Priority indicating the moderate impact to system/user -OR- existing workaround is costly to perform [5d] Large Indicates size of task. Est. between four and ten hours
Projects
None yet
Development

No branches or pull requests

4 participants