In web2 hosting, geolocation plays a heavy role when picking hosting providers. The whole point of CDNs is to host data closer to end-users, to reduce ping and delivery times.
How does ICP solve this problem?
I know that canisters are hosted on several nodes. But let us pretend that a canister and all its replica’s are being split across nodes that are all located in the US+Europe, and now most of the users accessing that canister are coming from Japan:
-
Does ICP have some algorithm to move the canister replica’s to nodes that are closer to end users? Is this already implemented or planned for the future?
-
Alternatively: Do boundary nodes solve this in some way? I’ve read that boundary nodes help with load-balancing, so does this mean this has already been solved and is not even needed? Do boundary nodes cache data in a similar way as a CDN? (In that case, moving canisters might not really be needed). Is this already implemented or planned for the future?
-
What if 2 different apps are competing for the same node? Let us pretend there was a single node in South America, and now 2 different apps are experiencing heavy traffic from South America. How does ICP decide which app gets priority over using that node to serve users? Is this already implemented or planned for the future?
-
In that case: Are there any plans to allow devs to “pay extra” to give their apps priority to best nodes? In the same way bitcoin users can pay higher fees to have their transfer go through quicker, are there plans to allow ICP devs to pay extra to give their apps priority over Nodes closer to their end-users? For example: some nodes will be in high-density areas, while others will be in far off places. It will probably be cheaper to run nodes in far-away places (electricity/rent), but devs will still prefer to host their apps relatively close to their end-users. A system like that would incentivize node-providers to run nodes in high density areas, since they would also be getting paid more from apps that are dependent on low latency (DEFI, Communication, Streaming, Gaming). Is this planned?