A masterless communication network supporting free topology structure

By adopting a masterless communication network with a free topology structure in the communication network, terminals and switches configure routing tables, automatically identify and reconstruct the optimal path, and solve the problems of slow network recovery and communication congestion under the master-slave structure, achieving efficient and reliable information transmission.

CN117792918BActive Publication Date: 2025-09-23ZHONGBEI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311812447.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-26
Publication Date
2025-09-23
Estimated Expiration
2043-12-26

Smart Images

  • Figure CN117792918B_ABST
    Figure CN117792918B_ABST
Patent Text Reader

Abstract

The present application discloses an ownerless communication network supporting a free topology structure, comprising: multiple terminals; wherein: the terminals include multiple ports, and the multiple terminals are connected through the ports to form a communication network structure with a free topology; the terminals are provided with a routing table, the terminals are used to receive a first basic packet, and after determining a target port of the first basic packet based on the routing table, the terminals send the first basic packet to the target port, the routing table at least includes identifiers of multiple data transfer ports of the terminals, one data transfer port corresponds to a communication path from a source terminal to a destination terminal, and the source terminal and the destination terminal are different terminals among the multiple terminals.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of communication networks, and in particular to an ownerless communication network supporting a free topology structure. Background Art

[0002] The communication network can generally adopt a ring network structure, a mesh network structure or a star network structure, or any combination of the above three network structures.

[0003] Most existing communication networks use a master-slave structure. Regardless of whether a one-master-multiple-slave structure or a multiple-master-multiple-slave structure is used, the slave devices cannot communicate directly with each other and must communicate through the host device or through coordination and scheduling by the host device.

[0004] When a host device fails and cannot communicate normally, the slave devices that originally communicated through the host device will need to reselect a new host device for communication, which will lead to slow network recovery and reduced information transmission rate.

[0005] In addition, if multiple slave devices simultaneously send data to the master device that controls the communication of these slave devices, communication congestion and occupation may occur, resulting in a decrease in the information transmission rate. Summary of the Invention

[0006] In view of the above problems, this application designs a masterless communication network that supports a free topology structure to achieve efficient information transmission in the communication network. The specific solution is as follows:

[0007] A masterless communication network supporting a free topology structure comprises: a plurality of terminals; wherein:

[0008] The terminal includes a plurality of ports, and the plurality of terminals are connected through the ports to form a communication network structure with a free topology;

[0009] The terminal is provided with a routing table, the terminal is used to receive the first basic packet, and after determining the target port of the first basic packet based on the routing table, send the first basic packet to the target port, the routing table includes at least the identifiers of multiple data transfer ports of the terminal, one data transfer port corresponds to a communication path from a source terminal to a destination terminal, and the source terminal and the destination terminal are different terminals among the multiple terminals.

[0010] Optionally, the system further includes at least one switch, the switch including multiple ports, and multiple terminals are connected through the multiple ports of the switch to form a free topology communication network structure;

[0011] The switch is provided with a routing table. The switch is configured to receive the second base packet and, after determining a destination port of the second base packet based on the routing table of the switch, send the second base packet to the destination port of the second base packet. The routing table of the switch includes at least identifiers of multiple data outbound ports of the switch. Each data outbound port corresponds to a communication path from a source terminal to a destination terminal. The source terminal and the destination terminal are different terminals among the multiple terminals and have a direct or indirect connection relationship with the switch.

[0012] Optionally, a data outbound port of a switch or a terminal corresponds to an optimal communication path from a source terminal to a destination terminal.

[0013] Optionally, the identifiers of the multiple data outbound ports of the terminal in the routing table of the terminal are updated according to the change in the communication network topology caused by the path disconnection information of the ownerless communication network;

[0014] The identifiers of the multiple data outgoing ports of the switch in the routing table of the switch are updated according to the change of the communication network topology structure caused by the path disconnection information of the ownerless communication network.

[0015] Optionally, after determining the destination port of the first base packet based on the routing table, the terminal is further configured to determine, based on the health status information of the port, that the destination port of the first base packet is healthy, and then send the first base packet to the destination port of the first base packet;

[0016] After determining the target port of the second base packet based on the switch's routing table, the switch is further configured to determine, based on the port health status information, that the target port of the second base packet is healthy, and then send the second base packet to the target port of the second base packet.

[0017] Optionally, the terminal determines that the target port of the first basic packet is unhealthy based on the health status information of the port, and then sends the first basic packet to other forwarding ports;

[0018] The switch determines that the target port of the second basic packet is unhealthy based on the health status information of the port, and then sends the second basic packet to other forwarding ports.

[0019] Optionally, the routing table of the terminal and the routing table of the switch further include: identifiers of the source terminal and the destination terminal.

[0020] Optionally, after receiving the first base packet, the terminal is further configured to perform CRC on the first base packet, and if the check is correct, determine the destination port of the first base packet; if the check is incorrect, discard the first base packet;

[0021] After receiving the second basic packet, the switch is further configured to perform CRC on the second basic packet. If the check is correct, the target port of the second basic packet is determined. If the check is incorrect, the second basic packet is discarded.

[0022] Optionally, the terminal is further configured to determine that a communication path is broken and broadcast a reconstruction command to directly connected devices; based on the reconstruction command, the terminal updates identifiers of multiple data outbound ports in a routing table of the terminal;

[0023] The switch is further configured to determine that a communication path is broken and broadcast a reconstruction command to directly connected switches; based on the reconstruction command, the switch updates identifiers of multiple data output ports of the switch in a routing table of the switch.

[0024] Optionally, multiple terminals are connected to multiple ports of the switch to form a free topology communication network structure, including: a ring network structure, a mesh network structure, a star network structure or a free topology structure.

[0025] With the help of the above technical solution, in the ownerless communication network supporting free topology structure provided by this application, after the terminal receives the first base packet, it determines the target port of the first base packet based on the routing table, and then sends the first base packet to the target port, ensuring that the communication between terminals does not depend on the host device and realizing efficient information communication. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale.

[0027] Figure 1 A topological diagram of a communication network with a masterless mesh topology structure provided in an embodiment of the present application;

[0028] Figure 2 A functional diagram of a switch provided in an embodiment of the present application;

[0029] Figure 3 A topological diagram of a communication network with a masterless mesh topology structure provided by another embodiment of the present application;

[0030] Figure 4 A topological diagram of a communication network with a masterless mesh topology structure provided by another embodiment of the present application;

[0031] Figure 5 A communication network with a masterless ring topology provided by another embodiment of the present application;

[0032] Figure 6 A communication network with a masterless star topology structure provided by another embodiment of the present application;

[0033] Figure 7 A schematic structural diagram of a terminal port or switch port of a masterless star-type communication network provided in another embodiment of the present application;

[0034] Figure 8 A schematic diagram of the structure of a terminal provided in this application. DETAILED DESCRIPTION

[0035] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0036] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.

[0037] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0038] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0039] An embodiment of the present application provides a masterless communication network that supports a free topology structure. The communication network does not distinguish between a master and a slave, and can adopt various forms of topology structures. For example, the masterless communication network can adopt a ring network structure, a mesh network structure, or a star network structure, or any combination of the above three network structures, or a free topology structure.

[0040] In some embodiments, an ownerless communication network supporting a free topology structure includes: multiple terminals, each terminal can be configured with multiple ports, the terminals can be interconnected through the ports and perform point-to-point communication, and the connection of multiple terminals can form a free topology structure.

[0041] In an ownerless communication network supporting a free topology structure formed by multiple terminals, each terminal is configured with a routing table, which is used to store the optimal path between terminal communications. In some embodiments, the routing table includes the source address ID, destination address ID and multiple path information of the optimal path; the source address ID refers to the address ID of the multiple terminals as the sending end, and the destination address ID refers to the address ID of the receiving end. The multiple path information may include an optimal path trajectory or a suboptimal path trajectory. The optimal path trajectory refers to the port corresponding to the optimal path for forwarding the basic packet when the switch forwards the basic packet from the sending end to the receiving end.

[0042] Terminals can receive base packets from other terminals and compare the destination address in the base packet with the routing table to determine the packet's outbound port. They then forward the packet from that port along the optimal path stored in the routing table. After receiving a base packet, each terminal automatically identifies the optimal next hop, ensuring optimal data transmission paths throughout the entire process. Inter-terminal communication is completely independent of control by other nodes.

[0043] In other embodiments, an ownerless communication network supporting a free topology includes at least one switch (router) and multiple terminals, with no strict limit on the number of layers. For example, the ownerless communication network supporting a free topology may include a five-layer structure, with switches having four layers, the bottom layer being terminals, and devices directly connected via a duplex bus.

[0044] In some embodiments, an ownerless communication network supporting a free topology may include up to 65,534 nodes.

[0045] In some embodiments, a switch includes multiple ports, located on both sides of the switch, each of which has identical functions. Some of the multiple ports can be used to connect to devices, such as a higher-level switch or a peer switch, to form a cascade connection. Some of the multiple ports can also be connected to terminals. Some of the multiple ports of the switch can also be used simultaneously to form a redundant cascade connection. The ports of the switch can be configured as duplex ports.

[0046] In one embodiment, the switch may include 32 duplex ports, each of which may be connected to a terminal or a switch. Therefore, a switch may be connected to a maximum of 32 other devices.

[0047] The terminal has a Shaker-end system interface with two duplex ports, supporting connection to different switches to form redundant paths. In some embodiments, the duplex port of the terminal can be connected to a port of a switch.

[0048] In some embodiments, the terminal and the switch may be configured with a routing table, which is used to store the optimal path between terminal communications. In some embodiments, the routing table includes the source address ID, destination address ID and multiple path information of the optimal path, as shown in Table 1 below.

[0049] Table 1

[0050] Source address ID Destination address ID Multiple path information Corresponding to multiple ports

[0051] In Table 1, the source address ID refers to the address ID of the sending end among multiple terminals, and the destination address ID refers to the address ID of the receiving end. The multiple path information may include an optimal path trajectory or a suboptimal path trajectory. The optimal path trajectory refers to the port corresponding to the optimal path for forwarding the basic packet when the switch forwards the basic packet from the sending end to the receiving end.

[0052] Based on this, after receiving a basic packet from a terminal or other interactive device, the switch compares the destination address in the basic packet with the routing table to determine the packet's egress port. It then forwards the packet from that port along the optimal path stored in the routing table. Each switch automatically identifies the optimal next hop upon receiving the basic packet, ensuring the optimal path for data transmission throughout the entire process, completely independent of control by other nodes.

[0053] Similarly, after receiving a base packet, a terminal compares the destination address in the packet with the routing table to determine the packet's outbound port. It then forwards the packet from that port along the optimal path stored in the routing table. Each terminal automatically identifies the optimal next hop upon receiving the packet, ensuring optimal data transmission paths throughout the entire process. Inter-terminal communication is completely independent of control by other nodes.

[0054] It should be noted that the optimal path between terminals in the routing table can refer to the shortest path between terminals. When two paths are the same length, the path with the smaller port number will be preferred.

[0055] In some embodiments, after the terminal or switch obtains the outbound port of the base packet, it can also determine whether the outbound port of the base packet is healthy and can forward the base packet based on the health status information of the port. If the outbound port of the base packet is healthy enough to forward the base packet, the terminal or switch will send the base packet through the outbound port; if the outbound port of the base packet is unhealthy, the terminal or switch will use other outbound ports to send the base packet.

[0056] The user can configure the health level of the port through the register. The health level belongs to the tolerable health level of the port. If the health status information of the port shows that the port exceeds the health level, it means that the port is not sufficient to forward basic packets.

[0057] In some embodiments, the routing table configured by the terminal or switch may be updated. After determining that the connection branch of the duplex port is disconnected, the switch may broadcast a reconstruction command to other directly connected switches to trigger all nodes in the network to broadcast the reconstruction command. After receiving the reconstruction command, the other switches may broadcast the reconstruction command to other directly connected switches, until all devices in the entire communication network receive the reconstruction command. Similarly, after determining that the connection branch of the duplex port is disconnected, the terminal may broadcast a reconstruction command to other directly connected devices (such as other terminals or switches) to trigger all nodes in the network to broadcast the reconstruction command. After receiving the reconstruction command, the other devices may broadcast the reconstruction command to other directly connected devices, until all devices in the entire communication network receive the reconstruction command.

[0058] Each switch and terminal in the communication network can update the optimal path between terminals stored in its own routing table based on the reconstruction command. In some embodiments, the switch and terminal can update the optimal path in the routing table by removing the path with faulty nodes and faulty lines.

[0059] In some embodiments, the ownerless communication network supporting a free topology may also have a highly reliable redundant structure, wherein the redundant structure has the following features:

[0060] 1. A tree-structured communication network has two or more TOP nodes to avoid single point failures in the top node trunk;

[0061] 2. It has three redundant connection methods: same-branch redundancy, cross-branch redundancy, and cross-layer redundancy.

[0062] Same-branch redundancy can only provide backup for transmission lines. If one of the two devices fails, reliable data transmission cannot be guaranteed. This redundancy method is usually not used in masterless communication networks.

[0063] Cross-branch redundancy not only solves the backup of transmission lines, as the senders and receivers of data are different, but also forms many paths through multiple layers of continuous cross-branch redundancy, greatly improving the reliability of data transmission.

[0064] Cross-layer redundancy has the same multi-path characteristics as cross-branch redundancy, and can also shorten the data transmission path for special equipment, with good scalability.

[0065] Cross-branch redundancy and cross-layer redundancy can avoid the top node and implement "shortcut" operation of data transmission, which reduces the communication load of the top node and eliminates the reduced reliability caused by single point failure of the top node.

[0066] In a masterless communication network that supports a free topology, multiple layers of continuous cross-branch and cross-layer redundancy increase communication paths, reducing the communication load on top nodes while also mitigating the reduction in reliability caused by top-node failures. As the network becomes more layered, the number of nodes per layer decreases, and the number of communication paths between two terminals increases exponentially with each layer, theoretically reaching thousands.

[0067] The following takes a communication network with a masterless mesh topology, a communication network with a masterless ring topology, and a communication network with a masterless star topology as examples to introduce in detail the masterless communication network that supports a free topology and is composed of terminals and switches.

[0068] Figure 1 A communication network with a masterless mesh topology is shown. Figure 1 The communication network of the masterless mesh topology shown has a five-layer structure, including switches R1 to R16 and terminals T1 to T8.

[0069] like Figure 1 As shown, the first layer of the communication network has two top nodes, namely switch R1 and switch R2, which can be connected to each other through ports to form a ring structure, and the network below is expanded based on the tree structure.

[0070] Switches or terminals connect to other devices through ports to form a cascade relationship. Figure 1 In the figure, switches R3 and R4 in the second layer are connected to switch R1 through ports to form a cascade; switches R5 and R6 in the third layer are connected to switch R3 through ports to form a cascade; switches R7 and R8 in the third layer are connected to switch R4 through ports to form a cascade; switches R9 and R10 in the fourth layer are connected to switch R5 through ports to form a cascade; switches R11 and R12 in the fourth layer are connected to switch R6 through ports to form a cascade; switches R13 and R14 in the fourth layer are connected to switch R7 through ports to form a cascade; switches R15 and R16 in the fourth layer are connected to switch R8 through ports to form a cascade.

[0071] Terminals T1 and T2 are connected to switch R9 through ports, terminals T3 and T4 are connected to switch R10 through ports, terminals T5 and T6 are connected to switch R15 through ports, and terminals T7 and T8 are connected to switch R16 through ports.

[0072] The communication network also has a variety of redundant connection methods. Figure 1In the example, switch R4 uses two ports to connect switches R1 and R2 respectively to form cross-branch redundancy; switch R12 in the fourth layer is connected to switch R4 in the second layer to form cross-layer redundancy.

[0073] The terminal is also equipped with dual-port redundancy. Figure 1 In the example, when terminal T2 communicates with terminal T3 and terminal T4, after adding the redundant path T2-R10, switches R5 and R9 can be bypassed, shortening the transmission path and time.

[0074] Figure 1 Each switch and terminal in the network is configured with a routing table. Switches are primarily responsible for communicating with terminals and other switches, receiving and forwarding data. All switches have the same status and unique IDs.

[0075] Figure 2 yes Figure 1 Functional diagram of a switch in .

[0076] like Figure 2 As shown, the switch includes a maximum of 32 duplex ports, and ports P0 to P31 support connection to different switches or terminals for data transmission.

[0077] In some embodiments, the routing table configured in the switch includes the source terminal ID, the address of the destination terminal in the network, and the port of the switch located in the optimal path from the source terminal to the destination terminal for forwarding the basic packet.

[0078] In some embodiments, the terminal may include a local functional circuit and a port, the port being used to transmit data, and the terminal may include two ports.

[0079] Figure 1 In the demonstrated masterless mesh topology, any two terminals between T1 and T8 can communicate data. The sending terminal can send a basic packet through one of its own ports. Upon receiving the packet, the switch connected to that port determines the packet's forwarding port based on its routing table and forwards it to other switches via that port. Similarly, other switches, upon receiving the packet, perform the same action until the packet reaches the receiving terminal. This eliminates the need for planning and authorization by a third control node; instead, data transmission is directly routed through the nodes along the optimal path. Store-and-forward and priority-based routing are employed to avoid conflicts, improving overall data transmission performance.

[0080] For the convenience of introduction, the following takes a simpler-structured ownerless communication network as an example to introduce data communication between terminals in the ownerless communication network provided by the embodiment of the present application.

[0081] Figure 3This is another ownerless communication network provided in an embodiment of the present application.

[0082] Figure 3 In the example, the bottom-level terminals include T1, T2, and T3, which use two ports to connect to switches R1 and R2 respectively to form a mesh redundant structure.

[0083] For example, port P0 of terminal T1 is connected to port P20 of switch R1, and port P1 of terminal T1 is connected to port P22 of switch R2; port P0 of terminal T2 is connected to port P23 of switch R1, and port P1 of terminal T2 is connected to port P23 of switch R2; port P0 of terminal T3 is connected to port P24 of switch R1, and port P1 of terminal T3 is connected to port P24 of switch R2.

[0084] When terminals T1 and T2 communicate, there are two paths between them: T1->R1->T2 and T1->R2->T2. These two paths have different transmit and receive ports but the same distance, making them both optimal paths. Therefore, the routing table configured for switch R1 includes either the path T1->R1->T2 or the path T1->R2->T2. Of course, the routing table configured for switch R1 also includes the optimal path between terminals T1 and T3.

[0085] Terminal T1 transmits a basic packet to switch R1 via port U0. After receiving the basic packet, switch R1 queries the routing table to determine the forwarding port and forwards the basic packet to terminal T2 via the forwarding port. As can be seen, the switch's forwarding of the basic packet depends solely on the information in the routing table and does not require control from other nodes.

[0086] As can be seen, the ports of terminals T1 and T2 are directly connected to the same switch. Terminal T1 sends a basic packet to switch R1. Switch R1 queries the routing table to determine the forwarding port based on the destination ID in the basic packet, and directly transmits the basic packet to terminal T2.

[0087] In some embodiments, after receiving the base packet, the switch R1 may perform a CRC check on the base packet. If the check fails, the packet will be directly discarded. If the check passes, the routing table will be queried to determine the forwarding port.

[0088] In some embodiments, data packets exchanged between terminals are transmitted based on 10-byte packets, that is, the data are all converted into 10-byte packets. The format of the first packet transmitted between terminals is shown in Table 2, and the formats of other packets transmitted between terminals are usually not as shown in Table 2.

[0089] Table 2

[0090] Mode Domain Source address field Destination address field Register address Parameter word Control Word Verification Field 8b 16b 16b 8b 16b 8b 8b

[0091] It should be noted that during the communication between terminals in the ownerless communication network, a link may be disconnected. In the event of a link disconnection, if there is still a connected path between the two terminals connected by the link, the ownerless communication network will automatically switch to the connected path for data communication, usually switching to the optimal path.

[0092] It should also be noted that the packet definitions for standard commands, status, and data packet headers are standard. However, for the data body, each base packet is primarily composed of data, so data transmission must be used together with the data packet header and data packet trailer to form a complete packet. During data packet transmission, the communication network only performs CRC checks on the start and end packets of the entire transmitted data packet (which can be understood as a sequence of multiple base packets), and only uses the start and end packets to define the size of the entire data packet.

[0093] The following combination Figure 4 , taking the disconnection of a link in another ownerless communication network as an example, the process of switching paths in the ownerless communication network is introduced.

[0094] like Figure 4 As shown, the ownerless communication network disclosed in this embodiment includes switches R1 to R5, and terminals T1 and T4. The switches or terminals are connected to other devices through ports to form a cascade relationship.

[0095] In one example, the connection between terminal T4 and switch R2 is disconnected. Before the path is disconnected, the optimal path between terminal T1 and terminal T4 is: T1->R2->T4.

[0096] After the path is disconnected, switch R2 broadcasts a reconfiguration command to directly connected switches R5 and R6. Switches R5 and R6 continue to broadcast the reconfiguration command to other devices until the entire communication network receives the reconfiguration command. Each switch updates the optimal path in the routing table.

[0097] After the connection between terminal T4 and switch R2 is disconnected, there are four communication paths from terminal T1 to terminal T4:

[0098] T1.P0->R1.P17->R1.P0->R5.P16->R5.P26->R3.P0->R3.P22->T4.P1

[0099] T1.P0->R1.P17->R1.P1->R6.P16->R6.P28->R3.P1->R3.P22->T4.P1

[0100] T1.P1->R2.P22->R2.P0->R5.P22->R5.P26->R3.P0->R3.P22->T4.P1

[0101] T1.P1->R2.P22->R2.P1->R6.P17->R6.P28->R3.P1->R3.P22->T4.P1

[0102] The two ports P0 and P1 of terminal T1 correspond to two paths respectively, and the distance between the two paths corresponding to each port is equal. One of the two paths can be selected as the optimal path and recorded in the routing table.

[0103] In some embodiments, two paths can be selected as the optimal path based on the health of the port and recorded in the routing table. That is, the path corresponding to the port with higher health is selected as the optimal path and recorded in the routing table.

[0104] In some embodiments, the path corresponding to the smaller switch port number may be selected as the optimal path and recorded in the routing table.

[0105] If the ports of the two terminals are not directly connected to the same switch, they need to communicate through multiple switches. In this case, you need to follow the steps below:

[0106] ①The terminal transmits the base packet to the switch.

[0107] ②The switch queries the routing table based on the destination ID provided by the base packet.

[0108] ③The switch determines the outgoing port.

[0109] ④The switch directly forwards the base packet through the outgoing port.

[0110] ⑤The base packet is transferred to the next switch and the process goes to step ②.

[0111] ⑥The base packet is transferred to the destination terminal and the base packet transmission is completed.

[0112] From the above, it can be seen that the communication network with a masterless mesh topology structure provided by the embodiments of the present application has the following advantages:

[0113] First, data transmission between terminals does not require coordination and control from other nodes, and a single node failure will not cause the entire network to be paralyzed.

[0114] Second, based on the mesh topology, there are thousands of paths between terminals, which provides high fault tolerance.

[0115] Third, because the network has an automatic reconstruction function, when some links or nodes fail, the network will automatically switch to other optimal paths to ensure reliable communication.

[0116] Fourth, under the time trigger mechanism (TT), each node will act according to the preset time slot allocation table, without the need for the main controller to coordinate bus occupancy.

[0117] Fifth, the data transmission process has no requirements for the topology of the communication network. As long as there is an effective connection path between the two terminals, the optimal path can be found to achieve transmission.

[0118] Figure 5 A communication network with a masterless ring topology is shown. Figure 5 The communication network of the masterless ring topology shown has a two-layer structure including switches R1 to R4 and terminals T1 to T4.

[0119] like Figure 5 As shown, the first layer of the communication network includes switches R1 to R4, which are interconnected through ports to form a ring structure. Specifically, port P0 of switch R1 is connected to port P1 of switch R4, port P1 of switch R1 is connected to port P0 of switch R2, port P1 of switch R2 is connected to port P0 of switch R3, and port P1 of switch R3 is connected to port P0 of switch R4.

[0120] Terminal T1 is connected to switch R1 and switch R2 through a port, terminal T2 is connected to switch R2 and switch R3 through a port, terminal T3 is connected to switch R3 and switch R4 through a port, and terminal T4 is connected to switch R3 and switch R4 through a port.

[0121] In an example, terminal T1 sends data to terminal T4. The data exchange link between terminal T1 and terminal T4 includes the following:

[0122] (1)T1.P0->R1.P16->R4.P1->T4.P1

[0123] (2)T1.P1->R2.P16->R3.P0->T4.P0

[0124] (3)T1.P0->R1.P16->R2.P1->R3.P0->T4.P0

[0125] (4)T1.P1->R2.P16->R1.P1->R4.P1->T4.P1

[0126] (5)T1.P1->R2.P16->R3.P0->R4.P0->T4.P1

[0127] (6)T1.P0->R1.P16->R2.P0->R3.P0->R4.P0->T4.P1

[0128] In the above link, the Shaq bus will ensure that the shortest path is found to complete data transmission. The optimal path can be the shortest path. When the lengths of two paths are the same, such as when path (1) and path (2) are the same, the communication network will give priority to the path (1) with the smaller port number. Of course, the existence of other redundant paths is of great significance. Once a node or line fails, as long as the two terminals are logically connected, the communication network can always find an optimal path again through reconstruction for subsequent communication.

[0129] Terminal T1 will identify the ID number of the device sending data (command) and receiving data (command), compare the destination address in the base packet with the routing table, obtain the outgoing port of the base packet, and forward the base packet from the port according to the optimal path saved in the routing table.

[0130] For example, if the line between T1.P0 and R1.P16 fails, terminal T1 can broadcast a reconfiguration command to switch R1. Switch R1 then broadcasts the reconfiguration command to its directly connected switch R2. Switch R2 continues to broadcast the reconfiguration command to other devices until the entire communication network has received the information. Each switch then updates the optimal path in its routing table.

[0131] At this time, the optimal path for terminal T1 to transmit data to terminal T4 will be adjusted to path (2).

[0132] For example, when switch R1 fails, terminal T1 can broadcast a reconfiguration command. Switch R2 will then broadcast the reconfiguration command to its directly connected switch R3, which will then broadcast the reconfiguration command to switch R4 until the entire communication network receives the reconfiguration command. Each switch will also update the optimal path in its routing table.

[0133] At this time, the optimal path for terminal T1 to transmit data to terminal T4 will also be adjusted to path (2).

[0134] In some embodiments, the principle for the switch to update the optimal path in the routing table may be: remove paths with faulty nodes and faulty lines, and select the optimal path from the remaining paths as the optimal path.

[0135] Figure 6 A communication network with a masterless star topology is shown. Figure 6 The communication network shown in the masterless star topology has a two-layer structure including a switch R1 and terminals T1 to T6.

[0136] For example, Figure 6 The 18 ports of switch R1 are numbered from P0 to P17. Any two ports have the same function, which improves data transmission reliability.

[0137] Terminals T1 to T6 use the Shaker network interface module to access the Shaker network. Ports of terminals T1 to T6 can be connected to ports of switch R1.

[0138] Figure 6 In the demonstrated masterless star topology, after a switch receives a basic packet from a terminal or other user, it compares the destination address in the packet with the routing table to determine the packet's egress port. It then forwards the packet from that port along the optimal path stored in the routing table. Each switch automatically identifies the optimal next hop upon receiving the packet, ensuring optimal data transmission paths throughout the entire process, completely independent of control by other nodes.

[0139] It should be noted that the communication path between the two terminals has redundant paths. In some embodiments, the routing table configured on the switch may be updated. After the switch determines that the connection branch of the duplex port is disconnected, the terminal and the switch may broadcast a reconfiguration command to other directly connected switches, triggering the reconfiguration command to be broadcast to all nodes in the network. After receiving the reconfiguration command, the other switches may broadcast the reconfiguration command to their own directly connected switches, until all switches in the entire communication network receive the reconfiguration command.

[0140] Each switch in the communication network may update the optimal path between terminal communications stored in its own routing table based on the reconstruction command.

[0141] The advantage of the multiple ports of switch R1 is that when multiple terminals need to communicate simultaneously, they can do so through different ports without causing communication delays and blockages.

[0142] For example, if two groups, terminal T1 to terminal T2 and terminal T3 to terminal T5, communicate with each other at the same time, the communication from terminal T1 to terminal T2 will be carried out through ports P16 and P19, while the communication from terminal T3 to terminal T5 will be carried out through ports P20 and port P22. They will not interfere with each other and will not affect each other, which greatly improves the problem of slow processing speed when there are many communication nodes in the traditional star structure.

[0143] Figure 7 It is a structural diagram of a terminal port or a switch port of a masterless star communication network.

[0144] like Figure 7As shown, each port on a switch or terminal contains two physical interfaces: one for receiving data and one for sending data. Each physical interface also has two independent first-in, first-out (FIFO) queues: one for storing message packets, which may include command packets or status packets, and one for storing data packets. In a communication network, command packets and status packets have the same priority, while data packets have a lower priority than command packets and status packets.

[0145] Figure 6 In the example, when terminals T1 and T2 want to communicate, T1 sends a communication packet through port P0 to the receiving interface of port P16 on switch R1. Simultaneously, if terminal T3 needs to communicate with T1, T3 sends a communication packet through port P20 to switch R1. After receiving the communication packet, switch R1 sends it back to terminal T1 through the sending interface of port P16. This shows that the sending and receiving of port P16 on switch R1 do not affect each other, and there is no need to wait. A communication packet can refer to a command packet, a status packet, or a data packet.

[0146] In a masterless star communication network, when the terminals of the Shak bus communicate with each other, the length of both the data packet and the base packet in the command packet is 10 bytes, and an 80-bit parallel processing core with the same width as the data packet is used to process the data packet, which improves the heavy burden on the central node of the traditional star topology network. Therefore, the communication delay time between different terminals is small and the real-time performance is high, which largely ensures the accuracy of data transmission.

[0147] Figure 8 A schematic diagram of a terminal provided in an embodiment of the present application.

[0148] refer to Figure 8 , which shows a schematic diagram of a structure of a terminal suitable for implementing the embodiments of the present application. The terminal in the embodiments of the present application may include but is not limited to fixed terminals such as mobile phones, laptops, PDAs (personal digital assistants), PADs (tablet computers), desktop computers, etc. Figure 8 The electronic device shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.

[0149] like Figure 8As shown, the terminal may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 602 or programs loaded from a storage device 608 into a random access memory (RAM) 604. When the terminal is powered on, the RAM 604 also stores various programs and data required for terminal operation. The processing device 601, ROM 602, and RAM 604 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0150] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a memory card, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the terminal to communicate with other devices wirelessly or by wire to exchange data. Although Figure 8 The terminal is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.

[0151] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0152] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

[0153] Although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination.

Claims

1. A masterless communication network supporting a free topology structure, characterized in that: include: Multiple terminals; among them: The terminal includes a plurality of ports, and a plurality of the terminals are connected through the ports to form a communication network structure with a free topology; The terminal is provided with a routing table, the terminal is configured to receive a first basic packet, and after determining a destination port of the first basic packet based on the routing table, send the first basic packet to the destination port, the routing table including at least identifiers of multiple data transfer ports of the terminal, each of the data transfer ports corresponding to a communication path from a source terminal to a destination terminal, the source terminal and the destination terminal being different terminals among the multiple terminals; After receiving the base packet, each terminal can automatically identify the optimal next hop according to the routing table to ensure the optimal path for the entire data transmission process. Communication between terminals does not rely on the control of other nodes. The system further comprises at least one switch, wherein the switch comprises a plurality of ports, and the plurality of terminals are connected via the plurality of ports of the switch to form a communication network structure with a free topology; The switch is provided with a routing table, the switch is configured to receive a second basic packet, and after determining a destination port of the second basic packet based on the routing table of the switch, send the second basic packet to the destination port of the second basic packet. The routing table of the switch includes at least identifiers of multiple data outbound ports of the switch, where each data outbound port corresponds to a communication path from a source terminal to a destination terminal. The source terminal and the destination terminal are different terminals among the multiple terminals and have a direct or indirect connection relationship with the switch.

2. The ownerless communication network according to claim 1, characterized in that One of the data outgoing ports of the switch or the terminal corresponds to an optimal communication path from a source terminal to a destination terminal.

3. The ownerless communication network according to claim 1, wherein: Identifications of multiple data transfer ports of the terminal in the routing table of the terminal are updated according to changes in the communication network topology structure caused by the path disconnection information of the ownerless communication network; The identifiers of the multiple data outgoing ports of the switch in the routing table of the switch are updated according to the change of the communication network topology structure caused by the path disconnection information of the ownerless communication network.

4. The ownerless communication network according to claim 2, characterized in that After determining the destination port of the first base packet based on the routing table, the terminal is further configured to determine, based on the health status information of the port, that the destination port of the first base packet is healthy, and then send the first base packet to the destination port of the first base packet; After determining the target port of the second base packet based on the routing table of the switch, the switch is further configured to determine, based on the health status information of the port, that the target port of the second base packet is healthy, and then send the second base packet to the target port of the second base packet.

5. The ownerless communication network according to claim 4, characterized in that The terminal determines, based on the health status information of the port, that the target port of the first basic packet is unhealthy, and then sends the first basic packet to other forwarding ports; The switch determines, based on the health status information of the port, that the target port of the second basic packet is unhealthy, and then sends the second basic packet to other forwarding ports.

6. The ownerless communication network according to claim 1, characterized in that The routing table of the terminal and the routing table of the switch further include: identifiers of the source terminal and the destination terminal.

7. The ownerless communication network according to claim 1, wherein: After receiving the first basic packet, the terminal is further configured to perform CRC on the first basic packet, and if the check is correct, determine the destination port of the first basic packet; if the check is incorrect, discard the first basic packet; After receiving the second basic packet, the switch is further configured to perform CRC on the second basic packet. If the check is correct, the target port of the second basic packet is determined; if the check is incorrect, the second basic packet is discarded.

8. The ownerless communication network according to claim 1, wherein: The terminal is further configured to determine that a communication path is broken and broadcast a reconstruction command to directly connected devices; based on the reconstruction command, the terminal updates identifiers of multiple data output ports in a routing table of the terminal; The switch is further configured to determine that a communication path is broken and broadcast a reconstruction command to a directly connected switch; based on the reconstruction command, the switch updates identifiers of multiple data output ports of the switch in a routing table of the switch.

9. The ownerless communication network according to claim 1, wherein: The plurality of terminals are connected to the plurality of ports of the switch to form a communication network structure with a free topology, including: a ring network structure, a mesh network structure, a star network structure or a free topology structure.

Citation Information

Patent Citations

  • Optical-fiber CAN2.0B bus routing system based on star topology

    CN109412695A

  • Multi-protocol terminal with double-channel redundant output for switch

    CN111683021A