×

Flood-and-forward routing for broadcast packets in packet switching networks

  • US 5,056,085 A
  • Filed: 08/09/1989
  • Issued: 10/08/1991
  • Est. Priority Date: 08/09/1989
  • Status: Expired due to Term
First Claim
Patent Images

1. In a communication network having a plurality of communication nodes including at least one source node and a plurality of receiving nodes, the source node transmitting data packets to all the receiving nodes in a broadcast transmission mode, a method of operation comprising:

  • (a) at the source node, periodically designating one of the data packets as a scout packet for establishing broadcast routes to the receiving nodes;

    incorporating into the scout packet a source identification, indicative of the identification of the source node, and a scout label, indicative of the particular scout packet;

    transmitting that scout packet to all the receiving nodes in a constrained flood broadcast transmission; and

    initiating a first time interval having a predetermined duration for receipt of acknowledgements of receipt of the scout packet;

    (b) at each receiving node, maintaining a constraint table of the source identifications and scout labels of received scout packets and a broadcast routing table for received scout packets, said broadcast routing table being indexed by source identifications and scout labels;

    receiving the transmitted scout packet;

    determining whether the source identification and scout label of the received scout packet are in the constraint table;

    if the source identification and scout label of the received scout packet are in the constraint table, then discarding the scout packet; and

    if the source identification and scout label of the received scout packet are not in the constraint table, then (1) transmitting an acknowledgement of the scout packet to the node from which the scout packet was received, (2) transmitting the scout packet to other receiving nodes in accordance with the constrained flood broadcast transmission, (3) initiating a second time interval having a predetermined duration for receipt of acknowledgements of receipt of the scout packet by said other receiving nodes, (4) recording the source identification and scout label of the scout packet in the constraint table, and (5) recording in a "received column" in the broadcast routing table the identification of the node from which the scout packet was received, and (6) recording in a "send to" column in the broadcast routing table the identification of the other receiving nodes from which an acknowledgement of receipt of the scout packet is received during the second time interval;

    (c) at the source node, receiving acknowledgements of receipt of transmitted scout packets;

    incorporating into non-scout data packets the source identification and scout label of the scout packet for which the first time interval has most recently expired; and

    transmitting the non-scout data packets to those nodes from which an acknowledgement has been received of receipt of the scout packet having the source identification and scout label that are incorporated into such non-scout data packet; and

    (d) at each receiving node, receiving non-scout data packets;

    determining whether the "received from" column of the broadcast routing table has recorded therein as the node from which said receiving node received the scout packet having the same source identification and scout label as are incorporated in the received non-scout data packet the identification of the node from which said each receiving node received the non-scout-data packet;

    if the "received from" column of the broadcast routing table has recorded as the node from which said receiving node received the scout packet having the same source identification and scout label as are incorporated in the received non-scout data packet the node from which the receiving node received the non-scout data packet, then transmitting the non-scout data packet to those receiving nodes recorded in the "send to" column of the broadcast routing table for that scout packet; and

    if the "received from" column of the broadcast routing table does not have recorded as the node from which said receiving node received the scout packet having the same source identification and scout label as are incorporated in the received non-scout data packet the node from which the receiving node received the non-scout data packet, then discarding the non-scout data packet.

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