US2012201126A1PendingUtilityA1
Fault Tolerant Network Utilizing Bi-Directional Point-to-Point Communications Links Between Nodes
Est. expiryJan 27, 2029(~2.6 yrs left)· nominal 20-yr term from priority
Inventors:David J. Knapp
H04L 12/43H04L 12/437H04L 45/28H04L 2012/40273H04L 1/1607H04L 1/0008H04L 41/12H04L 1/0061H04L 7/0008
49
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A data communication system and an associated network node implementation is disclosed that, in certain embodiments, uses single-channel bi-directional communication links between nodes to send frames of data. The network nodes can be connected together in a ring or daisy chain topology with data frames sent in alternating directions through the bi-directional links. Such networks initially configured in a physical ring topology can tolerate single point failures by automatically switching to a logical daisy chain topology.
Claims
exact text as granted — not AI-modified1 . A system comprising
a plurality of network nodes, each having at least two bi-directional ports capable of transmitting and receiving data frames; a plurality of bi-directional communication links connecting said plurality of network nodes in a physical topology which includes a serially-connected string of said network nodes; wherein said plurality of network nodes are configured to communicate successive data frames alternately in opposite directions from node to node along the string.
2 . The system as recited in claim 1 , wherein said plurality of bi-directional communication links comprise single-channel bi-directional communication links.
3 . The system as recited in claim 2 , wherein said plurality of bi-directional communication links comprise optical fiber by which said data frames are communicated between nodes.
4 . The system as recited in claim 1 , wherein the serially-connected string of said network nodes is closed to form a physical and logical ring topology.
5 . The system as recited in claim 4 , configured to detect a faulty node or faulty link between nodes in the physical ring topology, isolate the fault, and reconfigure the logical network topology of the system into a logical daisy chain topology having first and second end nodes.
6 . The system as recited in claim 5 , wherein one of the network nodes functions as a timing master node for providing bit and frame timing to which all other network nodes are synchronized.
7 . The system as recited in claim 6 , wherein, when configured in a logical ring topology:
the timing master node is configured to launch successive data frames alternately in one direction from one of its ports and in the other direction from the other of its ports; and a data frame sent from one timing master port is received some time later on the other port.
8 . The system as recited in claim 5 , wherein an end node of the daisy chain sends a next data frame from the same port that received the previous data frame.
9 . The system as recited in claim 8 , wherein the timing master node, if not also an end node, forwards a data frame received on one port to the other port for transmission and re-times the transmission.
10 . The system as recited in claim 6 , wherein each data frame comprises an arbitration field, an address field, a data field, a message status field, and a CRC checksum field.
11 . The system as recited in claim 10 , wherein each data frame further comprises a start sequence including a plurality of bit transitions for synchronizing an internal reference clock of the network node receiving the data frame.
12 . The system as recited in claim 10 , wherein a message is sent from a source node to a destination node by the source node filling the address field of a data frame with the address of the destination node, and filling the data field of the same data frame with the message.
13 . The system as recited in claim 12 , wherein the source node sends the same message on successive data frames, each traveling in opposite directions along the string of network nodes.
14 . The system as recited in claim 12 , wherein the destination node, after receiving a message, inserts an acknowledge symbol in the message status field of the next data frame traveling in the other direction.
15 . The system as recited in claim 14 , wherein the acknowledge symbol is sent from the same port on which the message was received in the previous frame.
16 . The system as recited in claim 14 , wherein the acknowledge symbol comprises an error symbol (ERC) if the message was received by the destination node but contained one or more errors.
17 . The system as recited in claim 12 , further comprising inserting, into a data frame received on one port of a source node, a new message for outbound transmission to the destination node of the data frame including the new message on the other port of the source node.
18 . The system as recited in claim 12 , wherein, if the new message comprises a broadcast message, the source node inserts the broadcast message into a second data frame traveling the other direction than the first data frame.
19 . The system as recited in claim 1 , wherein each network node is configured such that, if no data frames are received on one of its ports, that port is noted as an inactive port, and each data frame received on the remaining active port is extinguished, and wherein subsequent data frames are launched in the other direction on its remaining active port.
20 . The system as recited in claim 19 , further comprising, if a data frame is received on a previously noted inactive port, the corresponding network node triggers a network topology reconfiguration.
21 . The system as recited in claim 20 , wherein one or more network nodes are configured to periodically transmit a data frame on an inactive port to solicit a response thereto.
22 . The system as recited in claim 1 , wherein one or more network nodes are configured to trigger a network topology reconfiguration after a certain period of inbound inactivity on a previously active port.
23 . The system as recited in claim 1 , having at least two network nodes that are conditionally operable as a timing master node, each of which is configured to arbitrate with other devices which are likewise conditionally operable as a timing master node, to determine which such network node will operate as the timing master node for the network.
24 . The system as recited in claim 1 , further comprising a second network respectively comprising:
a second plurality of network nodes, each having at least two bi-directional ports capable of transmitting and receiving data frames; a second plurality of bi-directional communication links connecting said second plurality of network nodes in a physical topology which includes a second serially-connected string of said network nodes; wherein said second plurality of network nodes are configured to communicate successive data frames alternately in opposite directions from node to node along the second string; and a bridge network node common to both the first-mentioned string of nodes and the second string of nodes.
25 . A method of communicating information in a system comprising a network topology including a string of serially-connected network nodes, each node including respective first and second ports, said method comprising:
launching successive data frames alternately from a first port of a first network node to travel in one direction along the string of network nodes until the first data frame either reaches a second port of the first network node, or reaches an end node of the string of network nodes, and then from either the second port of the first network node or from the end node to travel in the other direction along the string of network nodes to reach the first port of the first network node; and inserting a first message into a first data frame received on the first port of a source node and forwarding the first data frame on the second port of the source node toward downstream nodes.
26 . The method as recited in claim 25 , further comprising, in a destination node, receiving the first message from the first data frame traveling in one direction along the string of network nodes, and inserting a first message status symbol into a second data frame traveling in the other direction along the string.
27 . The method as recited in claim 26 , further comprising:
in the source node, if the first message status symbol is not received from the destination node in the second data frame, inserting the first message into the second data frame traveling in said other direction along the string of network nodes.
28 . A network node device for use in a system of interconnected network nodes, said network node device comprising:
a first port configured to interface with a bi-directional communication link for transmitting and receiving data frames to a first external device connected thereto; a second port configured to interface with a bi-directional communication link for transmitting and receiving data frames to a second external device connected thereto; first circuitry for synchronizing an associated internal clock to data frames received on the first port, and for forwarding such first-port received data frames to the second port for transmission; second circuitry for synchronizing an associated internal clock to data frames received on the second port, and for forwarding such second-port received data frames to the first port for transmission; and third circuitry for inserting a message into a data frame passing from one port to the other port through the device in either direction.
29 . The network node as recited in claim 28 , wherein data frames are only received on one of said first and second ports at a given time.
30 . The network node as recited in claim 28 , wherein the first and second ports comprise single-channel bi-directional ports.
31 . The network node as recited in claim 28 , wherein:
the first-port received data frames are forwarded bit-by-bit to the second port for transmission; the second-port received data frames are forwarded bit-by-bit to the first port for transmission; and messages are inserted bit-by-bit into a passing data frame.
32 . A method for use in a network node within an interconnected network of nodes, said method comprising:
forwarding data frames received on a first bi-directional port of the network node to a second bi-directional port of the network node for outbound transmission on the second bi-directional port; forwarding data frames received on the second bi-directional port to the first bi-directional port for outbound transmission on the first bi-directional port, wherein the first and second ports comprise single-channel bi-directional ports; and if no data frames are received on the one port, then noting the one port as an inactive port; extinguishing each data frame received on the other port; and launching a subsequent data frame on the other port.
33 . The method as recited in claim 32 , further comprising triggering a network topology reconfiguration if a data frame is received on said inactive port.
34 . The method as recited in claim 33 , further comprising periodically transmitting a data frame on the inactive port to solicit a response thereto.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.