4.4 Record Flooding

Node 1 publishes a record in the graph.

Example of a Record Flooding message exchange

Figure 8: Example of a Record Flooding message exchange

The following steps flood the Record to all Nodes:

  • Node 1 creates a new record, and sends a FLOOD message containing the record to Node 2.

  • Node 2 had not seen this record, so it sends an ACK message back to Node 1 stating that the FLOOD was useful.

  • Node 1 sends a FLOOD message to its other neighbor, Node 3. Note that sending the FLOOD messages is done asynchronously, and does not wait for the ACK in step 2.

  • Node 3 had not seen this record, so it sends an ACK message back to Node 1 stating that the FLOOD was useful.

  • Having received a useful FLOOD message in step 2, Node 2 sends a FLOOD message containing the same record to its other neighbor, Node 3.

  • Node 3 already has Record 8, and thus considers the FLOOD message from step 5 to not be useful. Node 3 sends an ACK message back to Node 2 stating that the FLOOD was not useful.