Implementing and operating an ethernet network using dynamic physical layer node ID assignments
11652585 · 2023-05-16
Inventors
Cpc classification
H04L43/10
ELECTRICITY
H04L5/0044
ELECTRICITY
H04L12/413
ELECTRICITY
H04L41/0873
ELECTRICITY
International classification
Abstract
Apparatuses, methods, and systems for a Dynamic PHY-Level Collision Avoidance (DPLCA) based Ethernet network are disclosed. The Dynamic PHY-Level Collision Avoidance (DPLCA) Ethernet network includes an Ethernet bus comprising a shared cable, and a plurality of Ethernet nodes connectable to the Ethernet bus. Each of the Ethernet nodes is configured to autonomously select a unique node identifier, including the Ethernet node operating to transmit over the Ethernet bus either a special symbol or packet during a time slot designated for the unique node identifier, monitor any collisions with the transmitted special symbol or packet, and autonomously select the unique node identifier if no collision is detected.
Claims
1. A Dynamic PHY-Level Collision Avoidance (DPLCA) based Ethernet network, comprising: an Ethernet bus comprising a shared cable; a plurality of Ethernet nodes connectable to the Ethernet bus, each of the Ethernet nodes operative to: autonomously select a unique node identifier, comprising the Ethernet node operating to: transmit over the Ethernet bus either a special symbol or packet during a time slot designated for the unique node identifier; monitor any collisions with the transmitted special symbol or packet; and autonomously select the unique node identifier if no collision is detected.
2. The network of claim 1, further comprising one or more nodes operating to: monitor and track unique selected identifiers of other nodes connected to the Ethernet bus; wherein the autonomously selecting of the unique node identifier of the node is based on the monitored and tracked unique identifiers of the other nodes.
3. The network of claim 1, wherein when a collision is detected the Ethernet node further operates to: repeat autonomous selection of another node identifier, including the Ethernet node operating to: transmit over the Ethernet bus either the special symbol or packet during a time slot designated for the other unique node identifier; monitor any collisions with the transmitted special symbol or packet; and autonomously select the other unique node identifier if no collision is detected.
4. The network of claim 3, wherein each node identifier is autonomously selected according to a sequence determined by DPLCA functionality contained in the plurality of Ethernet nodes connected to the Ethernet bus.
5. The network of claim 4, wherein the sequence starts with any available node identifier.
6. The network of claim 4, wherein the sequence starts with a lowest node identifier and increments up.
7. The network of claim 1, wherein at least some other Ethernet nodes connected to the Ethernet bus have a statically configured node identifier.
8. The network of claim 7, wherein a one of the plurality of Ethernet nodes is statically assigned a node identifier of ID=0.
9. The network of claim 1, wherein a one of the plurality of Ethernet nodes autonomously select a node identifier of ID=0.
10. The network of claim 9, wherein the Ethernet node autonomously selecting the unique node identifier of ID=0 further operates as a coordinator node, and transits a beacon that includes a special character set that allows for identification of each of the time slots.
11. The network of claim 1, wherein when an Ethernet node of the plurality of Ethernet nodes disconnects from the Ethernet bus, a time slot corresponding with the unique node identifier autonomously by the Ethernet node becomes available for another Ethernet node to autonomously select.
12. An Ethernet node operative to: autonomously select a unique node identifier, comprising the Ethernet node operating to: transmit over an Ethernet bus either a special symbol or packet during a time slot designated for the unique node identifier; monitor any collisions with the transmitted special symbol or packet; and autonomously select the unique node identifier if no collision is detected.
13. The Ethernet node of claim 12, wherein when a collision is detected, the Ethernet node further operates to: autonomously select a second unique node identifier, comprising the Ethernet node operating to: transmit over the Ethernet bus either a special symbol or packet during a time slot designated for the second unique node identifier; monitor any collisions with the transmitted special symbol or packet; and autonomously select the second unique node identifier if no collision is detected.
14. The Ethernet node of claim 12, wherein when a collision is detected, the Ethernet node further operates to: repeat attempts to autonomously select another unique node identifier, comprising the Ethernet node operating to: transmit over the Ethernet bus either the special symbol or packet during a time slot designated for the other unique node identifier; monitoring any collisions with the transmitted special symbol or packet; autonomously select the other node identifier if no collision is detected.
15. The Ethernet node of claim 14, wherein when an Ethernet node of the plurality of Ethernet nodes disconnects from the Ethernet bus, a time slot corresponding with the unique node identifier claimed by the Ethernet node becomes available for another Ethernet node to claim.
16. The Ethernet node of claim 12, wherein the Ethernet node further operates to: monitor and track unique selected identifiers of other Ethernet nodes connected to the Ethernet bus; wherein the autonomously selecting of the unique node identifier of the Ethernet node is based on the monitored and tracked unique selected identifiers of the other Ethernet nodes.
17. A method of operating an Ethernet node, comprising: autonomously selecting, by the Ethernet node, a unique node identifier, comprising: transmitting, by the Ethernet node, over an Ethernet bus either a special symbol or packet during a time slot designated for the unique node identifier; monitoring, by the Ethernet node, any collisions with the transmitted special symbol or packet; and autonomously selecting, by the Ethernet node, the unique node identifier if no collision is detected.
18. The method of claim 17, wherein when a collision is detected further comprising: repeating, by the Ethernet node, attempts to autonomously select another unique node identifier, comprising the node operating to: transmitting, by the Ethernet node, over the Ethernet bus either the special symbol or packet during a time slot designated for the other unique node identifier; monitoring, by the Ethernet node, any collisions with the transmitted special symbol or packet; and autonomously selecting, by the Ethernet node, the other node identifier if no collision is detected.
19. The method of claim 18, further comprising monitoring and tracking, by the Ethernet node, unique selected identifiers of other nodes connected to the Ethernet bus; wherein the autonomously selecting of the unique node identifier of the Ethernet node is based on the monitored and tracked unique selected identifiers of the other Ethernet nodes.
20. The method of claim 19, wherein when an Ethernet node of the plurality of Ethernet nodes disconnects from the Ethernet bus, a time slot corresponding with the unique node identifier claimed by the Ethernet node becomes available for another Ethernet node to claim.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7) The embodiments described include methods, apparatuses, and systems for implementing and operating an Ethernet network using dynamic physical layer node ID assignments. The methods, apparatuses, and systems provide for an Ethernet network over multi-drop topologies. Further, the described embodiments include transmitting and receiving Ethernet signals and data over shared cabling and multiple Ethernet nodes. The described embodiments include Ethernet network nodes that are capable of dynamic network node configuration via a Dynamic PHY-Level Collision Avoidance (DPLCA) mechanism which enables addition or deletion of network nodes via assignment of Node IDs on the fly.
(8) Further, the described embodiments relate to information networks and specifically to transmitting Ethernet information over communication lines such as coaxial cable (hereinafter “coax”) or twisted-pair cables, thereby forming an Ethernet based Local Area Network (LAN). More specifically, the described embodiments relate to shared-medium Ethernet networks, also referred to as multi-drop networks, capable of operating with multiple nodes connected to a “mixing segment”. Mixing segment is an IEEE defined term for shared wiring. Such shared-wiring networks can be referred to as multi-drop networks.
(9)
(10) The link layer 110 include conventional Ethernet sublayers such as MAC (Medium Access Control) 112 and LLC (Logical Link Control) 112. To be compatible with such existing devices containing Ethernet Link Layer 110, the Ethernet Nodes in of the described embodiments incorporate modifications to only the Physical layer 120 and not to the MAC layer 114. For at least some embodiments, the modifications are for the purpose of (b) dynamic Node ID assignment, and (c) transmission opportunity management.
(11) The Physical layer 120 circuitry includes conventional sublayers, such as, a Physical media dependent sublayer (PMD) 124. For an embodiment, a portion of the Physical Layer 124 is responsible for interfacing to the transmission medium.
(12) For an embodiment, the Physical layer 120 includes a Physical media access sublayer (PMA) 123. For an embodiment, the PMA 123 is a portion of the Physical Layer 120 that contains the functions for transmission, reception, collision detection, clock recovery and skew alignment.
(13) For an embodiment, the Physical layer 120 includes a Physical coding sublayer (PCS) 122. For an embodiment, the PCS 122 is a portion of the Physical Layer 120 that contains functions to encode data bits for transmission via the PMA and to decode the received conditioned signal from the PMA.
(14) For an embodiment, the Physical layer 120 includes a new reconciliation sublayer function called DPLCA (Dynamic PHY-Level Collision Avoidance) 121. For an embodiment, the DPLCA 121 is added to the Physical layer 120 which handles the functions related to dynamically obtaining a Node ID for the said node EN and performing dynamic PHY level collision avoidance functions.
(15)
(16) For an embodiment, each of the Ethernet nodes is operative to autonomously select a unique node identifier (referred to as Temp Node ID in
(17) For an embodiment, monitoring and detecting collisions includes receiving a corrupted signal at the receiver of the Ethernet node due to a transmission by a second Ethernet node that is present (connected to) on the bus while the Ethernet node is transmitting at the same time. That is, the Ethernet node detects a collision if the Ethernet node receives a corrupted signal simultaneous with the Ethernet node transmitting the special symbol or packet.
(18) For an embodiment, when a collision is detected the Ethernet node further operates to repeat autonomous selection of another node identifier. For an embodiment, this includes the Ethernet node operating to transmit over the Ethernet bus either the special symbol or packet during a time slot designated for the other unique node identifier, monitor any collisions with the transmitted special symbol or packet, and autonomously select the other unique node identifier if no collision is detected. As previously stated, the time slots can also be referred to an transmit opportunities.
(19) For an embodiment, each node identifier is autonomously selected according to a sequence determined by DPLCA functionality contained in the plurality of Ethernet nodes connected to the Ethernet bus. For an embodiment, as shown in
(20) For an embodiment, a one of the plurality of Ethernet nodes autonomously select a node identifier of ID=0. This is depicted at 413 of
(21) For an embodiment, when an Ethernet node of the plurality of Ethernet nodes disconnects from the Ethernet bus, a time slot corresponding with the unique node identifier autonomously by the Ethernet node becomes available for another Ethernet node to autonomously select. The result is a plug and play Ethernet network.
(22) For at least some of the DPLCA embodiments allow nodes to start with a possibly non-unique PLCA node ID and autonomously select a unique node ID at a later time. Additionally, DPLCA defines a method to designate a single node with ID=0 (coordinator).
(23)
(24) An embodiment includes an initial step 305. The initial step 305 includes monitoring and tracking, by the Ethernet node, unique selected identifiers of other Ethernet nodes connected to the Ethernet bus, wherein the autonomously selecting of the unique node identifier of the Ethernet node is based on the monitored and tracked unique selected identifiers of the other Ethernet nodes. That is, Ethernet nodes connected to the Ethernet bus operate to monitor and track unique selected identifiers of other nodes connected to the Ethernet bus. Further, the autonomously selecting of the unique node identifier of the node is based on the monitored and tracked unique selected identifiers of the other nodes. That is, the Ethernet node monitors identifiers already selected by the other Ethernet nodes connected to the Ethernet bus, and autonomously selects a different unique identifier than the unique identifiers already selected. That is, the Ethernet node keeps track of identifiers of other nodes on the network and takes the tracking into account when selecting an unassigned Node ID. The monitoring and selecting is reflected in 404 and 405 in
(25) For an embodiment, when a collision is detected, the method further includes repeating, by the Ethernet node, attempts to autonomously select another unique node identifier. For an embodiment, repeating, by the Ethernet node, attempts to autonomously select another unique node identifier includes transmitting, by the Ethernet node, over the Ethernet bus either the special symbol or packet during a time slot designated for the other unique node identifier, monitoring, by the Ethernet node, any collisions with the transmitted special symbol or packet, and autonomously selecting, by the Ethernet node, the other node identifier if no collision is detected.
(26) As previously described, for an embodiment, each node identifier is autonomously selected according to a sequence determined by DPLCA functionality contained in the plurality of Ethernet nodes connected to the Ethernet bus. For an embodiment, the sequence starts with any available node identifier (step 506 of
(27) For an embodiment, at least some other Ethernet nodes connected to the Ethernet bus have a statically configured node identifier. For an embodiment, a one of the plurality of Ethernet nodes autonomously select a node identifier of ID=0. For an embodiment, a one of the plurality of Ethernet nodes is statically assigned a node identifier of ID=0.
(28) As previously described, for an embodiment, the Ethernet node autonomously the unique node identifier of ID=0 further operates as a coordinator node, and transits a beacon that includes a special character set that allows for identification of each of the time slots.
(29) As previously described, for an embodiment, when an Ethernet node of the plurality of Ethernet nodes disconnects from the Ethernet bus, a time slot corresponding with the unique node identifier autonomously by the Ethernet node becomes available for another Ethernet node to autonomously select.
(30) It is to be understood that the processing of
(31)
(32) The described embodiments include an Ethernet Network that is designed to overcome fundamental limitation of a mechanism defined in IEEE 802.3cg standard. This standard includes Physical layer based Transmit Opportunity (TO) mechanism for multi-drop topology. The reconciliation sublayer that performs this function is called PLCA. The PLCA as defined by IEEE 803.3cg has a fundamental limitation in the sense that the PHY level Node IDs must be programmed offline into the network equipment prior to adding the Node to the network. This pre-programming requirement prevents dynamic insertion of devices into the network. Also, removal of a Node is not known to other Nodes and results in corresponding transmit slot being wasted. These constraints are highly undesirable in some networks.
(33) The DPLCA sublayer according to the described embodiments are an enhancement over conventional PLCA. Further, the DPLCA sublayer of the described embodiments can operate in the conventional PLCA mode or the DPLCA mode.
(34) In the conventional PLCA mode, DPLCA operates as follows:
(35) Network administrator assigns Node IDs.
(36) Coordinator Node is pre-determined and is assigned ID=0. In contrast, the described embodiments include autonomously selecting a unique node identifier.
(37) Node 0 transmits a BEACON signal for the entire LAN.
(38) Each Node gets a “Transmit Opportunity” (TO) window based on its numerical Node ID in which it can start transmitting DATA. Node ID is assigned prior to adding the node to the network.
(39) Node 0 is the first to get a TO following the BEACON sent by it.
(40) If no DATA is available to transmit, Node remains SILENT during its TO.
(41) If DATA is available, the EN transmits DATA during its TO. After a node finishes transmission of DATA, next node on the network may transmit during its TO.
(42) If a NODE has internal delay between MAC and PHY layers due to integrated circuit implementations, it may transmit COMMIT signal during TO to hold its place in line till it is ready to transmit DATA.
(43) Therefore, each Node has the following transmission options during its TO: 1. DATA—when Data is available to the PHY from MAC. 2. COMMIT—when DATA delay is to be adjusted by the PHY. 3. SILENT—when the Node is present on the network but no Data is available to the PHY from MAC.
(44) The maximum number of Nodes to be allowed on the network is determined by the network administrator and is known by a Node 0. The node 0 sends a BEACON after such known number of nodes have taken the turn to transmit.
(45) In some environment, devices can be added to and removed from the network by the users on an ongoing basis. To accommodate this behavior, Dynamic PLCA (DPLCA) mechanism described below provides means to perform hot-insertion and hot-removal of devices and operates as shown in
The Ethernet Node may then autonomously select the Temp Node ID: d. Transmit PRESENT (or any other special symbol or Data) during the Next TO for the Temp Node ID (407). e. If no Collison is detected (at 408) during the TO when PRESENT is transmitted, Node has secured that ID (409).
The autonomous selection of the Temp Node ID can then be confirmed: f. Transmit PRESENT or COMMIT or DATA in TO corresponding to Node ID (410). g. If a Collison is detected (at 408) during the TO when PRESENT is transmitted, Node waits for a random amount of time 412 and goes back to Step 4a (404).
If a Node leaves the network, it's TO is SILENT and can be automatically taken by a new Node that joins the network at a later time.
(46) As previously described, for an embodiment, when an Ethernet node of the plurality of Ethernet nodes disconnects from the Ethernet bus, a time slot corresponding with the unique node identifier autonomously by the Ethernet node becomes available for another Ethernet node to autonomously select. The result is a plug and play Ethernet network.
(47)
(48) Upon power on (501), a Node may stay in Listen Mode for at least one full Cycle time corresponding to Max Ethernet packet length for N number of nodes 502.
(49) If no BEACON is detected (at 503), Node assigns itself ID=0 (513).
(50) Node Transmits BEACON (514).
(51) If a collision is detected during transmission of BEACON (at 516), wait for a Random time (515) and then go back to Listen mode (502).
(52) If a BEACON is detected (at 503) during this time, the Node further stays in Listen only Mode for at least one full BEACON to BEACON cycle (504).
(53) Identify Nodes present on the Network via presence of PRESENT, COMMIT or DATA in assigned TOs (505).
(54) Set Temporary Node ID (Temp Node ID) randomly to one of the unassigned Node IDs (506).
(55) An autonomous selection has then been made.
(56) Transmit PRESENT (or any other special symbol or Data) during the Next TO for the Temp Node ID (507).
(57) If no Collison is detected (at 508) during the TO when PRESENT is transmitted, Node has secured that ID 509.
(58) The autonomous selection is confirmed.
(59) If a Collison is detected (at 508) during the TO when PRESENT is transmitted, forego this ID and attempt a new ID in next cycle.
(60) If a Node leaves the network, it's TO is SILENT and can be automatically taken by a new Node that joins the network at a later time.
(61) In this implementation, Node 0 sends a BEACON after the time equivalent to TOs of maximum allowed number of nodes has elapsed. For example, if 16 nodes is the maximum allowed on the network, Node 0 must wait for all corresponding 16 TOs to elapse even if only 10 nodes are actually on the network. This is due to the fact that a node may pick up any allowed Node ID and Node 0 does not have knowledge or which nodes may exist on the network in a given cycle.
(62) Thus DPLCA provides full self-configuring PHY level collision avoidance system.
(63) During the TO corresponding to a certain Node ID, the following takes place on the wire (Ethernet bus). 1. DATA—when Data is available to the PHY from MAC 2. COMMIT—when DATA delay is to be adjusted by the PHY 3. PRESENT—when the Node is present but does not intend to use the TO for data transmission 4. SILENT—when the Node does not exist on the network
(64) Thus, DPLCA enables Nodes to self-configure by dynamically identifying available Node IDs and securing a specific Node ID on the network.
(65) It should be noted that DPLCA is not limited to Coaxial cabling. It can be applied to any multi-drop Ethernet network.
(66)
(67) Scenario 1 Conventional PLCA mode of operation: Nodes 0, 1 & 3 are on the network. Node 1 transmits without Commit. Node 3 transmit with Commit. Node 0 does not transmit
(68) Scenario 2 Conventional PLCA mode of operation: Nodes 0 to N are on the network. Every node transmitting max size packet with Commit.
(69) Scenario 3 DPLCA mode: Nodes 0 & 2 on the network. No one is transmitting DATA. Only Beacon and Presence are on the network
(70) Scenario 4 DPLCA mode: Nodes 0, 1 & 3 are on the network. Node 2 joins in the 2nd cycle. Node 1 transmits in 2nd cycle without needing Commit. Node 2 Did not transmit Data. Node 3 transmits in 2nd cycle with Commit.
(71) Scenario 5 DPLCA mode: Nodes 0 to N are all on the network. Every node transmitting max size packet with Commit.
(72) Scenario 6 DPLCA mode: Nodes 0, 1 & 3 are on the network. Node 1 drops out and Node 2 joins in the 2nd cycle. Node 2 Did not transmit Data. Node 3 transmits in 2nd cycle with Commit.
(73) Although specific embodiments have been described and illustrated, the embodiments are not to be limited to the specific forms or arrangements of parts so described and illustrated. The described embodiments are to only be limited by the claims.