I would like to ask more knoledgeable members of this community for some explanations regarding questions I still find valid after reading Primer, lots of SAFE related high-level articles on Internet and various topics here.
I have read about XOR distance and addressing of nodes and data.
Also I am familiar with Sections and the assumption that there is no notion of time in the SAFE network.
Recently there was a post that current Sections are based on 7+7 Elders and Adult nodes and when a section grows larger it is split into two (maybe more?) together with data chunks - those now are divided between the new sections.
But again these new sections have a limit of 7+7.
So right now there is at most 14 nodes in SAFE network serving particular data chunk.
Let us assume that the network is mature and we have nodes spread all over the planet. Roughly we can assume that there will be two nodes on each continent, and then maybe 4 in Asia (I assume we will have to wait some time for Penguins to connect :).
Under this assumption and current purely mathematical node distribution scheme each data chunk will have to travel on average 1000km to reach a node that desires it (maybe it is 500km or maybe 2000km - this is not the point I am trying to make here).
It seems like a lot of traffic to me.
On the other hand we have data chunks. And those af first sight seem all equal, but they are not. Here is why. There will be users that store their family photos and access it only during family gathering like X-mas and birthdays. There are also data chunks that will be massively popular, like Youtube’s Gangnam Style. So in family photo case it is fine to have only 14 hosts serving each of those photo collection chunks. But when there is an avalanche of requests for the video, there is high risk of a random set of 14 nodes not being able to withstand even a short request peak making the network feel slow and offputting.
What I think might be worth considering is letting those sections adjust their size autonomically depending on some usage threshold.
So if nodes in a section get overwhelmed by the number of requests they get such a section could be gradually expanded (to a limit I suppose) so that it can easily serve all those requests.
Nodes in that section could send Need_Some_Help_Here message, or maybe DataManager could trigger expansion.
Once this request burst is over such a section can be shrunk gradually, up to a point in which current requests can be served with not to much sweat from section nodes.
And what is also worth noticing while shrinking section could remove those nodes that delivered the least amount of data chunks, and keep those which delivered most of those. Some sort of natural selection of nodes.
This would also mean that the new core section nodes are more performant, and possibly closer to requestors, making the network more efficient.
Can you comment on that?