Communication method and related device

By obtaining the cumulative delay information of N routing paths in the wireless communication system and determining the target routing topology, the problem of end-to-end delay in the wireless communication system is solved, and the stability and reliability of information transmission are achieved.

WO2025130828A1PCT designated stage expired Publication Date: 2025-06-26HUAWEI TECH CO LTD

Patent Information

Application Number
PCT/CN2024/139709
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-19
Filing Date
2024-12-16
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

In wireless communication systems, how to effectively ensure end-to-end low-latency communication to ensure the stability of information transmission. Prior arts such as RPL protocols and flooding modes have the risk of delay instability and broadcast storms.

Method used

By obtaining the accumulated delay information of N routing paths, the target routing topology between the first node and the root node is determined, and the routing path with the shortest accumulated delay and the least number of hops is preferred to ensure the reliability of end-to-end delay.

Benefits of technology

The stability and reliability of end-to-end delay in wireless communication systems are realized, the risks of delay instability and broadcast storms are reduced, and the stability of information transmission is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024139709_26062025_PF_FP_ABST
    Figure CN2024139709_26062025_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and a related device, which are applied to the field of network awareness. In the present application, a first node can acquire accumulated time delay information of N routing paths, and determine a target routing topology between the first node and a root node at least on the basis of the accumulated time delay information of the N routing paths, wherein the first node and the root node belong to the same network domain and the paths where a packet of the first node is transmitted in the network include the first node and the root node. The shorter the time delay of transmitting a packet between the nodes in a network domain is, the higher the stability of transmitting a packet by means of a routing topology with the shorter time delay is. Therefore, according to the present application, a target routing topology for transmitting a packet between the nodes in the same network domain is screened for on the basis of acquired accumulated time delay information of N routing paths, so that a low-time-delay packet transmission routing path can be negotiated between the nodes. A packet of a node is transmitted by a target routing topology, so that the reliability of end-to-end time delay can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

A communication method and related device

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on December 19, 2023, with application number 202311762403.5 and application name “A communication method and related device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of network perception, in particular to wireless communication technology, and specifically to a communication method and related devices. Background Art

[0003] With the development of wireless technology, its easy deployment, ease of maintenance, and low cost have led to its increasing adoption. Wireless technology is commonly used in wireless communication systems, which typically consist of multiple nodes that communicate with each other to transmit information. Multiple nodes can be networked to form a network domain, where nodes within a network domain communicate with other nodes in a connectionless or connected manner. The channel through which information is transmitted between nodes is called a routing path. The more nodes a routing path passes through, the higher the likelihood of longer latency.

[0004] The industry typically transmits messages along routing paths based on a variety of different protocols. Some solutions use the link quality-based routing protocol for low-power and lossy networks (RPL) to route messages. This protocol specifies that the link metric for building tree-topology routing is the packet loss rate (ETX). However, the packet loss rate still has certain limitations in terms of latency and cannot truly reflect the latency of the routing path. Other solutions use flooding to transmit messages, but this can easily trigger broadcast storms, which conflict with communication, further increase latency, and make it difficult to ensure low-latency communication for end-to-end transmission of network messages.

[0005] Therefore, in wireless communication systems, how to effectively ensure end-to-end low-latency communication and thus ensure the stability of information transmission is a hot topic being studied by technical personnel in this field. Summary of the Invention

[0006] The embodiments of the present application provide a communication method and related devices that can ensure end-to-end low-latency communication and thus ensure the stability of information transmission.

[0007] In a first aspect, an embodiment of the present application provides a communication method, comprising: obtaining cumulative delay information of N routing paths, and determining a target routing topology between a first node and a root node based at least on the cumulative delay information of the N routing paths, where N is an integer and N ≥ 1. The cumulative delay information of the first routing path is used to indicate the delay for a message from the first node to reach the root node via the first routing path, and the first routing path belongs to any one of the N routing paths. The target routing topology belongs to at least one of the N routing paths, and the cumulative delay information corresponding to the target routing topology satisfies a first condition.

[0008] The first node and the root node belong to the same network domain (for example, represented as the first network domain). Exemplarily, the first network domain includes the root node and one or more child nodes, and the first node belongs to the one or more child nodes.

[0009] Optionally, the method may be applied to the first node, for example, executed by a hardware module and / or a software module in the first node. For ease of understanding, the following description is made by taking the first node as the subject executing the method as an example.

[0010] In this application, N routing paths are all capable of supporting the transmission of messages from the first node to the root node, and each routing path has corresponding cumulative delay information. The cumulative delay information of a routing path from node A to node B refers to the delay experienced by the message transmission between nodes A and B (also known as end-to-end delay).

[0011] Since the shorter the delay for transmitting messages between nodes in a network domain, the higher the stability of message transmission through the routing topology with shorter delay, this application can coordinate a low-latency message transmission routing path between nodes by screening the target routing topology for message transmission from the accumulated delay information of the N routing paths obtained. Optionally, the target routing topology can be the routing path with the shortest cumulative delay. Transmitting messages from nodes through the target routing topology can ensure the reliability of end-to-end delay.

[0012] In some solutions, both the first node and the root node support wireless communication technology, and the transmission of the message of the first node between the first node and the root node is wireless transmission.

[0013] In a possible implementation of the first aspect, the method also includes: obtaining the number of hops of N routing paths, and determining the target routing topology between the first node and the root node based at least on the accumulated delay information of the N routing paths, including: determining the target routing topology between the first node and the root node based on the accumulated delay information of the N routing paths and the number of hops of the N routing paths.

[0014] In the above implementation, the more hops a route has, the more unstable the latency becomes. Each hop in the routing path may generate oscillations, leading to latency accumulation and, in turn, routing instability. Therefore, when constructing a route, the present application can comprehensively evaluate the cumulative latency information of the routing path and the number of hops in the routing path to determine the target routing topology between the first node and the root node, thereby ensuring the reliability of the end-to-end latency.

[0015] In another possible implementation of the first aspect, when there is a routing path that satisfies the hop count constraint among the N routing paths, the target routing topology is the routing path that satisfies the hop count constraint and has the smallest hop count among the N routing paths.

[0016] In the above implementation, routing paths can be constructed based on hop count constraints. Under the same communication environment, the smaller the hop count, the more stable the routing path. Therefore, if one of N routing paths satisfies the hop count constraint, the routing path with the smallest hop count can be selected as the target routing topology, further ensuring the reliability of end-to-end latency.

[0017] In another possible implementation of the first aspect, when there are multiple routing paths that meet the hop count constraint among the N routing paths, the target routing topology is the routing path that meets the hop count constraint and has the shortest delay among the N routing paths.

[0018] The greater the number of hops, the more unstable the latency. Each hop in the routing path may cause oscillations, leading to latency accumulation and, in turn, routing instability. However, fewer hops does not necessarily mean stable latency. Therefore, when constructing a route, the cumulative latency information of the routing path and the number of hops in the routing path can be combined, as well as the rules for following the hop count constraint for evaluation. The above implementation method selects the path with the shortest latency while satisfying the hop count constraint, which can reduce the latency of the routing path and make it more stable.

[0019] For example, if the hop count constraint is 2 hops, the routing paths for node A's message to reach the root node include a 3-hop routing path with a delay of 63ms, a 2-hop routing path with a delay of 68ms, and a 2-hop routing path with a delay of 70ms. Since the 3-hop routing path exceeds the hop count constraint, node A can select the routing path with the shortest delay (68ms) of the two 2-hop routing paths as the target routing topology.

[0020] In another possible implementation of the first aspect, when there is no routing path that satisfies the hop count constraint among the N routing paths, the target routing topology is a routing path with the shortest delay among the N routing paths.

[0021] The greater the number of hops, the more unstable the latency. Each hop in the routing path may cause oscillations, leading to cumulative latency and, in turn, routing instability. However, fewer hops does not necessarily mean stable latency. Therefore, when constructing a route, the cumulative latency information of the routing path, the number of hops in the routing path, and the rules for following hop count constraints can be comprehensively evaluated. The above implementation selects the routing path with the shortest latency while satisfying the hop count constraint, which can make the latency of packets transmitted through the routing path more stable.

[0022] For example, with a hop count constraint of 2 hops, the routing paths for node A's message to reach the root node include a 3-hop path with a delay of 63ms, a 3-hop path with a delay of 68ms, and a 3-hop path with a delay of 78ms. Since the 3-hop path exceeds the hop count constraint and no routing path satisfies the hop count constraint, to ensure latency stability as much as possible, node A can select the routing path with the shortest delay (63ms) among the three 3-hop paths as the target routing topology.

[0023] In another possible implementation of the first aspect, the hop count constraint is that the hop count satisfies a second condition, and the hop count is associated with a number of forwarding times experienced by a message from the first node to reach the root node.

[0024] The second condition may be that the number of hops of each routing path in the N routing paths is less than or equal to a preset value (the preset value may be, for example, 2 hops).

[0025] Optionally, the number of hops of each routing path is equal to the number of forwarding times that the message from the first node experiences before reaching the root node, or the number of hops of each routing path is equal to the number of forwarding times+1.

[0026] In yet another possible implementation of the first aspect, when the hop count of the target routing topology does not satisfy the hop count constraint, hop count alarm information is sent to the root node.

[0027] In the above implementation, it helps the root node to promptly troubleshoot nodes according to the abnormality of the number of hops between nodes in the network domain, so as to ensure the stability of the delay.

[0028] In another possible implementation of the first aspect, the method further includes broadcasting a first message, the first message including hop count constraint indication information of the first network domain. The hop count constraint indication information is used to indicate a constraint condition that the number of hops between a second node and a root node must satisfy, and the second node is a node other than the first node in the first network domain.

[0029] In some cases, the hop count constraint indication information is carried in a message and broadcast. Optionally, the hop count constraint indication information is carried in a message and broadcast by the root node. The hop count constraint indication information is used to indicate that the number of hops from the root node to all nodes that want to join the first network domain should not exceed the hop count constraint. This application uses the preset hop count constraint indication information to ensure latency stability within the same network domain.

[0030] In another possible implementation of the first aspect, N ≥ 2, and the optimal target routing topology is the routing path with the fewest hops among the N routing paths. When there are at least two routing paths with the fewest hops among the N paths, the target routing topology is the routing path with the shortest latency among the at least two routing paths with the fewest hops.

[0031] In another possible implementation of the first aspect, the method also includes: sending a second message to the first neighbor node of the first node, the second message including the accumulated delay information of the target routing topology between the first node and the root node, and the point-to-point connection between the first neighbor node of the first node and the first node.

[0032] When nodes form a network, the nodes in the network communicate with each other in a connectionless or connected manner. In some cases, connection means that two nodes in the network have established a point-to-point connection, and messages can be sent through point-to-point communication. In the above embodiment, the accumulated delay of each hop will be carried in the message of the first node and broadcasted for the neighboring nodes of the first node to select routes. For example, if the distance between node A and node B is reachable in one hop, then the connection between node A and node B is point-to-point.

[0033] In another possible implementation of the first aspect, a first node and a root node are point-to-point connected, and cumulative delay information of N routing paths is obtained, including: determining the delay information between the first node and the root node, the cumulative delay information of the second routing path is the delay information between the first node and the root node, and the second routing path belongs to one of the N routing paths.

[0034] In the above embodiment, a case is provided where N=1 and the first node is a root node.

[0035] In another possible implementation of the first aspect, obtaining cumulative delay information for N routing paths includes: obtaining cumulative delay information for a target routing topology between a first neighbor node of a first node and a root node, wherein the first neighbor node of the first node is connected point-to-point to the first node. Determining delay information between the first node and the first neighbor node of the first node. Determining cumulative delay information for a second routing path based on the delay information between the first node and the first neighbor node of the first node, and the cumulative delay information for the target routing topology between the first neighbor node of the first node and the root node, wherein the second routing path is one of the N routing paths, and the second routing path passes through the first neighbor node of the first node.

[0036] In the above embodiment, a scenario is provided where the first node is a common node (for example, node A, which can be either a parent node or a child node). Exemplarily, the cumulative delay for the first node's message to reach the root node via the second routing path is calculated by adding the delay from the first node's first neighbor node (for example, node B) to the root node to the delay between nodes A and B.

[0037] In another possible implementation of the first aspect, obtaining the accumulated delay information of the target routing topology between the first neighbor node of the first node and the root node includes: receiving a third message from the first neighbor node of the first node, the third message including the accumulated delay information of the target routing topology between the first neighbor node of the first node and the root node.

[0038] Accordingly, when the first node is a relay node, it can receive messages broadcast by neighboring nodes for use in selecting routes.

[0039] In another possible implementation of the first aspect, the method further includes: transmitting a measurement signal to a first neighbor node of the first node, where the measurement signal is used to determine delay information between the first node and the first neighbor node of the first node.

[0040] In the above embodiment, the heartbeat packets of the first node and its neighboring nodes carry measurement signals, or the measurement signals are directly used as heartbeat packets to maintain the link relationship.

[0041] In another possible implementation of the first aspect, the method further includes: broadcasting a fourth message, where the fourth message includes timestamp information, and the timestamp information is used by the second neighbor node of the first node to determine the target routing topology.

[0042] In the above embodiment, the first node broadcasts a message to all neighboring nodes. In some cases, timestamp information can be carried in the message, and the timestamp is used to refresh the delay information between the first node and the second neighboring node of the first node (it can also be understood as the delay is calculated by the difference between the message timestamp and the time of reception). When the delay between the first node and the second neighboring node becomes longer, or the link between the first node and the second neighboring node is interrupted, or a lower delay occurs in other neighboring nodes, other routing paths are switched to transmit the message. Low-latency communication is further guaranteed by setting timestamps.

[0043] Optionally, the second neighbor node may be a child node (ie, a lower-level node) of the first node in the first network domain, or a parent node (ie, an upper-level node) of the first node or a sibling node of the same layer (ie, a same-level node).

[0044] In another possible implementation of the first aspect, the method further includes: receiving a second measurement signal from the first neighboring node, and obtaining delay information between the first node and the first neighboring node according to the second measurement signal.

[0045] Optionally, before receiving the second measurement signal from the first neighboring node, the method further includes:

[0046] A first measurement signal is sent to the first neighboring node, where the first measurement signal is used to trigger the sending of a second measurement signal.

[0047] In the above embodiment, the first measurement signal is used to stimulate the first neighbor node of the first node to send the second measurement signal to the first node, and the purpose is also to enable the first node to receive the measurement signal of the first neighbor node (for example, so that the first node can know the distance between the other party and itself).

[0048] In another possible implementation of the first aspect, determining the delay information between the first node and the first neighbor node of the first node includes: determining the delay between the first node and the first neighbor node of the first node based on the delay information in the first time period.

[0049] In the above embodiment, the time delay between the first node and its neighboring nodes is usually not an instantaneous value measured once, but may be an average value over a period of time.

[0050] In another possible implementation of the first aspect, the delay between the first node and the first neighbor node of the first node is an average of delay information in the first time period.

[0051] In another possible implementation of the first aspect, the first time period includes at least one time slice. Determining, based on delay information within the first time period, the delay between the first node and a first neighboring node of the first node includes determining, based on delay information corresponding to the at least one time slice and a weight corresponding to the at least one time slice, the delay between the first node and the first neighboring node of the first node.

[0052] Optionally, a plurality of delay information are obtained in the first time period, and each delay information corresponds to a time slice.

[0053] In the above implementation, routing path latency is typically calculated using an average value over a time period, but this average value cannot effectively detect changes in link quality. For example, if a node's link quality has been stable over the past three days, accumulating a sufficiently large average sample, when a link change occurs, routing switching will be very slow because the change in the average value is amortized by the huge amount of historical data. This application effectively ensures latency reliability by weighting the average latency value to obtain a weighted average latency value.

[0054] In another possible implementation of the first aspect, the length of each time slice in at least one time slice is the same, or there are multiple time slices in the first time period, and there are at least two time slices with different lengths among the multiple time slices.

[0055] In another possible implementation of the first aspect, there are multiple time slices in the first time period, and the multiple time slices have different corresponding weights.

[0056] In another possible implementation of the first aspect, in the at least one time slice, a time slice that is closer to the current time has a higher corresponding weight.

[0057] In another possible implementation of the first aspect, the method further includes: receiving a fifth message from the root node, the fifth message including one or more of length indication information of the first time period, time slice length indication information, and time slice weight indication information.

[0058] In another possible implementation of the first aspect, the method further includes: sending a third message to the root node through the target routing topology.

[0059] In the above implementation, when there is only one target routing topology, the first node reports the message through the target routing topology.

[0060] In another possible implementation of the first aspect, the target routing topology corresponds to M of N routing paths, where N is an integer and N ≥ 2, and M is an integer and M ≥ 2. The method further includes: sending M third messages to the root node via the M routing paths, where each of the M messages is sent correspondingly via each of the M routing paths.

[0061] In the above embodiment, when there are M target routing topologies, the first node reports M copies of the message through the M target routing topologies. For example, in some scenarios with deterministic delays (for example, energy user alarm data needs to be reported to the root node within 100ms), the first node can use the multi-parent node feature in the routing protocol to send multiple copies of the same message data to the primary parent node and the backup parent node at the same time. In this way, the message can be transmitted on different links. Even if an accident occurs on a link, other messages can be guaranteed to be unaffected, thereby enhancing robustness and reducing the delay caused by the need for retransmission of lost messages.

[0062] Optionally, the multiple transmission and selective reception feature is only triggered at the source node, that is, only the source node will send redundant messages to the primary parent node and the backup parent node. The relay node will not trigger the multiple transmission and selective reception again when forwarding, to prevent forwarding storms.

[0063] In another possible implementation of the first aspect, the method also includes: receiving a query message from a root node, the query message is used to query the routing configuration information of the first node, and feeding back the routing configuration information of the first node to the root node, the routing configuration information including one or more of the time slice length information of the first node, the time slice weight information of the first node, and the hop count constraint indication information of the first network domain.

[0064] In another possible implementation of the first aspect, the method further includes: updating the accumulated delay information of at least one routing path among the N routing paths, and determining the target routing topology between the first node and the root node based on the updated accumulated delay information of the N routing paths.

[0065] In the above implementation, the time interval of route switching can be perceived by updating the accumulated delay information of the routing path to ensure the stability of the target routing topology between the first node and the root node.

[0066] In another possible implementation of the first aspect, the delay includes one or more of a data packet delay, a data packet jitter, a jitter delay of a neighboring node of the first node, and the like.

[0067] In a second aspect, an embodiment of the present application provides a communication method, comprising: receiving a message from a first node. Updating a routing table based on the message from the first node, the routing table being used to indicate that a next-hop node of a target routing topology passing through a second node is the first node, and the second node is a neighbor node of a root node.

[0068] Optionally, the data message from the first node may be forwarded to the root node by the second node.

[0069] In the above method, the root node can update the accumulated delay information of the first node's message reaching the root node through different routing paths based on the first node's message, thereby ensuring the reliability of the end-to-end delay.

[0070] In a third aspect, an embodiment of the present application provides a communication device, which includes a module or unit for implementing the method described in the first aspect or any possible implementation method of the first aspect.

[0071] In a fourth aspect, an embodiment of the present application provides a communication device, which includes a module or unit for implementing the method described in the second aspect or any possible implementation method of the second aspect.

[0072] In a fifth aspect, an embodiment of the present application provides a communication device, which includes at least one processor and a communication interface; the communication interface is used to input and / or output information, and at least one processor is used to call a computer program stored in at least one memory to implement the method described in the aforementioned first aspect or any one of the first aspects.

[0073] In the sixth aspect, an embodiment of the present application provides a communication device, which includes at least one processor and a communication interface; the communication interface is used to input and / or output information, and at least one processor is used to call a computer program stored in at least one memory to implement the method described in the aforementioned second aspect or any one of the second aspects.

[0074] In a seventh aspect, the present application provides a chip, the chip including the module or unit of the method described in the first aspect or any possible implementation. The module can be a software module or a hardware module.

[0075] In an eighth aspect, an embodiment of the present application provides a communication system, comprising a first node and a root node, wherein the first node and the root node are communicatively connected, wherein the first node is used to implement any method of the first aspect, or to implement any method of the second aspect.

[0076] Furthermore, the communication system also includes a second node, the first node, the second node and the root node may belong to the same network domain, and the first node, the second node and the root node may be located on the same routing path for transmitting the message of the first node.

[0077] In a ninth aspect, an embodiment of the present application provides a terminal comprising the communication device of any one of aspects 3 to 7. Furthermore, the terminal may be an intelligent terminal or transportation tool such as a vehicle, a drone, or a robot.

[0078] In the tenth aspect, an embodiment of the present application provides a computer-readable storage medium, which is used to store instructions or computer programs; when the instructions or computer programs are executed, any method of the first aspect is implemented, or any method of the second aspect is implemented.

[0079] In an eleventh aspect, the present application provides a computer program product, comprising computer instructions that, when executed on at least one processor, can implement the method described in any of the first and second aspects or any possible implementation thereof. The computer program product can be a software installation package, and when the method is to be used, the computer program product can be downloaded and executed on a computing device.

[0080] The beneficial effects of the technical solutions provided in aspects 3 to 11 of this application can refer to the beneficial effects of the technical solutions in aspects 1 to 2, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0081] The following is a brief introduction to the drawings used in describing the embodiments.

[0082] FIG1 is a schematic diagram of a network domain with a star topology structure provided in an embodiment of the present application;

[0083] FIG2 is a schematic diagram of a network domain with a tree-like multi-hop topology structure provided by an embodiment of the present application;

[0084] FIG3 is a schematic diagram of a wireless BMS scenario provided by an embodiment of the present application;

[0085] FIG4 is a schematic diagram of a network domain with a mesh topology structure provided by an embodiment of the present application;

[0086] FIG5 is a schematic diagram of a smart home scenario provided by an embodiment of the present application;

[0087] FIG6 is a schematic diagram of a message transmission routing path provided in an embodiment of the present application;

[0088] FIG7 is a flow chart of a communication method provided in an embodiment of the present application;

[0089] FIG8 is a schematic diagram of a measurement frame format provided in an embodiment of the present application;

[0090] FIG9 is a schematic diagram of the delays of different nodes in different time slices provided by an embodiment of the present application;

[0091] FIG10 is a schematic diagram of a target routing topology provided in an embodiment of the present application;

[0092] FIG11 is a schematic diagram of another target routing topology provided in an embodiment of the present application;

[0093] FIG12 is a schematic diagram of another target routing topology provided in an embodiment of the present application;

[0094] FIG13 is a schematic diagram of the format of a message M5 provided in an embodiment of the present application;

[0095] FIG14 is a schematic diagram of the format of a message M6 provided in an embodiment of the present application;

[0096] FIG15 is a schematic diagram of the format of another message M6 provided in an embodiment of the present application;

[0097] FIG16 is a schematic diagram of the format of another message M6 provided in an embodiment of the present application;

[0098] FIG17 is a schematic diagram of a routing table provided in an embodiment of the present application;

[0099] FIG18 is a flow chart of another communication method provided in an embodiment of the present application;

[0100] FIG19 is a schematic structural diagram of a communication device 190 provided in an embodiment of the present application;

[0101] FIG20 is a schematic structural diagram of another communication device 200 provided in an embodiment of the present application;

[0102] FIG21 is a schematic structural diagram of another communication device 210 provided in an embodiment of the present application. DETAILED DESCRIPTION

[0103] In this application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. "And / or" describes the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.

[0104] It should be understood that, in this application, "at least one" refers to one or more, and "a plurality" refers to two or more. Furthermore, in this application, "equal to" can be used in conjunction with "greater than" or "less than." When "equal to" and "greater than" are used together, the technical solution of "greater than" is adopted; when "equal to" and "less than" are used together, the technical solution of "less than" is adopted.

[0105] The following first explains the relevant names or terms involved in this application to facilitate understanding by those skilled in the art.

[0106] 1. Node

[0107] A node is a device with communication capabilities, including but not limited to one or more of user equipment, network equipment, and industrial equipment. User equipment includes handheld terminals, wearable terminals, vehicles, in-vehicle devices, sensor devices, smart home devices, and entertainment devices. Handheld terminals include but are not limited to mobile phones, tablets, or laptops. Wearable devices include but are not limited to headphones, smart bracelets, smart watches, or smart glasses. Vehicles include but are not limited to vehicles, ships, aircraft, rail transit (such as subways and high-speed trains), or logistics robots (such as automated guided vehicles (AGVs)). In-vehicle devices include but are not limited to domain controllers (DCs), screens, microphones, speakers, electronic keys, keyless entry, starter system controllers, battery management systems (BMSs), battery packs, or battery cells. Sensor devices include but are not limited to cameras, radars, lidars, light sensors, temperature sensors, or humidity sensors. Smart home devices include but are not limited to projectors, smart TVs, smart refrigerators, smart home gateways, and security devices. Leisure and entertainment equipment such as virtual reality (VR) equipment, mixed reality (MR) equipment, massage chairs, home theaters, game control devices, or 4D theater cabins.

[0108] Network equipment includes but is not limited to routers, switches, or base stations, etc. Industrial equipment includes industrial robots or robotic arms, etc.

[0109] The nodes in the embodiments of this application can be applied to various scenarios such as smart cars, smart homes, smart terminals, smart manufacturing, or smart exhibition halls. In some application scenarios or certain network types, devices with similar communication capabilities may not be called nodes. However, for the convenience of description, in the embodiments of this application, devices with communication capabilities are collectively referred to as nodes.

[0110] It should be understood that the communication methods, communication devices, communication systems, or nodes of the embodiments of the present application are applicable to a variety of networks, such as wired communication networks, wireless communication networks, or networks that combine wired and wireless communication. For example, wireless communication networks include networks connected by the following communication technologies: SparkLink (or NearLink) 802.11b / g, Bluetooth, Zigbee, radio frequency identification (RFID), ultra-wideband (UWB) technology, or wireless short-range communication systems, or long-range connection technologies including communication technologies based on long term evolution (LTE), fifth-generation mobile networks or fifth-generation wireless systems (5G or 5G technology), global system for mobile communications (GSM), general packet radio service (GPRS), universal mobile telecommunications system (UMTS), and other wireless access type technologies. For example, the wired communication network includes a network connected by the following communication technologies: one or more of fiber optic connection technology, vehicle-mounted wired communication technology, controller area network (CAN), local interconnect network bus (LIN), CAN flexible data-rate (CAN FD), or vehicle-mounted Ethernet.

[0111] 2. Network domain

[0112] A network domain generally includes multiple nodes, which can communicate with each other to transfer data. The nodes in the network domain may have different identities or different capabilities.

[0113] Taking a vehicle as an example, there can be multiple network domains in a vehicle. A network domain refers to a system consisting of a group of nodes with communication relationships and the communication connection relationships (i.e., communication links) between communication nodes, which is usually used to complete a specific function.

[0114] For example, a network domain may include a master node (e.g., a root node) and at least one slave node (e.g., a child node). The root node and child nodes, or child nodes themselves, can communicate with each other. The root node manages child nodes and allocates resources to them. Child nodes follow the root node's scheduling and use the resources allocated by the root node to communicate with the root node and / or other child nodes. For a network domain, any two nodes within the domain can communicate based on their communication addresses.

[0115] In some specific implementation scenarios, the master node may also be called a grant (G) node, a G node, or a control node, and the slave node may also be called a terminal (T) or a T node. The communication link from a G node to a T node may be called a G link or a downlink, and the communication link from a T node to a G node may be called a T link or an uplink.

[0116] It should be understood that the identities of management nodes and terminal nodes are not absolute, but are merely exemplary names used to facilitate the distinction between the operations performed by communicating nodes in a possible connection scenario. In some implementations, a node may be a management node or a terminal node. In some scenarios, a node may belong to two or more network domains simultaneously, acting as a terminal node in some network domains and a management node in others. To facilitate understanding, such nodes are represented as G(T) nodes in some embodiments.

[0117] The connections between nodes in a network domain usually follow a certain topology, such as a star topology, a tree topology, or a mesh topology.

[0118] For example, please refer to Figure 1, which is a schematic diagram of a network domain with a star topology. The network domain shown in Figure 1 includes a G node and multiple T nodes (e.g., T1 node, T2 node, ..., Tn node). The G node serves as the root node and can also serve as the master management node, while the multiple T nodes serve as child nodes and can also be considered managed nodes. Each T node is connected to another G node, with the connection relationship represented by a dotted line. Communication between G nodes and T nodes can be bidirectional unicast or broadcast communication. Optionally, the topology shown in Figure 1 can be applied to in-vehicle communication scenarios. As an example application of the communication topology shown in Figure 1, the G node can be a telematics box (T-BOX), and the T node can be a user terminal in the vehicle. The user terminal can be, for example, a mobile phone, headset, audio system, or in-vehicle equipment. The T-BOX can also be called a remote vehicle terminal or an Internet of Vehicles communication terminal. For example, the T-BOX can establish a communication connection with a mobile phone to enable control of door opening and locking, window control, air conditioning, and other functions.

[0119] Please refer to Figure 2, which is a schematic diagram of a network domain with a tree-like multi-hop topology. The network domain shown in Figure 2 includes nodes G1, G2, G3, T1, T2, T3, and T4. G1 can serve as the root node (also considered the master management node), while G2, G3, T1, T2, T3, and T4 serve as child nodes, or managed nodes. T1 and T2 are connected to G2, T3 and T4 are connected to G3, and G2 and G3 are connected to G1. G2 can be represented as G2(T), and G3 as G3(T). Taking G2 as an example, for communication between G2 and G1, G2 can serve as a T node, and G1 can serve as a G node. For communication between G2 and T1, G2 can serve as a G node, and T1 can serve as a T node. 2 , the communication between G nodes and T nodes can be bidirectional unicast or broadcast. The communication between T nodes is forwarded by G nodes, and the information transmission mode during the communication process can include unicast and / or broadcast.

[0120] Optionally, the structure shown in Figure 2 can be applied to energy storage management scenarios or in-vehicle communication scenarios, such as wireless battery management system (BMS) scenarios or tire pressure monitoring scenarios. A wireless BMS scenario is shown in Figure 3. In Figure 3, the battery array management system (BAMS) serves as the root node, or G1 node, which can also be considered the general management node. The battery cluster management system (BCMS) serves as the G(T) node, and the battery management unit (BMU) serves as the T node.

[0121] Please refer to Figure 4, which is a schematic diagram of a network domain with a mesh topology. The network domain shown in Figure 4 includes a G1 node, a G2 node, a G3 node, a G4 node, a T1 node, a T2 node, and a T3 node. Among them, the G1 node can serve as a root node, or it can be regarded as a general management node, and the G2 node, the G3 node, the G4 node, the T1 node, the T2 node, and the T3 node can serve as child nodes, or they can be regarded as managed nodes. The T1 node connects to the G2 node, the T2 node connects to the G4 node, the G4 node can connect to the G2 node and the G3 node, the G2 node connects to the G1 node, and the G3 node connects to the G1 node. Optionally, in some cases, the T node can connect to multiple G nodes, for example, the T1 node can also connect to the G4 node. Among them, the G1 node can serve as a general management node, and the G2 node, the G3 node, and the G4 node can be G(T) nodes.

[0122] Alternatively, the structure shown in Figure 4 can be applied to smart home scenarios. Please refer to Figure 5, which illustrates a smart home scenario. In Figure 5, the gateway / customer premises equipment (CPE) serves as the master management node, the air conditioner, mobile phone, refrigerator, and washing machine serve as dual-identity nodes, and the smart door lock, water heater, speaker, printer, smart socket, and smart curtains serve as T-nodes. The aforementioned explanations of technical terms may be applied to the following embodiments.

[0123] When nodes form a network, they can communicate with other nodes in the network, either connectionlessly or connectedly, to transmit information. The channel through which information is transmitted between nodes is called a routing path. See Figure 6, which illustrates a message transmission routing path. The network domain includes nodes N1 through N7. There are various possible designs for their connection relationships and node identities, as detailed in the previous description. Specifically, when nodes N6 and N7 communicate, they can do so via the "N6-N3-N2-N7" path. Information between the two nodes is forwarded through intermediate nodes, namely, nodes N2 and N3.

[0124] The more nodes a routing path passes through, the more hops it has, leading to a higher likelihood of latency instability. The industry typically uses various protocols to transmit packets along routing paths. Some solutions utilize RPL routing based on link quality. This protocol specifies that the link metric for constructing tree-like routing is the packet loss ratio (ETX), which is the ratio of sent unicast packets to received acknowledgment frames. If this value is 1, it indicates that all unicast packets sent by a node have received acknowledgments from the peer node, indicating a very stable link. A larger value indicates a less stable link, increasing the risk of retransmissions. However, this approach still has limitations in terms of latency. For example, there are scenarios where the packet loss ratio is low but the latency is high. Furthermore, packets vary in size, so the packet loss ratio cannot truly reflect the link latency. In other words, the most stable link may indicate the least retransmissions, but not the lowest latency. Packet size significantly influences the packet loss ratio. A large number of small packets can reduce the expected packet loss ratio but not the latency.

[0125] Mesh protocols in other solutions use flooding to forward messages, so information needs to be transmitted multiple times through multiple routing paths. However, flooding can easily trigger broadcast storms, which conflict with communications and increase latency. As a result, it is difficult to ensure low latency for end-to-end message transmission in the network.

[0126] In light of this, embodiments of the present application provide a communication method and related apparatus that utilize end-to-end latency as a metric for constructing routes. This means that the metric used by a subnode to select a route is no longer packet loss rate, but latency. This application ensures end-to-end low-latency communication, thereby ensuring the stability of information transmission.

[0127] The method provided in the embodiments of the present application is introduced below.

[0128] Please refer to Figure 7, which is a flow chart of a communication method provided in an embodiment of the present application. Optionally, the method can be applied to a network domain, such as one or more network domains in Figures 1 to 6 above. The communication method shown in Figure 7 may include step S701 and / or step S704. It should be understood that for the convenience of description, the description is given in the order of steps S701 to S704, and it is not intended to limit the execution to the above order. The embodiment of the present application does not limit the order of execution, execution time, number of executions, etc. of the above one or more steps. Steps S701 to S704 are as follows:

[0129] Step S701: The first node obtains accumulated delay information of N routing paths.

[0130] The first node is an exemplary name used to distinguish a node. For example, in conjunction with FIG6 , the first node may be node N1, node N2 or other nodes.

[0131] A routing path is a channel for transmitting information between nodes, and information can be transmitted from a certain node to another node along a routing path. Optionally, the information can be a message, and the message is transmitted from the first node to the root node along a routing path. Wherein, the first node and the root node belong to the same network domain (for example, represented as a first network domain). Exemplarily, the first network domain includes a root node and one or more child nodes, and the first node belongs to the one or more child nodes. Optionally, there can be N routing paths for transmitting the message of the first node, where N is an integer and N≥1. For example, in conjunction with Figure 6, taking the first node as node N6 and the root node as node N7 as an example, the message from node N6 to node N7 includes two routing paths, one of which is node N6→node N3→node N2→node N7, and the other is node N6→node N3→node N4→node N7.

[0132] Cumulative delay information is used to indicate the cumulative delay of routing paths between nodes. For example, in conjunction with Figure 6 , continuing with the example of node N6 as the first node and node N7 as the root node, the routing paths for messages from node N6 to node N7 include a routing path with a cumulative delay of 63ms (10ms + 28ms + 25ms) (node ​​N6 → node N3 → node N2 → node N7) and a routing path with a cumulative delay of 68ms (10ms + 28ms + 30ms) (node ​​N6 → node N3 → node N4 → node N7).

[0133] Optionally, the accumulated delay information of the N routing paths may be sent by a neighboring node of the first node, or may be calculated by the first node itself. Exemplarily, the neighboring node of the first node may be the parent node of the first node.

[0134] Optionally, the accumulated delay information of the first routing path is used to indicate the delay of the message of the first node to reach the root node through the first routing path, and the first routing path belongs to any one of the N routing paths. In some schemes, the accumulated delay information of the first routing path is related to the delay information between the first node and the first neighbor node of the first node, and the delay information is used to indicate the time information used to transmit the message of the first node between the first node and the first neighbor node of the first node. Optionally, the first neighbor node of the first node can be the previous hop node of the first node. For example, in conjunction with Figure 6, continuing to take the first node as node N6 and the previous hop node of the first node as node N3 as an example, the distance between node N6 and node N3 is one hop, and the delay information between node N6 and node N3 is 10ms, that is, the accumulated delay information of the first routing path is the delay information between node N6 and node N3, plus the sum of the delay information between other nodes passing through the first routing path.

[0135] In some other schemes, the accumulated delay information of the first routing path is related to the delay information between the first neighbor node of the first node and the neighbor node of the first neighbor node of the first node, and the delay information is used to indicate the time information between the first node and the first neighbor node, and between the first node and the neighbor node of the first neighbor node for transmitting the first node message. Optionally, the first neighbor node of the first node can be the previous hop node of the first node, and the neighbor node of the first neighbor node of the first node can be the previous previous hop node of the first node. For example, in conjunction with Figure 6, continuing to take the first node as node N6, the previous hop node of the first node as node N3, and the previous previous hop node of the first node as node N2 as an example, the distance between node N6 and node N3 is one hop, and the distance between node N3 and node N2 is one hop, that is, the distance between node N6 and node N2 is two hops. The delay information between node N6 and node N3 is 10ms, and the delay information between node N3 and node N2 is 28ms. That is, the delay information between node N6 and node N2 is 38ms. That is, the cumulative delay information of the first routing path is the sum of the delay information between node N6 and node N3, the delay information between node N3 and node N2, and the delay information between other nodes passing through the first routing path.

[0136] As a possible implementation, the first node transmits a measurement signal to a first neighboring node of the first node.

[0137] The measurement signal is used to determine delay information between the first node and a first neighboring node of the first node.

[0138] Exemplarily, the measurement signal may be a second measurement signal. Optionally, the first node may receive the second measurement signal from the first neighboring node, and obtain delay information between the first node and the first neighboring node based on the second measurement signal. Further optionally, the second measurement signal may be a measurement request frame.

[0139] Exemplarily, the heartbeat packets of the first node and the first neighbor node of the first node carry measurement frames, or the measurement frames are directly used as heartbeat packets to maintain the link relationship. Please refer to Figure 8, which is a schematic diagram of the format of a measurement frame provided in an embodiment of the present application. As shown in (a) of Figure 8, the format of the measurement request frame may include one or more of the following information:

[0140] (1) Transmission channel identifier (TCID), which is used to indicate the transmission channel identifier of the transmitted data.

[0141] (2) Length indication, used to indicate the length of the measurement request frame field.

[0142] (3) Frame type indication, used to indicate the type of the measurement request frame. For example, the measurement request frame field is defined as 0b0101.

[0143] (4) Response mode, used to indicate that the mode of the current measurement request frame is the response mode.

[0144] (5) Bytes reserved for future use (RFU).

[0145] (6) Request frame sequence number, used to indicate the sequence number of the measurement request frame.

[0146] (7) Frame sending timestamp, used to indicate the timestamp information when the measurement request frame is sent.

[0147] (8) TLV indicates a data transmission mode based on byte stream. Since in the IoT system, the data received by the message receiving end (such as the server) is a byte stream rather than a character stream received by the user terminal, the TLV format can be used to encapsulate the data into bytes. Among them, the data tag "T" is used to indicate the type of data, and its value range is 0 to 255. The data frame length "L" is used to indicate the length of the entire data frame after the data is encapsulated. The data value "V" is used to indicate the value of the transmitted data. Different types of data values ​​have different characteristics, and the data values ​​can be encapsulated and filled in bytes according to actual conditions.

[0148] (9) Cyclic redundancy check (CRC) is a set of check codes calculated based on data to verify whether the data has been modified or transmitted incorrectly during the transmission process.

[0149] Exemplarily, the measurement signal may be a first measurement signal. Further optionally, before receiving the second measurement signal from the first neighboring node, the first node may also send the first measurement signal to the first neighboring node, where the first measurement signal is used to trigger the sending of the second measurement signal. Further optionally, the first measurement signal may be a measurement response frame.

[0150] The first measurement signal is used to stimulate the first neighboring node of the first node to send the second measurement signal to the first node, and the purpose is also to enable the first node to receive the measurement signal of the first neighboring node (for example, the second measurement signal can be used to enable the first node to obtain the distance between the other node and the first node itself). As shown in (b) of Figure 8, the format of the measurement response frame may include one or more of the following information:

[0151] (1) TCID, used to indicate the transmission channel identifier of the transmitted data.

[0152] (2) Length indication, used to indicate the length of the measurement request frame field.

[0153] (3) Frame type indication, used to indicate the type of the measurement request frame. For example, the measurement request frame field is defined as 0b0110.

[0154] (4) Flag bit, used to indicate the operation result. For example, the flag bit has 8 bits, where "0-bit" indicates that the TLV is not recognized, "1-bit" indicates that the value length defined by the length field in the TLV does not match the actual parameter value length, "2-bit" is used to indicate the integrity of the measurement frame, and the remaining bits are reserved.

[0155] (5) Bytes reserved for future use (RFU).

[0156] (6) Request frame sequence number, used to indicate the sequence number of the measurement request frame.

[0157] (7) Request frame sending timestamp, used to indicate the timestamp information when the measurement request frame is sent.

[0158] (8) Request frame reception timestamp, used to indicate the timestamp information when the measurement request frame is received.

[0159] (9) Frame sending timestamp, used to indicate the timestamp information when the measurement response frame is sent.

[0160] (10) TLV indicates a data transmission mode based on byte streams. Since in the IoT system, the data received by the message receiving end (such as the server) is a byte stream rather than a character stream received by the user terminal, the TLV format can be used to encapsulate the data into bytes. Among them, the data tag "T" is used to indicate the type of data, and its value range is 0 to 255. The data frame length "L" is used to indicate the length of the entire data frame after the data is encapsulated. The data value "V" is used to indicate the value of the transmitted data. Different types of data values ​​have different characteristics, and the data values ​​can be encapsulated and filled in bytes according to the actual situation.

[0161] (11) Cyclic redundancy check (CRC) is a set of check codes calculated based on data to verify whether the data has been modified or transmitted incorrectly during the transmission process.

[0162] As a possible implementation manner, the first node may determine the delay between the first node and a first neighbor node of the first node according to delay information in the first time period.

[0163] Optionally, the delay between the first node and its first neighbor node is an average of the delay information within the first time period. In other words, the delay between the first node and its neighbor node is usually not an instantaneous value measured in a single time, but may be an average value over a period of time.

[0164] As another possible implementation, the first time period includes at least one time slice, and the first node may determine the delay between the first node and its first neighbor node based on the delay information corresponding to the at least one time slice and the weight corresponding to the at least one time slice.

[0165] Optionally, a plurality of delay information are obtained in the first time period, and each delay information corresponds to a time slice.

[0166] In the above implementation, routing path latency is typically calculated using an average value over a time period, but this average value cannot effectively detect changes in link quality. For example, if a node's link quality has been stable over the past three days, accumulating a sufficiently large average sample, when a link change occurs, routing switching will be very slow because the change in the average value is amortized by the huge amount of historical data. This application effectively ensures latency reliability by weighting the average latency value to obtain a weighted average latency value.

[0167] Optionally, the length of each time slice in the at least one time slice is the same, or there are multiple time slices in the first time period, and there are at least two time slices with different lengths among the multiple time slices.

[0168] Optionally, there are multiple time slices in the first time period, and the weights corresponding to the multiple time slices are different.

[0169] Optionally, in the at least one time slice, the time slice closer to the current time has a higher corresponding weight.

[0170] Exemplarily, the delay between the first node and the first neighbor node of the first node is determined based on the delay information corresponding to at least one time slice and the weight corresponding to at least one time slice, and the following formula can be satisfied: ETX=W t0 M t0 +W t1 M t1 +W t2 M t2 +W t3 M t3 +….

[0171] Among them, ETX is used to represent the delay between the first node and the first neighbor node of the first node, W is used to represent the time slice weight information, t is used to represent a certain time slice (also called moment), and M is used to represent the average delay calculated in a certain time slice (for example, 5 minutes).

[0172] Optionally, the delay information corresponding to at least one time slice and the weight corresponding to at least one time slice may be carried in the message sent by the root node, or may be pre-configured. Further optionally, the delay information corresponding to at least one time slice and the weight corresponding to at least one time slice may be associated with the service or application scenario corresponding to the node. Exemplarily, for a smart home scenario, the delay information corresponding to at least one time slice and the weight corresponding to at least one time slice may be obtained through a pre-configured table. Please refer to Figure 9, which is a schematic diagram of the delay of different nodes in different time slices provided by an embodiment of the present application. Time t0 is used to represent the time slice closest to the current time slice, t1 is the second closest time slice, time t2 is used to represent the time slice third closest to the current time slice, and time t3 is used to represent the time slice fourth closest to the current time slice. Subsequent moments refer to the above and so on. In conjunction with Figure 5, let's take the example of an air conditioner as the first node, a washing machine as its neighbor node, and a refrigerator as the second node. Assuming the air conditioner's average latency at time t0 is 24ms, its weight at t0 is 1.05, its average latency at t1 is 23ms, its weight at t1 is 0.95, its average latency at t2 is 22ms, its weight at t2 is 0.80, its average latency at t3 is 23ms, and its weight at t3 is 0.60, then based on the average latency and weight of the air conditioner at time t0-t3, the latency between the air conditioner and the root node (gateway / CPE) can be determined to be 78.45ms (24*1.05+23*0.95+22*0.80+23*0.60). The latency between the refrigerator and the washing machine and the gateway / CPE can be calculated using the same method as described above and will not be repeated here.

[0173] As a possible implementation manner, the first node receives a fifth message from the root node.

[0174] The fifth message includes one or more of the first time period length indication information, time slice length indication information, time slice weight indication information, etc. For easy distinction, the fifth message can be represented as message M1.

[0175] Optionally, the length indication information of the first time period is used to indicate the length of the first time period (for example, the first time period is 1 hour), the time slice length indication information is used to indicate the length of each time slice in the first time period (for example, each 5-minute interval in 1 hour is a time slice), and the time slice weight indication information is used to indicate the weight corresponding to each time slice in the first time period.

[0176] Step S702: The first node determines a target routing topology between the first node and a root node based on at least the accumulated delay information of N routing paths.

[0177] Among them, the target routing topology belongs to at least one of the N routing paths. Optionally, when the target routing topology belongs to one of the N routing paths, the target routing topology is the optimal routing path among the N routing paths. Further optionally, when the target routing topology belongs to at least one of the N routing paths, the target routing topology can be multiple preferred routing paths among the N routing paths. Exemplarily, in conjunction with Figure 6, continuing to take the first node as node N6 and the root node as node N7 as an example, assuming that the routing path for the message from node N6 to reach node N7 includes a routing path with a cumulative delay of 63ms (10ms+28ms+25ms) (node ​​N6→node N3→node N2→node N7) and a routing path with a cumulative delay of 68ms (10ms+28ms+30ms) (node ​​N6→node N3→node N4→node N7). The target routing topology can be the routing path with a cumulative delay of 63ms among these two routing paths, or both routing paths can be used as the target routing topology.

[0178] The cumulative delay information corresponding to the target routing topology satisfies the first condition. Exemplarily, the first condition can be that the cumulative delay information corresponding to the target routing topology has the shortest delay, or it can be that the delays based on the cumulative delay information corresponding to the target routing topology are sorted from shortest to longest, and the first M delays ranked close to the shortest delay are selected, where M is a positive integer and M ≥ 2. Accordingly, the target routing topology between the first node and the root node can be the routing path with the shortest delay among the N routing paths, or the routing path ranked close to the first M delays among the N routing paths.

[0179] As a possible implementation, the first node sends a second message to the first node's first neighbor node (for example, in conjunction with Figure 6, the first node may be N3, and the first node's first neighbor node may be node N6). The accumulated delay information of the target routing topology between the first node and the root node may be carried in the message and broadcast, making it easier to distinguish the second message as message M2. Optionally, message M2 includes the accumulated delay information of the target routing topology between the first node and the root node. Optionally, the first node's first neighbor node and the first node are connected point-to-point.

[0180] When nodes form a network, the nodes in the network communicate with each other in a connectionless or connected manner. In some cases, connection means that two nodes in the network have established a point-to-point connection, and messages can be sent through point-to-point communication. In this application, the accumulated delay of each hop can be carried in the message of the first node and broadcasted for the neighboring nodes of the first node to select routes. For example, in conjunction with Figure 6, for example, the distance between node N6 and node N3 is reachable in one hop, then the connection between node N6 and node N3 is point-to-point.

[0181] Further optionally, the accumulated delay information of the target routing topology between the first node and the root node may be carried in the RANK field of the message M2 and broadcasted.

[0182] In some solutions, message M2 may carry some or all of the accumulated delay information. For example, message M2 may carry information about packet delay and / or packet jitter. For another example, message M2 may include one or more of packet delay, packet jitter, and jitter delay of neighboring nodes of the first node.

[0183] The following exemplifies two implementation methods for obtaining the accumulated delay information of N routing paths when the first nodes are different nodes:

[0184] In the first embodiment, the first node is a root node, and there is a point-to-point connection between the first node and the root node. The first node determines the delay information between the first node and the root node. The accumulated delay information of the second routing path is the delay information between the first node and the root node. The second routing path is one of N routing paths. For example, with reference to FIG6 , when N=1, there is one routing path in the first network domain. Assuming that the first node is node N7 (coinciding with the root node), node N7 determines that the accumulated delay information of node N7 through the second routing path is 0ms.

[0185] In a second embodiment, a first node is a child node. The first node obtains cumulative delay information of a target routing topology between the first node's first neighbor node and a root node. The first node's first neighbor node and the first node are point-to-point connected. The first node may determine the delay information between the first node and the first node's first neighbor node, and determine the cumulative delay information of a second routing path based on the delay information between the first node and the first node's first neighbor node and the cumulative delay information of the target routing topology between the first node's first neighbor node and the root node. The second routing path is one of N routing paths, and the second routing path passes through the first node's first neighbor node.

[0186] For example, with reference to Figure 6, when N = 2, assuming the first node is node N6, the first neighbor node of the first node is node N3, the root node is node N7, and the second routing path is node N6 → node N3 → node N2 → node N7, node N6 obtains the cumulative delay information of the target routing topology between node N3 and node N7, and the connection between node N3 and node N6 is point-to-point. Node N6 adds the target delay of node N3 to the delay between node N3 and node N6 to obtain the cumulative delay information of the message from node N6 to node N7 via the routing path of node N6 → node N3 → node N2 → node N7.

[0187] As a possible implementation, the first node receives a third message from the first neighbor node of the first node (in combination with Figure 6, for example, the first node is node N3, and the first neighbor node of the first node can be node N2). The accumulated delay information of the target routing topology between the first node and the root node can be carried in the third message and broadcast, so as to facilitate the distinction and represent the third message as message M3.

[0188] As a possible implementation, the first node broadcasts the fourth message.

[0189] The fourth message includes timestamp information, which is used by the second neighbor node of the first node to determine the target routing topology. The timestamp information can be carried in the fourth message and broadcast by the first node. For easy identification, the message is represented as message M4.

[0190] Exemplarily, the first node can broadcast message M4 to all neighboring nodes. The function of the timestamp is to refresh the delay information between the first node and the neighboring nodes of the first node (the delay is calculated by the difference between the message timestamp and the time of reception). For example, if the delay of the original parent node becomes longer or the link of the original parent node is interrupted or the delay of a neighboring node becomes shorter (that is, a lower delay appears in the neighboring node), the routing path is switched. Optionally, the second neighboring node can be a child node (that is, a node at the next level) of the first node in the first network domain, or it can be a parent node (that is, a node at the previous level) of the first node or a brother node at the same layer (that is, a node at the same level).

[0191] As a possible implementation, the first node may also obtain the hop counts of the N routing paths. The hop count constraint is that the hop count satisfies the second condition, and the hop count is associated with the number of forwarding times experienced by the message from the first node to reach the root node.

[0192] The second condition may be that the number of hops in each of the N routing paths is less than or equal to a preset value, which may be, for example, 2 hops. For example, the hop count constraint between the first node and the root node may be a maximum hop count of 2 hops. The definition of the hop count constraint is merely an example, and other possible definitions are possible, and this application does not impose any limitation thereto.

[0193] Optionally, the number of hops of each routing path is equal to the number of forwarding times that the message from the first node experiences before reaching the root node, or the number of hops of each routing path is equal to the number of forwarding times+1.

[0194] For example, from the perspective of the forwarding side (for example, a one-hop node forwards a message from a two-hop node to a root node), the number of hops on each routing path in this case is equal to the number of forwards experienced by the message from the first node to reach the root node (for example, if the number of forwards is 1, the number of hops is also 1). From the perspective of end-to-end reporting (for example, a two-hop node reports a message to the root node), the number of hops on each routing path in this case is equal to the number of forwards experienced by the message from the first node to reach the root node + 1 (for example, if the number of forwards is 1, the number of hops is also 2).

[0195] Optionally, when there is a routing path satisfying the hop count constraint among the N routing paths, the target routing topology is the routing path satisfying the hop count constraint and having the smallest hop count among the N routing paths.

[0196] The more hops there are, the more unstable the delay is, because each hop of the routing path may produce oscillations, resulting in delay superposition, which in turn leads to routing instability. Therefore, in the same communication environment considering the number of hops, the smaller the routing path, the more stable it is. For example, assuming that the hop constraint is 3 hops, if there is a 2-hop routing path and a 3-hop routing path in the routing path from the first node in the first network domain to the root node, the above two routing paths are routing paths that meet the hop constraint, but because the message is transmitted through the 2-hop routing path, the delay stability of this routing path is relatively higher than that of the 3-hop routing path. Based on this, the routing path with fewer hops (the 2-hop routing path) can be selected from the two as the target routing topology to ensure the stability of the network during message transmission.

[0197] As a possible implementation, the first node determines a target routing topology between the first node and the root node based on accumulated delay information of N routing paths and the number of hops of the N routing paths.

[0198] A greater number of hops increases latency instability, as each hop in the routing path can cause oscillations, leading to cumulative latency and, consequently, routing instability. However, a smaller number of hops does not necessarily guarantee stable latency. Therefore, when constructing a route, we can evaluate the route's cumulative latency, the number of hops, and the rules governing hop counts. Selecting the path with the shortest latency while meeting hop count constraints can reduce latency and make it more stable.

[0199] The above describes the specific contents of the accumulated delay information, hop count, and target routing topology by way of example. The following lists two implementation methods for determining the target routing topology between the first node and the root node based on the accumulated delay information and hop count of N routing paths:

[0200] In the first embodiment, when there are multiple routing paths satisfying the hop count constraint among N routing paths, the target routing topology is the routing path satisfying the hop count constraint and having the shortest delay among the N routing paths.

[0201] For example, please refer to Figure 10, which is a schematic diagram of a target routing topology provided by an embodiment of the present application. Taking the first node as node N6 and the root node as node N7 as an example, assuming that the hop count constraint is 3 hops, the routing path for the message from node N6 to reach node N7 includes a 3-hop routing path (node ​​N6→node N3→node N2→node N7) with a delay of 63ms (25ms+28ms+10ms), a 2-hop routing path (node ​​N6→node N3→node N7) with a delay of 78ms (10ms+68ms), and a 3-hop routing path (node ​​N6→node N3→node N4→node N7) with a delay of 88ms (10ms+30ms+48ms). Since all three routing paths meet the hop count constraint, node N6 can select the routing path with the shortest delay (63ms) among the three routing paths as the target routing topology.

[0202] In the second implementation mode, when there is no routing path satisfying the hop count constraint among the N routing paths, the target routing topology is the routing path with the shortest delay among the N routing paths.

[0203] For example, please refer to Figure 11, which is a schematic diagram of another target routing topology provided by an embodiment of the present application. Taking the first node as node N6 and the root node as node N7 as an example, assuming that the hop count constraint is 2 hops, the routing path for the message from node N6 to reach the root node includes a 3-hop routing path with a cumulative delay of 63ms (25ms+28ms+10ms) (node ​​N6→node N3→node N2→node N7), a 3-hop routing path with a cumulative delay of 68ms (28ms+30ms+10ms) (node ​​N6→node N3→node N8→node N7) and a 3-hop routing path with a cumulative delay of 78ms (43ms+25ms+10ms) (node ​​N6→node N3→node N4→node N7). Since there is no routing path that meets the hop count constraint among the above three 3-hop routing paths, in order to ensure delay stability as much as possible, node N6 can select the routing path with the shortest cumulative delay (63ms) among the three 3-hop routing paths as the target routing topology.

[0204] Optionally, when N≥2, the target routing topology is the routing path with the fewest hops among the N routing paths. If there are at least two routing paths with the fewest hops among the N paths, the target routing topology is the routing path with the shortest delay among the at least two routing paths with the fewest hops.

[0205] In this solution, a rule that does not follow the hop count constraint is provided, and only an implementation method is considered for the routing path with the least hops and the shortest delay among N routing paths. For example, please refer to Figure 12, which is a schematic diagram of another target routing topology provided by an embodiment of the present application. Taking the first node as node N6 and the root node as node N7 as an example, the routing path for the message from node N6 to reach node N7 includes a 2-hop routing path with a cumulative delay of 70ms (25ms+45ms), a 2-hop routing path with a cumulative delay of 68ms (48ms+20ms), a 3-hop path with a cumulative delay of 63ms (25ms+28ms+10ms), and a 3-hop routing path with a cumulative delay of 88ms (48ms+30ms+10ms). Among them, the two 2-hop routing paths with cumulative delays of 70ms and 68ms respectively have the fewest hops among the above four routing paths. Since the above two 2-hop routing paths are both routing paths with the fewest hops, based on this, the routing path with shorter cumulative delay (i.e., the 2-hop routing path with cumulative delay of 68ms) can be selected as the target routing topology to ensure network stability during message transmission.

[0206] In combination with the above implementation methods, the present application integrates the number of hops and accumulated delay information of the routing path, and evaluates the rules following the hop count constraint to obtain the target routing topology, which can ensure the reliability of the end-to-end delay.

[0207] Optionally, when the hop count of the target routing topology does not satisfy the hop count constraint, the first node may send hop count alarm information to the root node.

[0208] As a possible implementation, the first node broadcasts a first message (with reference to FIG. 12 , the first node may be N3, and the first neighbor node of the first node may be N6). The hop count constraint indication information of the first network domain may be carried in this message and broadcast. The hop count constraint indication information is used to indicate the constraint conditions that the hop count between the second node and the root node must meet. In other words, the hop count constraint indication information is used to indicate that the hop count from the root node to all nodes that want to join the first network domain should not exceed the hop count constraint. The second node is any node other than the first node in the first network domain. For ease of distinction, this message is represented as message M5.

[0209] Optionally, the hop count constraint indication information of the first network domain may be carried in the option field of message M5 and broadcast. Further, optionally, the hop count constraint indication information of the first network domain may be carried in the option field of the first message and broadcast by the root node. Further, optionally, the hop count constraint indication information is carried in message M5 and broadcast by each layer of child nodes.

[0210] Optionally, the option field is composed of TLVs. See Figure 13, which is a schematic diagram of the format of a message M5 provided in an embodiment of the present application. Message M5 may include one or more of the following information:

[0211] (1) Option type: used to indicate the type of hop count constraint. For example, the option type field is 1 byte and is defined as 0x80.

[0212] (2) Option length (optionlength), used to indicate the size of the optiondata field. For example, the optionlength field is 1 byte, and the value of the optionlength field is 1.

[0213] (3) Option data, used to indicate the value of the hop count constraint. For example, the value range of the option data field is 1 to 255, and the length of the option data field is 1 byte.

[0214] As a possible implementation, the first node may receive a query message from the root node, the query message being used to query the routing configuration information of the first node and feed back the routing configuration information of the first node to the root node. For ease of distinction, the query message is represented as message M6.

[0215] Optionally, the routing configuration information includes one or more of the time slice length information of the first node, the time slice weight information of the first node, and the hop count constraint indication information of the first network domain.

[0216] Optionally, the routing configuration information of the first node can be carried in the option field of message M6 and broadcast. Further, optionally, the routing configuration information of the first node can be carried in the option field of message M6 and broadcast by the root node. Further, optionally, the routing configuration information of the first node is carried in message M6 and broadcast by each layer of child nodes.

[0217] Optionally, the option field is composed of TLVs. See Figure 14, which is a schematic diagram of the format of a message M6 provided in an embodiment of the present application. The routing configuration information in the message M6 may include one or more of the following information:

[0218] (1) Option type, used to indicate the type of routing configuration information. For example, the option type field is 1 byte and is defined as 0xC0.

[0219] (2) optionlength, used to indicate the size of the optiondata field. For example, the optionlength field is 1 byte and the value of the optionlength field is 1.

[0220] (3) OptionData, used to indicate that the queried routing configuration information includes one or more of the following: time slice length information for the first node, time slice weight information for the first node, and hop count constraint information for the first network domain. Exemplarily, the OptionData field is 1 byte. 0x80 indicates the hop count constraint information for the first network domain, 0x81 indicates the time slice weight information for the first node, and 0x82 indicates the time slice length information for the first node.

[0221] Optionally, the time slice weight information of the first node (e.g., represented as w) can be carried in the option field of message M6 and broadcast. Further, optionally, the time slice weight information of the first node can be carried in the option field of message M6 and broadcast by the root node. Further, optionally, the time slice weight information of the first node is carried in message M6 and broadcast by each layer of child nodes.

[0222] Optionally, the option field is composed of TLVs. See FIG15 , which is a schematic diagram of the format of another message M6 provided in an embodiment of the present application. The time slice weight information w in the message M6 may include one or more of the following information:

[0223] (1) optiontype, used to indicate the type of weight corresponding to the time slice. For example, the optiontype field is 1 byte and is defined as 0x81.

[0224] (2) optionlength, used to indicate the size of the optiondata field. For example, the optionlength field is 1 byte and the value of the optionlength field is 4.

[0225] (3) optiondata, used to indicate the value of the weight corresponding to the time slice. For example, the value range of the optiondata field is a floating point decimal, and the optiondata field is 4 bytes.

[0226] Optionally, the time slice length information of the first node (e.g., represented as t) can also be carried in the option field of message M6 and broadcast. Further, optionally, the time slice length information of the first node can be carried in the option field of message M6 and broadcast by the root node. Further, optionally, the time slice length information of the first node is carried in message M6 and broadcast by each layer of child nodes.

[0227] Optionally, the option field is composed of TLVs. See Figure 16, which is a schematic diagram of the format of another message M6 provided in an embodiment of the present application. The time slice length information t in the message may include one or more of the following information:

[0228] (1) option type, used to indicate the type of the time slice. For example, the option type field is 1 byte and is defined as 0x82.

[0229] (2) OptionLength: This field is used to indicate the size of the OptionData field. For example, the unit of the time slice t is milliseconds (ms), the OptionLength field is 1 byte, and the value of the OptionLength field is 2.

[0230] (3) OptionData, used to indicate the value of the time slice. For example, the OptionData field is 2 bytes.

[0231] Optionally, the query message may include one or more of the first message, second message, third message, fourth message, fifth message, etc. described in the above embodiments, and this application does not limit this.

[0232] Optionally, the first node updates the accumulated delay information of at least one routing path among the N routing paths, and determines the target routing topology between the first node and the root node according to the updated accumulated delay information of the N routing paths.

[0233] For example, a special topology hop count can be constructed by using a signal attenuator, or the delay between nodes can be increased by using a signal jammer. The time interval of routing switching can be perceived by updating the cumulative delay information of the routing path to ensure the stability of the target routing topology between the first node and the root node.

[0234] Furthermore, the first node may send a message to the root node through the determined target routing topology. The following is an introduction in conjunction with step S803:

[0235] Step S703: The first node sends a message of the first node to the root node through the target routing topology.

[0236] Accordingly, the root node receives the message of the first node from the first node. Optionally, the message of the first node received by the root node may be forwarded via a second node. The target routing topology passes through the second node, and the second node is a neighbor node of the root node.

[0237] Since the specific content of the information that may be carried by the message is exemplarily introduced in step S702, two possible implementation methods of sending the message are listed below:

[0238] In the first embodiment, the first node sends a message to the root node. For example, when there is only one target routing topology, the first node sends the message of the first node to the root node through the target routing topology.

[0239] Correspondingly, the root node receives a message from the first node. Optionally, the message received by the root node from the first node may be forwarded by the second node.

[0240] In a second embodiment, a first node sends multiple messages to a root node. For example, when there are M target routing topologies, the first node sends M messages to the root node via the M target routing topologies, where M is an integer and M ≥ 2. The target routing topologies correspond to M of N routing paths, where N is an integer and N ≥ 2. The first node sends M messages from the first node to the root node via the M routing paths, where each of the M messages is sent correspondingly via each of the M routing paths.

[0241] Correspondingly, the root node receives M copies of the first node's message from the first node. Optionally, the message from the first node received by the root node may be forwarded by multiple neighboring nodes of the root node.

[0242] For example, in some scenarios with deterministic delays (for example, energy user alarm data needs to be reported to the root node within 100ms), the first node can use the multi-parent node feature in the routing protocol to send multiple copies of the same message data to the primary parent node and the backup parent node at the same time. In this way, the message can be transmitted on different links. Even if an accident occurs on a link, other messages can be guaranteed to be unaffected, thereby enhancing robustness and reducing the delay caused by message loss and retransmission. After receiving multiple messages, the root node can choose to discard duplicate messages (i.e., perform deduplication operations) based on the packet sequence number of the application layer and retain the messages that meet its own needs.

[0243] Optionally, the multiple transmission and selective reception feature is triggered only at the source node, that is, only the source node will send redundant messages to the parent node and the backup parent node, and the relay node will not trigger the multiple transmission and selective reception again when forwarding, to prevent forwarding storms.

[0244] Optionally, the message from the first node may include one or more of the first message, second message, third message, fourth message, and fifth message described in steps S701-S703 above, and this application is not limited thereto. A detailed explanation of the first message, second message, third message, fourth message, and fifth message, etc., can be found in the embodiment described in steps S701-S703 and will not be repeated here.

[0245] Step S704: The root node updates the routing table according to the message from the first node.

[0246] Among them, the routing table is used to indicate that the next hop node of the target routing topology passing through the first node is the second node. For example, please refer to Figure 17, which is a schematic diagram of a routing table provided in an embodiment of the present application. In combination with Figure 12, each initial routing table records the routing table of the delay information between each node and the neighboring nodes of each node. As shown in Table 1-1 in Figure 17, taking the next hop of the root node (such as node N7) as node N2 or node N4 as an example, the delay information of node N7 to node N2 is 25ms, and the delay information of node N7 to node N4 is 48ms. The information between these nodes can be recorded in the routing table of the root node respectively. After the root node summarizes the information of the above multiple nodes, it can form an updated routing table as shown in Table 8-1 in Figure 17. That is, the root node can update the routing information according to the delay information between each node and its neighboring nodes.

[0247] In this application, N routing paths are all capable of supporting the transmission of messages from the first node to the root node, and each routing path has corresponding cumulative delay information. The cumulative delay information of a routing path from node A to node B refers to the delay experienced by the message transmission between nodes A and B (also known as end-to-end delay).

[0248] Since the shorter the delay for transmitting messages between nodes in a network domain, the higher the stability of message transmission through the routing topology with shorter delay, this application uses the cumulative delay information of N routing paths to screen out the target routing topology for node transmission messages in the same network domain, and can coordinate a low-latency message transmission routing path between nodes. Optionally, the target routing topology can be the routing path with the shortest delay. Transmitting messages from nodes through the target routing topology can ensure the reliability of end-to-end delay.

[0249] FIG7 above describes the process of the communication method from the perspective of system interaction and provides multiple optional solutions. A possible implementation method is exemplarily introduced below in conjunction with FIG18.

[0250] Please refer to Figure 18, which is a flow chart of another communication method provided in an embodiment of the present application. Optionally, the communication method can be applied to the aforementioned communication system, such as one or more communication systems in Figures 1 to 6.

[0251] The communication method includes one or more steps from step S1801 to step S1804. It should be understood that for the convenience of description, the description is given in the order of step S1801 to step S1804, and it is not intended to limit the execution to the above order. The embodiment of the present application does not limit the order of execution, execution time, number of executions, etc. of the above one or more steps, and other steps can be interspersed between or before and after these steps as needed. Among them, steps S1801 to step S1804 are as follows:

[0252] Step S1801: The first node determines a target routing topology between the first node and a root node based on the accumulated delay information of N routing paths and the number of hops of the N routing paths.

[0253] Optionally, the first node is an exemplary name used to distinguish a certain node. For example, in conjunction with Figure 6, the first node can be the aforementioned node N1, node N2 or other node. The accumulated delay information refers to the delay accumulated in the process of transmitting messages between indicating nodes. The hop count constraint is that the hop count meets the second condition, and the hop count is associated with the number of forwarding times experienced by the message from the first node to reach the root node. The target routing topology belongs to at least one of the N routing paths, and the accumulated delay information corresponding to the target routing topology meets the first condition. For a detailed description of the above content, please refer to the embodiments such as Figures 6 and 7.

[0254] Step S1802: The first node determines whether the number of hops of the N routing paths satisfies a hop count constraint.

[0255] For example, whether the number of hops of N routing paths satisfies the hop constraint may be determined by determining whether the number of hops of each routing path in the N routing paths is less than or equal to a preset value, where the preset value may be, for example, 2 hops.

[0256] Step S1803: When there are multiple routing paths that meet the hop count constraint among the N routing paths, the target routing topology is the routing path that meets the hop count constraint and has the shortest delay among the N routing paths.

[0257] For example, when multiple routing paths satisfy the hop count constraint, the first node may select the neighbor node with the shortest delay as the parent node, and the target routing topology may be the routing path among the N routing paths that satisfies the hop count constraint and has the shortest delay.

[0258] Step S1804: when there is no routing path that satisfies the hop count constraint among the N routing paths, the target routing topology is the routing path with the minimum hop count among the N routing paths.

[0259] For example, when there is no routing path that satisfies the hop count constraint among the N routing paths, the first node can determine whether the first node currently has only one neighbor node. If there are multiple neighbor nodes, the neighbor node with the smallest hop count is selected as the parent node (for example, in combination with Figure 9, taking the first node as node N3 as an example, node N3 has three neighbor nodes, namely node N2, node N4 and node N7. Node N3 can select node N7 with the smallest hop count as the parent node of node N3), and thus the target routing topology can be the routing path with the smallest hop count among the N routing paths.

[0260] Optionally, if there is no routing path that satisfies the hop count constraint among the N routing paths, the first node can determine whether the first node currently has only one neighbor node. If there is only one neighbor node, the only neighbor node is selected as the parent node (for example, in conjunction with Figure 9, taking the first node as node N1 as an example, node N1 has only one neighbor node, node N2, so node N2 can be selected as the parent node of node N1), and then the target routing topology can be the routing path that passes through the neighbor node among the N routing paths. It should be noted that the detailed explanation of the above steps S1801-S1804 can be found in the embodiment described in Figure 7, and will not be repeated here.

[0261] The above describes in detail the method of the embodiment of the present application. The following provides an apparatus of the embodiment of the present application.

[0262] It should be understood that the division of the units in the device provided in the embodiments of the present application is only a division of logical functions, and in actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. In addition, the units in the device can be implemented in the form of a processor calling software. For example, the device includes a processor, the processor is connected to a memory, and instructions are stored in the memory. The processor calls the instructions stored in the memory to implement any of the above methods or to implement the functions of each unit of the device, wherein the processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is a memory within the device or a memory outside the device.

[0263] Alternatively, the units in the device may be implemented in the form of hardware circuits, and the functions of some or all of the units may be implemented by designing the hardware circuits, which may be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), which implements the functions of some or all of the above units by designing the logical relationships between the components within the circuit. For another example, in another implementation, the hardware circuit may be implemented by a programmable logic device (PLD), such as a field programmable gate array (FPGA), which may include a large number of logic gate circuits, and the connection relationships between the logic gate circuits may be configured through configuration files, thereby implementing the functions of some or all of the above units.

[0264] In an embodiment of the present application, each unit in the device may be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, (graphics processing unit, GPU), neural network processing unit (neural network processing unit, NPU), tensor processing unit (tensor processing unit, TPU), deep learning processing unit (deep learning processing unit, DPU), microprocessor (micro processor unit, MPU), digital signal processor (digital signal processor, DSP), ASIC, FPGA, or a combination of at least two of these processor forms.

[0265] In addition, the various units in the above devices can be fully or partially integrated together, or can be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of the various units of the device. The type of the at least one processor may be different, for example, including a CPU and an FPGA, or including a CPU and an artificial intelligence processor, or including a CPU and a GPU, etc. Several possible devices are listed below.

[0266] Please refer to Figure 19, which is a schematic diagram of the structure of a communication device 190 provided in an embodiment of the present application. Optionally, the communication device 190 can be an independent device, such as a node. Alternatively, the communication device 190 can also be a component in an independent device (such as a node), such as a chip or integrated circuit. The communication device 190 is used to implement the aforementioned communication method, such as the communication method shown in Figure 8 or Figure 18.

[0267] In one possible design, communication device 190 includes a communication unit 1901 and a processing unit 1902. The communication device 190 is configured to implement the aforementioned communication method, such as the communication method shown in FIG8 or FIG18. Exemplarily, the communication device is configured to execute the method executed by the first node, the first neighbor node of the first node, or the second neighbor node of the first node.

[0268] In one possible embodiment, the communication unit 1901 is used to obtain the cumulative delay information of N routing paths, wherein the cumulative delay information of the first routing path is used to indicate the delay of the message of the first node to reach the root node through the first routing path, the first routing path belongs to any one of the N routing paths, N is an integer and N≥1, and the first node and the root node belong to the first network domain. The processing unit 1902 is used to determine the target routing topology between the first node and the root node based on at least the cumulative delay information of the N routing paths, the target routing topology belongs to at least one of the N routing paths, and the cumulative delay information corresponding to the target routing topology meets the first condition. In another possible embodiment, the communication unit 1901 is also used to obtain the number of hops of the N routing paths. In terms of determining the target routing topology between the first node and the root node based on at least the cumulative delay information of the N routing paths, the processing unit 1902 is specifically used to: determine the target routing topology between the first node and the root node based on the cumulative delay information of the N routing paths and the number of hops of the N routing paths.

[0269] In another possible implementation, when there is a routing path that satisfies the hop count constraint among the N routing paths, the target routing topology is the routing path that satisfies the hop count constraint and has the smallest hop count among the N routing paths.

[0270] In another possible implementation, when there are multiple routing paths that satisfy the hop count constraint among N routing paths, the target routing topology is the routing path that satisfies the hop count constraint and has the shortest delay among the N routing paths; or, when there is no routing path that satisfies the hop count constraint among the N routing paths, the target routing topology is the routing path with the shortest delay among the N routing paths.

[0271] In another possible implementation, the hop count constraint is that the hop count satisfies the second condition, and the hop count is associated with the number of forwardings that the message from the first node undergoes to reach the root node. Optionally, the hop count of each routing path is equal to the number of forwardings that the message from the first node undergoes to reach the root node, or the hop count of each routing path is equal to the number of forwardings + 1.

[0272] In another possible implementation, the communication unit 1901 is further configured to send hop count alarm information to the root node when the hop count of the target routing topology does not satisfy the hop count constraint.

[0273] In another possible implementation, the communication unit 1901 is further configured to broadcast a first message, where the first message includes hop count constraint indication information of the first network domain. The hop count constraint indication information is used to indicate a constraint condition that the number of hops between a second node and a root node must satisfy, where the second node is a node other than the first node in the first network domain.

[0274] In another possible implementation, N ≥ 2, and the optimal target routing topology is the routing path with the fewest hops among the N routing paths. If there are at least two routing paths with the fewest hops among the N paths, the target routing topology is the routing path with the shortest latency among the at least two routing paths with the fewest hops.

[0275] In another possible embodiment, the communication unit 1901 is also used to send a second message to the first neighbor node of the first node, the second message including the accumulated delay information of the target routing topology between the first node and the root node, and the point-to-point connection between the first neighbor node of the first node and the first node.

[0276] In another possible implementation, the first node and the root node are point-to-point connected. In terms of obtaining the cumulative delay information of N routing paths, the communication unit 1901 is specifically used to: determine the delay information between the first node and the root node, the cumulative delay information of the second routing path is the delay information between the first node and the root node, and the second routing path belongs to one of the N routing paths.

[0277] In another possible embodiment, in terms of obtaining cumulative delay information for N routing paths, communication unit 1901 is specifically configured to: obtain cumulative delay information for a target routing topology between a first neighbor node of a first node and a root node, wherein the first neighbor node of the first node is connected point-to-point to the first node; determine delay information between the first node and the first neighbor node of the first node; and determine cumulative delay information for a second routing path based on the delay information between the first node and the first neighbor node of the first node, as well as the cumulative delay information for the target routing topology between the first neighbor node of the first node and the root node, where the second routing path is one of the N routing paths and passes through the first neighbor node of the first node.

[0278] In another possible embodiment, in terms of obtaining the cumulative delay information of the target routing topology between the first neighbor node of the first node and the root node, the communication unit 1901 is specifically used to: receive a third message from the first neighbor node of the first node, the third message including the cumulative delay information of the target routing topology between the first neighbor node of the first node and the root node.

[0279] In another possible implementation, the communication unit 1901 is further configured to transmit a measurement signal to a first neighboring node of the first node, where the measurement signal is used to determine delay information between the first node and the first neighboring node of the first node.

[0280] In another possible implementation, the communication unit 1901 is further configured to broadcast a fourth message, where the fourth message includes timestamp information, and the timestamp information is used by the second neighbor node of the first node to determine the target routing topology.

[0281] In another possible implementation, the communication unit 1901 is further configured to receive a second measurement signal from the first neighboring node. The processing unit 1902 is further configured to obtain delay information between the first node and the first neighboring node based on the second measurement signal.

[0282] Optionally, the communication unit 1901 is further configured to send a first measurement signal to the first neighboring node, where the first measurement signal is used to trigger the sending of the second measurement signal.

[0283] In another possible implementation, in determining the delay information between the first node and the first neighbor node of the first node, the processing unit 1902 is specifically used to: determine the delay between the first node and the first neighbor node of the first node based on the delay information in the first time period.

[0284] In another possible implementation, the delay between the first node and the first neighbor node of the first node is an average value of delay information in the first time period.

[0285] In another possible implementation, the first time period includes at least one time slice. In determining the delay between the first node and a first neighboring node of the first node based on the delay information within the first time period, the processing unit 1902 is specifically configured to determine the delay between the first node and the first neighboring node of the first node based on the delay information corresponding to the at least one time slice and a weight corresponding to the at least one time slice.

[0286] Optionally, a plurality of delay information are obtained in the first time period, and each delay information corresponds to a time slice.

[0287] In another possible implementation, the length of each time slice in the at least one time slice is the same, or there are multiple time slices in the first time period, and at least two time slices in the multiple time slices have different lengths.

[0288] In another possible implementation, there are multiple time slices in the first time period, and the multiple time slices have different corresponding weights.

[0289] In another possible implementation, the closer the time slice in the at least one time slice is to the current time, the higher the corresponding weight is.

[0290] In another possible implementation, the communication unit 1901 is further configured to receive a fifth message from the root node, the fifth message including one or more of the first time period length indication information, time slice length indication information, and time slice weight indication information.

[0291] In another possible implementation, the communication unit 1901 is further configured to send a third message to the root node through the target routing topology.

[0292] In another possible implementation, the target routing topology corresponds to M of N routing paths, where N is an integer and N ≥ 2, and M is an integer and M ≥ 2. The communication unit 1901 is further configured to send M third messages to the root node via the M routing paths, where each message in the M messages is sent correspondingly via each of the M routing paths.

[0293] Optionally, the multiple transmission and selective reception feature is only triggered at the source node, that is, only the source node will send redundant messages to the primary parent node and the backup parent node. The relay node will not trigger the multiple transmission and selective reception again when forwarding, to prevent forwarding storms.

[0294] Please refer to Figure 20, which is a schematic diagram of the structure of another communication device 200 provided in an embodiment of the present application. Optionally, the communication device 200 can be an independent device, such as a node. Alternatively, the communication device 200 can also be a component in an independent device (such as a node), such as a chip or integrated circuit. The communication device 200 is used to implement the aforementioned communication method, such as the communication method shown in Figure 7 or Figure 18.

[0295] In one possible design, the communication device 200 includes a communication unit 2001 and a processing unit 2002. The communication device 200 is used to implement the aforementioned communication method, such as the communication method shown in Figure 7 or Figure 18. Exemplarily, the communication device is used to execute the method executed by the root node.

[0296] In one possible implementation, the communication unit 2001 is configured to receive a message from a first node. The processing unit 2002 is configured to update a routing table based on the message from the first node, where the routing table indicates that the next hop node of a target routing topology passing through the second node is the first node, and the second node is a neighbor node of the root node.

[0297] The embodiments of the present application and the above-mentioned method embodiments are based on the same concept, and the technical effects they bring are also the same. For the specific principles, please refer to the description of the above-mentioned embodiments, which will not be repeated here.

[0298] Please refer to Figure 21, which is a schematic diagram of the structure of another communication device 210 provided in an embodiment of the present application. The communication device 210 can be an independent device, such as a first node or a root node, or a device included in an independent device, such as a chip, a software module, or an integrated circuit. The communication device 210 may include at least one processor 2101 and a communication interface 2102. Optionally, it may also include at least one memory 2103. Further optionally, it may also include a connection line 2104, wherein the processor 2101, the communication interface 2102 and / or the memory 2103 are connected via the connection line 2104, and / or communicate with each other via the connection line 2104 to transmit control signals and / or data signals.

[0299] Among them: the processor 2101 is a module that performs arithmetic operations and / or logical operations, and specifically may include one or more of the following modules: a filter, a modem, a power amplifier, a low noise amplifier (LNA), a baseband processor, a radio frequency processor, a radio frequency circuit, a central processing unit (CPU), an application processor (AP), a microcontroller unit (MCU), an electronic control unit (ECU), a graphics processing unit (GPU), a microprocessor (MPU), an application specific integrated circuit (ASIC), an image signal processor (ISP), a digital signal processor (DSP), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), or a coprocessor, etc.

[0300] The communication interface 2102 may be used to provide information input or output for at least one processor, or to receive externally transmitted signals and / or send externally transmitted signals.

[0301] For example, the communication interface 2102 may include interface circuitry.

[0302] For example, the communication interface 2102 may include a wired link interface such as an Ethernet cable, or a wireless link interface (Wi-Fi, Bluetooth, general wireless transmission, vehicle-mounted short-range communication technology, and other short-range wireless communication technologies, etc.).

[0303] Optionally, the communication interface 2102 may further include a radio frequency transmitter, an antenna, etc. When the communication interface 2102 includes an antenna, the number of antennas may be one or more.

[0304] As a possible design, if the communication device 210 is a standalone device, the communication interface 2102 may include a receiver and a transmitter. The receiver and the transmitter may be the same component or different components. When the receiver and the transmitter are the same component, the component may be referred to as a transceiver.

[0305] As another possible design, if the communication device 210 is a chip or a circuit, the communication interface 2102 may include an input interface and an output interface. The input interface and the output interface may be the same interface, or may be different interfaces.

[0306] Optionally, the functions of the communication interface 2102 may be implemented by a transceiver circuit or a dedicated transceiver chip.

[0307] Memory 2103 is used to provide storage space for storing data such as the operating system and computer programs. Memory 2103 can be one or a combination of random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM).

[0308] The functions and actions of the modules or units in the communication device 210 listed above are only for illustrative purposes.

[0309] Each functional unit in the communication device 210 can be used to implement the aforementioned communication method, such as the communication method shown in Figure 7 or Figure 18, for example, a method executed by the first node, the first neighbor node of the first node, or the second neighbor node of the first node.

[0310] Optionally, the processor 2101 may be a processor specifically used to execute the aforementioned method (for convenience of distinction, referred to as a dedicated processor), or a processor that executes the aforementioned method by calling a computer program (for convenience of distinction, referred to as a dedicated processor). Optionally, the at least one processor may include both a dedicated processor and a general-purpose processor.

[0311] Optionally, in the case where the communication device 210 includes at least one memory 2103 , if the processor 2101 implements the aforementioned communication method by calling a computer program, the computer program may be stored in the memory 2103 .

[0312] The present application also provides a chip comprising a logic circuit and a communication interface. The communication interface is configured to receive or transmit signals, and the logic circuit is configured to receive or transmit signals via the communication interface. The chip is configured to implement the aforementioned communication methods, such as those shown in FIG. 7 or FIG. 18 .

[0313] An embodiment of the present application also provides a computer-readable storage medium, which stores instructions. When the instructions are executed on at least one processor (or communication device), the aforementioned communication method is implemented, such as the communication method shown in Figure 7 or Figure 18.

[0314] An embodiment of the present application also provides a computer program product, which includes computer instructions, and the computing instructions are used to implement the aforementioned communication method, such as the communication method shown in Figure 7 or Figure 18.

[0315] An embodiment of the present application further provides a terminal, which includes the aforementioned communication device 190 , communication device 200 and / or communication device 210 .

[0316] As a possible implementation, the terminal includes a root node. Further, the terminal also includes a first node and / or a second node. Further, the terminal also includes a neighbor node of the first node and / or a second neighbor node of the first node.

[0317] For example, terminals may include intelligent terminals or vehicles such as vehicles, robots, drones, ships, and boats. Vehicles are broadly defined and may include transportation vehicles (e.g., commercial vehicles, passenger cars, motorcycles, flying cars, trains, etc.), industrial vehicles (e.g., forklifts, trailers, tractors, etc.), engineering vehicles (e.g., excavators, bulldozers, cranes, etc.), agricultural equipment (e.g., mowers, harvesters, etc.), and so on. For another example, robots may include automated guided vehicles (AGVs), mobile conversational robots, service robots, and so on.

[0318] It should be noted that in the embodiments of this application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplarily" or "for example" is intended to present the relevant concepts in a concrete manner.

[0319] In the embodiments of this application, "at least one" refers to one or more, and "more" refers to two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items.

[0320] For example, at least one of a, b, or c can represent: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), where a, b, and c can be single or plural. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, A and / or B can represent: A alone, A and B together, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0321] Furthermore, unless otherwise specified, ordinal numbers such as "first," "second," "M1," "M2," "M3," "M4," "M5," "S1," "S2," and "S3" used in the embodiments of the present application are used to distinguish multiple objects and are not used to limit the order, timing, priority, or importance of the multiple objects. For example, the first node and the second node are merely for the convenience of describing new parameters in different implementations and do not indicate differences in their execution operations, importance, structure, etc.

[0322] In the above embodiments, the term "when" can be interpreted to mean "if...", "after...", "in response to determining...", or "in response to detecting...", depending on the context. The above are merely optional embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concepts and principles of the present application shall be included within the scope of protection of the present application.

[0323] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

Claims

1. A communication method, characterized in that: Applied to the first node, the method comprises: Obtaining accumulated delay information of N routing paths, wherein the accumulated delay information of a first routing path is used to indicate a delay for a message of the first node to reach a root node through the first routing path, the first routing path belongs to any one of the N routing paths, N is an integer and N≥1, and the first node and the root node belong to a first network domain; Based at least on the accumulated delay information of the N routing paths, a target routing topology between the first node and the root node is determined, the target routing topology belongs to at least one of the N routing paths, and the accumulated delay information corresponding to the target routing topology satisfies a first condition.

2. The method according to claim 1, characterized in that The method further comprises: Obtain the number of hops of the N routing paths; The determining, based at least on the accumulated delay information of the N routing paths, a target routing topology between the first node and the root node, comprises: Based on the accumulated delay information of the N routing paths and the number of hops of the N routing paths, a target routing topology between the first node and the root node is determined.

3. The method according to claim 2, characterized in that In the case where there are multiple routing paths satisfying the hop count constraint among the N routing paths, the target routing topology is the routing path satisfying the hop count constraint and having the shortest delay among the N routing paths, or, In the case that there is no routing path satisfying the hop count constraint among the N routing paths, the target routing topology is the routing path with the shortest delay among the N routing paths.

4. The method according to claim 3, characterized in that The hop count constraint is that the hop count satisfies a second condition, and the hop count is associated with the number of forwarding times experienced by the message from the first node when reaching the root node.

5. The method according to claim 4, characterized in that The method further comprises: When the hop count of the target routing topology does not satisfy the hop count constraint, hop count alarm information is sent to the root node.

6. The method according to any one of claims 3 to 5, characterized in that: The method further comprises: Broadcast a first message, wherein the first message includes hop count constraint indication information of the first network domain, wherein the hop count constraint indication information is used to characterize a constraint condition that the hop count between a second node and the root node should satisfy, and the second node is a node other than the first node in the first network domain.

7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: A second message is sent to a first neighbor node of the first node, where the second message includes accumulated delay information of a target routing topology between the first node and the root node, and the first neighbor node of the first node is point-to-point connected to the first node.

8. The method according to any one of claims 1 to 7, characterized in that: The obtaining of the accumulated delay information of N routing paths includes: Acquire accumulated delay information of a target routing topology between a first neighbor node of the first node and the root node, where the first neighbor node of the first node is point-to-point connected to the first node; Determine delay information between the first node and a first neighbor node of the first node; Determine the accumulated delay information of a second routing path based on the delay information between the first node and the first neighbor node of the first node, and the accumulated delay information of the target routing topology between the first neighbor node of the first node and the root node, where the second routing path belongs to one of the N routing paths, and the second routing path passes through the first neighbor node of the first node.

9. The method according to claim 8, characterized in that The acquiring the accumulated delay information of the target routing topology between the first neighbor node of the first node and the root node includes: A third message is received from a first neighbor node of the first node, where the third message includes accumulated delay information of a target routing topology between the first neighbor node of the first node and the root node.

10. The method according to claim 8 or 9, characterized in that: The method further comprises: A measurement signal is transmitted to a first neighboring node of the first node, where the measurement signal is used to determine delay information between the first node and the first neighboring node of the first node.

11. The method according to any one of claims 8 to 10, characterized in that: The determining delay information between the first node and a first neighboring node of the first node includes: Determine a delay between the first node and a first neighbor node of the first node according to delay information in a first time period.

12. The method according to claim 11, characterized in that The delay between the first node and a first neighbor node of the first node is an average value of the delay information in the first time period.

13. The method according to claim 11 or 12, characterized in that: The first time period includes at least one time slice, The determining, according to the delay information in the first time period, the delay between the first node and a first neighboring node of the first node includes: Determine a delay between the first node and a first neighbor node of the first node according to the delay information corresponding to the at least one time slice and the weight corresponding to the at least one time slice.

14. The method according to claim 13, characterized in that The length of each time slice in the at least one time slice is the same, Alternatively, there are multiple time slices in the first time period, and there are at least two time slices with different durations among the multiple time slices.

15. The method according to claim 13 or 14, characterized in that There are multiple time slices in the first time period, and the multiple time slices have different corresponding weights.

16. The method according to any one of claims 13 to 15, characterized in that: The closer the time slice in the at least one time slice is to the current time, the higher its corresponding weight is.

17. The method according to any one of claims 11 to 16, characterized in that: The method further comprises: A fifth message is received from the root node, wherein the fifth message includes one or more of the length indication information of the first time period, the time slice length indication information, the time slice weight indication information, and the like.

18. The method according to any one of claims 1 to 17, characterized in that: The method further comprises: The third message is sent to the root node through the target routing topology.

19. The method according to claim 18, characterized in that The target routing topology corresponds to M of the N routing paths, where N is an integer and N≥2, and M is an integer and M≥2, and the method further includes: M third messages are sent to the root node through the M routing paths, wherein each of the M messages is sent correspondingly through each of the M routing paths.

20. The method according to any one of claims 1 to 19, characterized in that: The method further comprises: receiving a query message from the root node, wherein the query message is used to query routing configuration information of the first node; Feedback the routing configuration information of the first node to the root node, the routing configuration information including one or more of the time slice length information of the first node, the time slice weight information of the first node, and the hop count constraint indication information of the first network domain.

21. The method according to any one of claims 1 to 20, characterized in that: The delay includes one or more of data packet delay, data packet jitter, jitter delay of a neighboring node of the first node, and the like.

22. A communication method, characterized in that: Applied to the root node, the method comprises: receiving a message from a first node; A routing table is updated according to the message of the first node, wherein the routing table is used to indicate that the next hop node of the target routing topology passing through the second node is the first node, and the second node is a neighbor node of the root node.

23. A communication device, characterized in that: The communication device includes a processor and a communication interface; When the processor calls the computer program or instruction in the memory, the method according to any one of claims 1 to 21 is executed.

24. A communication device, characterized in that: The communication device includes a processor and a communication interface; When the processor calls the computer program or instructions in the memory, the method according to claim 22 is executed.

25. A chip, characterized in that: The chip includes a processor and a communication interface; The processor is used to implement the method according to any one of claims 1 to 21, or to implement the method according to claim 22.

26. A communication system, characterized in that: The communication system comprises a first node and a root node, The first node comprises the communication device as claimed in claim 23; The root node comprises the communication device of claim 24.

27. A terminal, characterized in that: The terminal includes the communication device according to claim 23, or includes the communication device according to claim 24, or includes the chip according to claim 25, or includes the communication system according to claim 26.

28. A computer-readable storage medium, characterized in that: The computer readable storage medium is used to store instructions or computer programs; When the instructions or the computer program are executed, the method according to any one of claims 1 to 21 is implemented, or the method according to claim 22 is implemented.

Citation Information

Patent Citations

  • Communication method and related device

    CN120186700A

  • Dynamic self-organizing hierarchical routing method applied to wireless sensor network

    CN102711209A

  • Method for obtaining target transmission path and network node thereof

    CN106713141A

  • Service scheduling method and device

    CN115550456A

  • Intelligent networked automobile, internal and external network fusion architecture, scheduling method and storage medium

    CN117156402A

Cited By

  • In-field transfer robot communication method and device based on mesh communication

    CN120935538A

  • Link distribution method, device, equipment and product

    CN121001146A