Flooding communication using an access table to establish transmission times
First Claim
1. A method for propagating data over a meshed network of nodes comprising the steps of:
- a) establishing a node as a transmitting node for a period of time;
b) establishing the remaining nodes as receiving nodes for a period of time;
c) transmitting a data message from the transmitting node along all links connected to the transmitting node;
d) each receiving node 1) listening for an incoming message on all of its links and 2) selecting a message as a source, if it is the only message that arrives on any of its links, or arbitrarily selecting a message as the source, if a message arrives on more than one link;
3) locking out all links which are not designated as a source, blocking incoming data on locked out links for the remainder of the message;
4) retransmitting each bit of data on all links, immediately after each bit of data is received by the receiving node; and
5) unlocking all links when the message is completed;
wherein the transmitting node is established by;
a) providing each node in the mesh with an access table, the table having entries indicating which nodes may be allowed to transmit;
b) providing a pointer within the table, the pointer indicating which nodes may transmit at a particular time; and
c) allowing the pointer to sequentially step through the table entries to allow different nodes on the mesh to transmit.
1 Assignment
0 Petitions
Accused Products
Abstract
A communication protocol and hardware is provided which allows a meshed network to reliably perform in a real-time environment. The protocol establishes that within specified regions of a mesh, a single node will transmit on that region at any given time. The transmitted message is propagated to all other nodes in the region by flooding the network. Immediately upon receiving each bit of data, a receiving node will immediately retransmit that bit, thereby increasing the speed of the flooding. Arbitration and lockout logic is provided which assures that nodes receiving data from multiple sources will be able to correctly handle and retransmit that data.
-
Citations
18 Claims
-
1. A method for propagating data over a meshed network of nodes comprising the steps of:
-
a) establishing a node as a transmitting node for a period of time;
b) establishing the remaining nodes as receiving nodes for a period of time;
c) transmitting a data message from the transmitting node along all links connected to the transmitting node;
d) each receiving node 1) listening for an incoming message on all of its links and 2) selecting a message as a source, if it is the only message that arrives on any of its links, or arbitrarily selecting a message as the source, if a message arrives on more than one link;
3) locking out all links which are not designated as a source, blocking incoming data on locked out links for the remainder of the message;
4) retransmitting each bit of data on all links, immediately after each bit of data is received by the receiving node; and
5) unlocking all links when the message is completed;
wherein the transmitting node is established by; a) providing each node in the mesh with an access table, the table having entries indicating which nodes may be allowed to transmit;
b) providing a pointer within the table, the pointer indicating which nodes may transmit at a particular time; and
c) allowing the pointer to sequentially step through the table entries to allow different nodes on the mesh to transmit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
a) waiting for the idle time between messages;
b) receiving and examining the follow message(s) for a synchronization field which contains a value for table pointer corresponding to the current message; and
c) adjusting the local table pointer to match those of the other nodes.
-
-
4. The method of claim 2, wherein the predetermined amount of time may be different for each table entry.
-
5. The method of claim 2, further comprising the steps of:
-
a) incrementing a counter for each tier of nodes the data passes through;
b) calibrating the counter to represent the time delay incurred by each tier; and
c) calibrating the time based pointer of each receiving node based upon the counter.
-
-
6. The method of claim 5 wherein the submesh specific parameters are established by adding extra data to each entry of the access table which identifies link interconnectivity for each table entry.
-
7. The method of claim 1, wherein the pointer within the table sequentially steps through each entry after a predetermined amount of idle time has lapsed.
-
8. The method of claim 1, wherein the pointer within the table sequentially steps through each entry whenever the received data is equal to an end-of-message datum.
-
9. The method of claim 8, wherein submesh specific parameters are set by temporarily coupling the links of the node together so that messages received from a first submesh are only retransmitted to the first submesh and messages received from a second submesh are only retransmitted to a second submesh.
-
10. The method of claim 1, wherein the step of establishing a transmitting node includes:
-
a) establishing a plurality of submeshes within the mesh;
b) allowing one node in each submesh to be designated as a transmitting node; and
c) setting the nodes lying along the boundaries of each submesh to submesh specific parameters.
-
-
11. A method for propagating data over a meshed network of nodes comprising the steps of:
-
a) establishing a node as a transmitting node for a period of time;
b) establishing the remaining nodes as receiving nodes for a period of time;
c) transmitting a data message from the transmitting node along all links connected to the transmitting node;
d) each receiving node 1) listening for an incoming message on all of its links and 2) selecting a message as a source, if it is the only message that arrives on any of its links, or arbitrarily selecting a message as the source, if a message arrives on more than one link;
3) locking out all links which are not designated as a source, blocking incoming data on locked out links for the remainder of the message;
4) retransmitting each bit of data on all links, immediately after each bit of data is received by the receiving node; and
5) unlocking all links when the message is completed;
wherein the step of arbitrarily selecting a message, if a message arrives on more than one link, further includes providing each node with a circuit having arbitration and lockout logic, wherein the circuit; a) allows two or messages arriving simultaneously to be logically combined together to form a single, correct output; and
b) ensures that at least one link provides a correct output if two or more messages arrive at a node so close in time so as to cause one or more elements to become metastable.
-
-
12. A method for propagating data over a meshed network of nodes comprising the steps of;
-
a) establishing a node as a transmitting node for a period of time;
b) establishing the remaining nodes as receiving nodes for a period of time;
c) transmitting a data message from the transmitting node along all links connected to the transmitting node;
d) each receiving node 1) listening for an incoming message on all of its links and 2) selecting a message as a source, if it is the only message that arrives on any of its links, or arbitrarily selecting a message as the source, if a message arrives on more than one link;
3) locking out all links which are not designated as a source, blocking incoming data on locked out links for the remainder of the message;
4) retransmitting each bit of data on all links, immediately after each bit of data is received by the receiving node;
5) unlocking all links when the message is completed;
e) providing a self checking pair of nodes for every node in the mesh;
f) comparing the data received by one node of the self checking pair against the data received by the second node of the self checking pair; and
g) allowing the data to be retransmitted only if the data received by the nodes in the self checking pair matches. - View Dependent Claims (13, 14, 17, 18)
comparing the data transmitted by one node of the self checking pair against the data transmitted by the second node of the self checking pair; and
disabling of one node'"'"'s transmission by the second node if the second node detects a miscompare between the nodes'"'"' transmitted data.
-
-
17. The methods of claim 12 or 15 wherein a pair of nodes transmits through a pair of links such that each node of the pair of nodes is capable of transmitting though only one link of a link pair.
-
18. The method of claim 17 further comprising the steps of:
-
comparing the data received from one link of a self checking link pair by one node of the self checking node pair against the data received from the other link of a self checking link pair by this same node;
comparing the data received from one link of a self checking link pair by the other node of the self checking node pair against the data received from the other link of a self checking link pair by this same node;
exchanging between the nodes the results of their link comparisons; and
allowing a paired link'"'"'s data to be retransmitted only if the data received from each half of a pair of links matches in the comparisons done by both nodes.
-
-
15. A method for propagating data over a meshed network of nodes comprising the steps of:
-
a) establishing a node as a transmitting node for a period of time;
b) establishing the remaining nodes as receiving nodes for a period of time;
c) transmitting a data message from the transmitting node along all links connected to the transmitting node;
d) each receiving node 1) listening for an incoming message on all of its links and 2) selecting a message as a source, if it is the only message that arrives on any of its links, or arbitrarily selecting a message as the source, if a message arrives on more than one link;
3) locking out all links which are not designated as a source, blocking incoming data on locked out links for the remainder of the message;
4) retransmitting each bit of data on all links, immediately after each bit of data is received by the receiving node;
5) unlocking all links when the message is completed;
e) providing a self checking pair of links for every link in the mesh;
f) comparing at a node the data received from each link within a pair of links; and
g) allowing a paired link'"'"'s data to be retransmitted only if the data received from each half of a pair of links matches. - View Dependent Claims (16)
-
Specification