What is meant by proximity Routing ? How is it different from Proximity Neighbour Selection?

StackOverflow https://stackoverflow.com/questions/22287493

  •  12-06-2023
  •  | 
  •  

Question

What is meant by proximity Routing ? How is it different from Proximity Neighbour Selection?

Can you please explain it with a definition or an example..

Was it helpful?

Solution

One is only the selection of the neighbours and the other is routing - obvious :) - ok some more details based on an example with a Distributed Hash Table (DHT):

Proximity Neighbour Selection:

In a DHT you need to establish connections with your neighbours. Usually this is done random, however with Proximity Neighbour Selection, you will take the location of the other Neighbours into account. This could be done by measuring the latency between them or similar. Additionally to establishing the connection only with your neighbours you also connect to one or two neighbours which are further away. This way you will create a Small-World network. Proximate / local neighbours could be for instance:

  • on the same physical machine (when you run on VMs) - very high locality, highly improbable
  • on the same rack / Same switch in a Datacenter - direct connection possible without routing
  • in the same datacenter - strong interconnected network, compared to the internet
  • IP Addresses or GPS based locality - nodes / datacenter closer to each other will have a lower latency than when you need to cross the Atlantic or Pacific

After you have your neighbours you can start proximity routing...

Proximity Routing

Performing Proximity Neighbour Selection initially isn't necessary, but makes life easier. In a DHT proximity routing is, when you don't forward the request to the possibly best node (you know of - that's why establishing the connections first) but instead consider two things:

  1. Do I know a node in my proximate (local) neighbourhood which will know the other node? - forward it there.
  2. Do I know another node in the proximate (local) neighbourhood of the target? - forward it there.

This way, you might not always get optimal solutions in terms of hops, but higher throughput since you have a higher bandwidth between proximate neighbours. A very good example for proximate routing is Microsoft`s Pastry

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top