Content Addressable Network - Node Joining

Node Joining

To join a CAN, a joining node must:

  1. Find a node already in the overlay network.
  2. Identify a zone that can be split
  3. Update the routing tables of nodes neighboring the newly split zone.

To find a node already in the overlay network, bootstrapping nodes may be used to inform the joining node of IP addresses of nodes currently in the overlay network.

After the joining node receives an IP address of a node already in the CAN, it can attempt to identify a zone for itself. The joining node randomly picks a point in the coordinate space and sends a join request, directed to the random point, to one of the received IP addresses. The nodes already in the overlay network route the join request to the correct device via their zone-to-IP routing tables. Once the node managing the destination point's zone receives the join request, it may honor the join request by splitting its zone in half, allocating itself the first half, and allocating the joining node the second half. If it does not honor the join request, the joining node keeps picking random points in the coordinate space and sending join requests directed to these random points until it successfully joins the network.

After the zone split and allocation is complete, the neighboring nodes are updated with the coordinates of the two new zones and the corresponding IP addresses. Routing tables are updated and updates are propagated across the network.

Read more about this topic:  Content Addressable Network

Famous quotes containing the word joining:

    Behold the walls of Jericho. Maybe not as thick as the ones that Joshua blew down with his trumpet, but a lot safer. See, I have no trumpet. Now just to show you my heart’s in the right place, I’ll give you my best pair of pajamas. Do you mind joining the Israelites?
    Robert Riskin (1897–1955)