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:

    Women will not advance except by joining together in cooperative action.... Unlike other groups, women do not need to set affiliation and strength in opposition one against the other. We can readily integrate the two, search for more and better ways to use affiliation to enhance strength—and strength to enhance affiliation.
    Jean Baker Miller (20th century)