1. A method for detecting a failed node in a structured network, the method comprising: assigning nodes of a neighboring set either to an active group or to a passive group, wherein the nodes of the neighboring set are connected to a current node; instructing active nodes in the active group to send a keep-alive query to the current node, wherein a timing for sending the keep-alive query from the active nodes to the current node is controlled by the current node; instructing passive nodes to listen for a keep-alive query from the current node and to reply with a keep-alive query response to the current node; configuring the current node to reply with a keep-alive query response to the active nodes; and determining the failed node based on (i) the keep-alive query response received from the passive nodes and (ii) the keep-alive query sent by the active nodes, wherein the current node is configured to not send the keep-alive query to the active nodes and the passive nodes are configured to not send a keep-alive query to the current node.