×

Distributed ad hoc network protocol using synchronous shared beacon signaling

  • US 8,385,322 B2
  • Filed: 07/28/2008
  • Issued: 02/26/2013
  • Est. Priority Date: 07/30/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method for autonomous wireless sensor nodes in an ad hoc, distributed scaleable wireless sensor node network with nodes having neighbor nodes, some of which may be gateway nodes, orphan nodes and clusters of nodes, to synchronize timing with each other within time slots under the control of an autonomously determined network Time Master node using synchronization packets identifying for each such packet the sending node'"'"'s cluster Time Master node ID number, sending node Time Rank, sending node Time Sequence Number, sending node source identification, packet transmission time, slot alignment offset, slot number, operating channel number and time synchronization data wherein each node in the network is identified by a node ID number and each node in a cluster has associated therewith a cluster Time Master node ID number, a cluster node Time Rank and a cluster node Time Sequence Number and wherein further for each cluster in the network a node ID number of a Time Master, a Time Rank, a Time Sequence, a timestamp and a node ID number of a Time Parent is stored in memory, comprising:

  • initially designating all nodes as Time Master nodes;

    placing all nodes in a wait state to listen for synchronization packets;

    transmitting synchronization packets from one sending node to its neighbor nodes, wherein for each received synchronization packet at a neighbor node;

    parsing data in each synchronization packet received;

    determining based on the parsed data in each synchronization packet received whether the receiver'"'"'s configured operating channel matches that of the sender;

    if not, processing the remainder of the received synchronization packet;

    otherwise, determining second whether the receiving node is configured to synchronize to a known network gateway Time Master node;

    if so, and the Time Master node ID number associated with the sending node is not the same as the known preconfigured network gateway Time Master node ID number, processing the remainder of the received synchronization packet;

    otherwise, determining third if the receiving node is an orphan node;

    if so, synchronizing the sending and the receiving node and returning to the placing;

    otherwise, determining fourth if the cluster Time Master node ID number contained in the synchronization packet associated with the sending node is the same as the receiving node ID number;

    if so, processing the remainder of the received synchronization packet;

    otherwise, determining fifth if the Time Master node ID number contained in the synchronization packet associated with the sending node is equal to the known cluster Time Master node ID number associated with the receiving node;

    if so, determining sixth if a sending node Time Sequence Number differs from the cluster Time Sequence Number associated with the receiving node;



    if so, synchronizing the receiving node;



    if not, determining seventh if a synchronization packet sending node ID number is the same as the node ID number of the Time Parent;



    if so, processing the remainder of the received synchronization packet;



    if not, determining eighth whether the sending node'"'"'s Time Rank is greater than the cluster node'"'"'s Time Rank plus one;



    if so, synchronizing the sending and the receiving node and returning to the placing;



    otherwise, processing the remainder of the received synchronization packet;

    otherwise, if the Time Master node ID number contained in the synchronization packet associated with the sending node is not equal to the known cluster Time Master node ID number,determining ninth if the sending node'"'"'s Time Master node ID number is less than a current cluster Time Master node ID number;



    if so, synchronizing the receiving node with the sending node'"'"'s Time Master node;



    otherwise, processing the remainder of the received synchronization packet.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×