A method for joining a node (N, 704) to a mesh network (110, 150; 702, 706), the method comprising: receiving, by the node (N, 704), a first beacon from a first network (110, 702) that includes an indication of a status of a backhaul connection between the first network (110, 702) and a central system; analyzing, by the node (N, 704), the first beacon to determine whether the backhaul connection between the first network (110, 702) associated with the first beacon and the central system is available; when the backhaul connection for the first network (110, 702) associated with the first beacon is not available, then continuing to listen, by the node (N, 704), for additional beacons; receiving, by the node (N, 704), a second beacon from a second network (150, 706) that includes an indication of a status of a backhaul connection between the second network and the central system; analyzing, by the node (N, 704), the second beacon to determine whether the backhaul connection between the second network associated with the second beacon and the central system is available; and when the backhaul connection for the second network (150, 706) associated with the second beacon is available, then joining the node (N, 704) to the second network (150, 706) associated with the second beacon by: sending, by the node (N, 704), a first message to join the second network associated with the second beacon; and after joining the second network, sending, by the node (N, 704), a second message indicating that the node (N, 704) is a critical node that requires the backhaul connection between the second network (150, 706) and the central system; receiving, by a root node (110, 150), a third message corresponding to the second message, wherein the third message includes identifying information for each node between the critical node (N, 704) and the root node (110, 150) that forwarded a message corresponding to the second message; and identifying, by the root node (110, 150), a critical path between the root node (110, 150) and the critical node (N, 704), the critical path including each node between the critical node (N, 704) and the root node (110, 150) that forwarded a message corresponding to the second message. receiving, by the node (N, 704), a first beacon from a first network (110, 702) that includes an indication of a status of a backhaul connection between the first network (110, 702) and a central system; analyzing, by the node (N, 704), the first beacon to determine whether the backhaul connection between the first network (110, 702) associated with the first beacon and the central system is available; when the backhaul connection for the first network (110, 702) associated with the first beacon is not available, then continuing to listen, by the node (N, 704), for additional beacons; receiving, by the node (N, 704), a second beacon from a second network (150, 706) that includes an indication of a status of a backhaul connection between the second network and the central system; analyzing, by the node (N, 704), the second beacon to determine whether the backhaul connection between the second network associated with the second beacon and the central system is available; and when the backhaul connection for the second network (150, 706) associated with the second beacon is available, then joining the node (N, 704) to the second network (150, 706) associated with the second beacon by: sending, by the node (N, 704), a first message to join the second network associated with the second beacon; and after joining the second network, sending, by the node (N, 704), a second message indicating that the node (N, 704) is a critical node that requires the backhaul connection between the second network (150, 706) and the central system; receiving, by a root node (110, 150), a third message corresponding to the second message, wherein the third message includes identifying information for each node between the critical node (N, 704) and the root node (110, 150) that forwarded a message corresponding to the second message; and identifying, by the root node (110, 150), a critical path between the root node (110, 150) and the critical node (N, 704), the critical path including each node between the critical node (N, 704) and the root node (110, 150) that forwarded a message corresponding to the second message. sending, by the node (N, 704), a first message to join the second network associated with the second beacon; and after joining the second network, sending, by the node (N, 704), a second message indicating that the node (N, 704) is a critical node that requires the backhaul connection between the second network (150, 706) and the central system; receiving, by a root node (110, 150), a third message corresponding to the second message, wherein the third message includes identifying information for each node between the critical node (N, 704) and the root node (110, 150) that forwarded a message corresponding to the second message; and identifying, by the root node (110, 150), a critical path between the root node (110, 150) and the critical node (N, 704), the critical path including each node between the critical node (N, 704) and the root node (110, 150) that forwarded a message corresponding to the second message.