Communication method and related device

WO2025130828A9PCT designated stage Publication Date: 2026-08-13HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2026-08-13

Smart Images

  • Figure CN2024139709_13082026_PF_FP_ABST
    Figure CN2024139709_13082026_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 apparatus

[0001] This application claims priority to Chinese Patent Application No. 202311762403.5, filed on December 19, 2023, entitled "A Communication Method and Related Device", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of network sensing, and more particularly to wireless communication technology, specifically to a communication method and related apparatus. Background Technology

[0003] With the development of wireless technology, its ease of deployment, maintenance, and low cost have led to its increasing adoption. Wireless technology is typically applied in wireless communication systems, which usually consist of multiple nodes that communicate with each other to transmit information. Multiple nodes can form a network domain, where nodes communicate with other nodes in the network using either connectionless or connection-oriented methods. The channel through which information is transmitted between nodes is called a routing path. The more nodes a routing path traverses, the higher the likelihood of longer latency.

[0004] In the industry, messages are typically transmitted via routing paths using various protocols. Some solutions employ a link quality-based routing protocol for low-power and lossy networks (RPL) to transmit messages. This protocol specifies that the link metric for constructing tree-structured routing is the packet loss rate (ETX). However, the packet loss rate still has limitations in terms of latency, failing to accurately reflect the latency of the routing path. Other solutions use flooding to transmit messages, but this is highly susceptible to broadcast storms, conflicting with communication and further increasing latency, making it difficult to guarantee low-latency end-to-end network message transmission.

[0005] Therefore, how to effectively ensure low-latency end-to-end communication and thus guarantee the stability of information transmission in wireless communication systems is a hot research topic for those skilled in the art. Summary of the Invention

[0006] This application provides a communication method and related apparatus that can ensure low-latency end-to-end communication, thereby ensuring the stability of information transmission.

[0007] In a first aspect, embodiments of this application provide a communication method, the method comprising: acquiring cumulative delay information of N routing paths, and determining a target routing topology between a first node and a root node based on at least 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 of a packet from the first node reaching 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] In this context, the first node and the root node belong to the same network domain (e.g., represented as the first network domain). For example, the first network domain includes a root node and one or more child nodes, and the first node belongs to one or more child nodes.

[0009] Optionally, this method can be applied to the first node, for example, by executing it through hardware and / or software modules within the first node. For ease of understanding, the following description uses the first node as the subject executing this method.

[0010] In this application, all N routing paths can support the transmission of packets from the first node to the root node, and each routing path has corresponding cumulative latency information. Among them, the cumulative latency information of a routing path from node A to node B refers to the latency experienced by node A and node B in transmitting packets (or the end-to-end latency).

[0011] Since shorter transmission latency between nodes in a network domain leads to higher stability of message transmission via a shorter-latency routing topology, this application selects a target routing topology for message transmission between nodes in the same network domain from the cumulative latency information of N routing paths. This enables the coordination of a low-latency message transmission routing path among nodes. Optionally, the target routing topology can be the routing path with the shortest cumulative latency. Transmitting node messages through the target routing topology ensures end-to-end latency reliability.

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

[0013] In one possible implementation of the first aspect, the method further includes: obtaining the hop count of N routing paths, and determining the target routing topology between the first node and the root node based at least on the cumulative delay information of the N routing paths, including: determining 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 hop count of the N routing paths.

[0014] In the above embodiments, the higher the hop count, the more unstable the latency becomes, because each hop in the routing path can cause oscillations that lead to latency aggregation, resulting in routing instability. Therefore, this application can comprehensively evaluate the cumulative latency information and the hop count of the routing path during route construction to determine the target routing topology between the first node and the root node, thereby ensuring the reliability of end-to-end latency.

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

[0016] In the above implementation, the hop count constraint rule can be followed when constructing the route path. Under the same communication environment considering hop count, the route path with a smaller hop count is more stable. Therefore, if there is a route path among the N route paths that satisfies the hop count constraint, the route path with the smallest hop count can be selected as the target route 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 among the N routing paths that satisfy the hop count constraint, the target routing topology is the routing path among the N routing paths that satisfies the hop count constraint and has the shortest latency.

[0018] A higher hop count generally leads to more unstable latency, as each hop in the routing path can cause oscillations that accumulate, resulting in route instability. However, a lower hop count does not guarantee stable latency. Therefore, route construction should consider both the cumulative latency of the routing path and the hop count, along with adherence to hop count constraints. The above implementation selects the path with the shortest latency while satisfying hop count constraints, thus reducing and stabilizing routing path latency.

[0019] Taking a hop count constraint of 2 hops as an example, the routing paths for a message from node A to 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 choose the routing path with the shortest delay (68ms) among the two 2-hop routing paths as the target routing topology.

[0020] In another possible implementation of the first aspect, if there is no route among the N routes that satisfies the hop count constraint, the target route topology is the route with the shortest delay among the N routes.

[0021] A higher hop count generally leads to more unstable latency, as each hop in the routing path can cause oscillations that accumulate, resulting in route instability. However, a lower hop count does not guarantee stable latency. Therefore, route construction should consider both the cumulative latency of the routing path and the hop count, along with adherence to hop count constraints. The above implementation selects the shortest latency routing path while satisfying hop count constraints, resulting in more stable packet transmission latency.

[0022] Taking a hop count constraint of 2 hops as an example, the routing paths for a message from node A to the root node include a 3-hop path with a latency of 63ms, a 3-hop path with a latency of 68ms, and a 3-hop routing path with a latency of 78ms. Since the 3-hop path exceeds the hop count constraint, and there is no routing path that satisfies the hop count constraint, in order to ensure latency stability as much as possible, node A can choose the routing path with the shortest latency (63ms) among the three 3-hop routing 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 the second condition, and the hop count is related to the number of forwardings that a packet from the first node takes to reach the root node.

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

[0025] Optionally, the number of hops for each routing path is equal to the number of forwards a packet from the first node takes to reach the root node, or the number of hops for each routing path is equal to the number of forwards plus 1.

[0026] In another possible implementation of the first aspect, if the hop count of the target routing topology does not meet the hop count constraint, a hop count alarm message is sent to the root node.

[0027] In the above implementation, the root node can promptly troubleshoot node faults based on abnormal hop counts between nodes in the network domain, thereby ensuring latency stability.

[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 a first network domain. The hop count constraint indication information is used to characterize the constraint conditions that the number of hops between a second node and the root node should satisfy, and the second node is any node in the first network domain other than the first node.

[0029] In some cases, hop count constraint indication information is carried in the message and broadcast. Optionally, the hop count constraint indication information is carried in the 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 wanting to join the first network domain should not exceed the hop count constraint. This application can ensure the stability of latency within the same network domain through preset hop count constraint indication information.

[0030] In another possible implementation of the first aspect, N≥2, the optimal destination route topology is the route path with the fewest hops among the N routes. If at least two of the N routes have the fewest hops, the destination route topology is the route path with the shortest delay among those two routes with the fewest hops.

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

[0032] When nodes form a network, they communicate using either connectionless or connection-oriented methods. In some cases, a connection means two nodes in the network have established a point-to-point connection, allowing them to send messages via point-to-point communication. In the above implementation, the accumulated latency of each hop is broadcast in the first node's message for its neighboring nodes to use in route selection. For example, if node A and node B are one hop apart, then there is a point-to-point connection between them.

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

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

[0035] In another possible implementation of the first aspect, obtaining the cumulative delay information of N routing paths includes: obtaining the cumulative delay information of the target routing topology between the first node's first neighbor node and the root node, wherein the first node's first neighbor node is a point-to-point connection with the first node; determining the delay information between the first node and its first neighbor node; and determining the cumulative delay information of the second routing path based on the delay information between the first node and its 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, wherein the second routing path belongs to one of the N routing paths and passes through the first node's first neighbor node.

[0036] In the above embodiments, a case is provided where the first node is a regular node (e.g., the first node is node A, which can be either a parent node or a child node). For example, the delay from the first node's first neighbor node (e.g., node B) to the root node is added to the delay between node A and node B to obtain the cumulative delay information of the first node's message reaching the root node via the second routing path.

[0037] In another possible implementation of the first aspect, obtaining the cumulative delay information of the target routing topology between the first neighbor node and the root node of the first node includes: receiving 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 and the root node of the first node.

[0038] Accordingly, when the first node is a relay node, it can receive messages broadcast by neighboring nodes for route selection.

[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, the measurement signal being used to determine time delay information between the first node and the first neighbor node of the first node.

[0040] In the above implementation, the heartbeat packets between the first node and its neighboring nodes carry measurement signals, or the measurement signals are used directly 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, the fourth message including timestamp information, the timestamp information being used by the second neighbor node of the first node to determine the target routing topology.

[0042] In the above implementation, the first node broadcasts the message to all its neighboring nodes. In some cases, timestamp information can be included in the message. The timestamp updates the latency information between the first node and its second neighbor (this can also be understood as calculating the latency by the difference between the message's timestamp and the time of reception). If the latency between the first node and its second neighbor increases, the link between them is interrupted, or a lower latency occurs in another neighboring node, the message is transmitted via a different routing path. Setting timestamps further ensures low-latency communication.

[0043] Optionally, the second neighbor node can be a child node (i.e., a next-level node) of the first node in the first network domain, or a parent node (i.e., a parent node) of the first node, or a sibling node (i.e., a node at the same level) of the same layer.

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

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

[0046] A first measurement signal is sent to the first neighbor node, and 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 trigger the first neighbor node of the first node to send the second measurement signal to the first node, so that the first node can receive the measurement signal of the first neighbor node (exemplarily, so that the first node can know the distance between itself and the other party).

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

[0049] In the above implementation, the time delay between the first node and its neighboring nodes is usually not an instantaneous value measured in a single instance, 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 its first neighbor node is the average delay information within a first time period.

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

[0052] Optionally, multiple delay information is obtained within the first time period, and each delay information corresponds to a time slice.

[0053] In the above embodiments, the latency of the routing path is usually calculated using an average value over a period of time. However, using an average value cannot effectively detect changes in link quality. For example, if a node's link quality has been stable for the past three days, accumulating a sufficiently large average sample, when a link change occurs, the change in the average value is amortized by the vast amount of historical data, resulting in a very slow route switching. This application, by weighting the latency average to obtain a weighted latency average, can effectively guarantee the reliability of the latency.

[0054] In another possible implementation of the first aspect, each time slice in at least one time slice has the same length, or the number of time slices in the first time period is multiple, and at least two of the multiple time slices have different durations.

[0055] In another possible implementation of the first aspect, the number of time slices within the first time period is multiple, and the multiple time slices have different weights.

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

[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 the following: length indication information of a 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 via the target routing topology.

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

[0060] In another possible implementation of the first aspect, 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. The method further includes: sending M third messages to the root node via the M routing paths, wherein each of the M messages is sent via each of the M routing paths.

[0061] In the above implementation, when there are M target routing topologies, the first node reports M packets through the M target routing topologies. For example, in scenarios with deterministic delays (e.g., energy household alarm data needs to be reported to the root node within 100ms), the first node can utilize the multi-parent node feature in the routing protocol to simultaneously send multiple copies of the same packet data to the primary parent node and backup parent nodes. This allows packets to be transmitted across different links, ensuring that even if one link fails, other packets remain unaffected, thereby enhancing robustness and reducing delays caused by packet loss and retransmission.

[0062] Optionally, the multiple-send-select-receive feature is only triggered at the source node, meaning that only the source node will send redundant messages to the primary parent node and the backup parent node. The relay node will not trigger multiple-send-select-receive again when forwarding, thus preventing a forwarding storm.

[0063] In another possible implementation of the first aspect, the method further includes: receiving a query message from the root node, the query message being 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 following: time slice length information of the first node, time slice weight information of the first node, and 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 cumulative delay information of at least one of the N routing paths, and determining the target routing topology between the first node and the root node based on the updated cumulative delay information of the N routing paths.

[0065] In the above implementation, the time interval of route switching can be perceived by updating the cumulative delay information of the routing path, so as 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 the following: packet delay, packet jitter, jitter delay of the neighboring nodes of the first node, etc.

[0067] Secondly, embodiments of this application provide a communication method, including: receiving a message from a first node; updating a routing table based on the message from the first node, the routing table indicating that the 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 the root node.

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

[0069] In the above method, the root node can update the cumulative delay information of the first node's messages arriving at the root node through different routing paths based on the first node's messages, which can ensure the reliability of end-to-end delay.

[0070] Thirdly, embodiments of this application provide a communication device that includes modules or units for implementing the methods described in the first aspect or any possible implementation of the first aspect.

[0071] Fourthly, embodiments of this application provide a communication device that includes modules or units for implementing the methods described in the second aspect or any possible implementation of the second aspect.

[0072] Fifthly, embodiments of this application provide a communication device, which includes at least one processor and a communication interface; the communication interface is used for inputting and / or outputting information, and the at least one processor is used for calling a computer program stored in at least one memory to implement the method described in the first aspect or any one of the first aspects.

[0073] In a sixth aspect, embodiments of this application provide a communication device, which includes at least one processor and a communication interface; the communication interface is used for inputting and / or outputting information, and the at least one processor is used for calling a computer program stored in at least one memory to implement the method described in the second aspect or any of the second aspects.

[0074] Seventhly, this application provides a chip that includes the modules or units described in the first aspect or any possible implementation thereof. The modules may be software modules or hardware modules.

[0075] Eighthly, embodiments of this application provide a communication system including a first node and a root node, the first node and the root node being communicatively connected. The first node is used to implement the method of any of the first aspects, or to implement the method of any of the second aspects.

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

[0077] Ninthly, embodiments of this application provide a terminal that includes the communication device according to any one of the third to seventh aspects. Further, the terminal can be a smart terminal or transportation tool such as a vehicle, drone, or robot.

[0078] In a tenth aspect, embodiments of this application provide a computer-readable storage medium for storing instructions or a computer program; when the instructions or the computer program are executed, they implement the method of any one of the first aspects, or the method of any one of the second aspects.

[0079] In one aspect, this application provides a computer program product comprising computer instructions that, when executed on at least one processor, can implement the methods described in any of the first to second aspects or any possible implementation thereof. The computer program product can be a software installation package, which can be downloaded and executed on a computing device when the aforementioned methods are required.

[0080] The beneficial effects of the technical solutions provided in aspects three to eleven of this application can be referred to the beneficial effects of the technical solutions in aspects one and two, and will not be repeated here. Attached Figure Description

[0081] The accompanying drawings used in the description of the embodiments will be briefly introduced below.

[0082] Figure 1 is a schematic diagram of a star topology network domain provided in an embodiment of this application;

[0083] Figure 2 is a schematic diagram of a tree-like multi-hop topology network domain provided in an embodiment of this application;

[0084] Figure 3 is a schematic diagram of a wireless BMS scenario provided in an embodiment of this application;

[0085] Figure 4 is a schematic diagram of a network domain with a mesh topology provided in an embodiment of this application;

[0086] Figure 5 is a schematic diagram of a smart home scenario provided in an embodiment of this application;

[0087] Figure 6 is a schematic diagram of a message transmission routing path provided in an embodiment of this application;

[0088] Figure 7 is a flowchart illustrating a communication method provided in an embodiment of this application;

[0089] Figure 8 is a schematic diagram of a measurement frame format provided in an embodiment of this application;

[0090] Figure 9 is a schematic diagram of the time delay of different nodes in different time slices provided in an embodiment of this application;

[0091] Figure 10 is a schematic diagram of a target routing topology provided in an embodiment of this application;

[0092] Figure 11 is a schematic diagram of another target routing topology provided in an embodiment of this application;

[0093] Figure 12 is a schematic diagram of another target routing topology provided in an embodiment of this application;

[0094] Figure 13 is a schematic diagram of the format of a message M5 provided in an embodiment of this application;

[0095] Figure 14 is a schematic diagram of the format of message M6 provided in an embodiment of this application;

[0096] Figure 15 is a schematic diagram of another message M6 format provided in an embodiment of this application;

[0097] Figure 16 is a schematic diagram of another message M6 format provided in an embodiment of this application;

[0098] Figure 17 is a schematic diagram of a routing table provided in an embodiment of this application;

[0099] Figure 18 is a flowchart illustrating another communication method provided in an embodiment of this application;

[0100] Figure 19 is a schematic diagram of the structure of a communication device 190 provided in an embodiment of this application;

[0101] Figure 20 is a schematic diagram of another communication device 200 provided in an embodiment of this application;

[0102] Figure 21 is a structural schematic diagram of another communication device 210 provided in an embodiment of this application. Detailed Implementation

[0103] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with essentially the same function and purpose. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or execution order, nor do they imply that they must be different. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

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

[0105] The relevant names or terms involved in this application will be explained below 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 equipment, sensing devices, smart home devices, or leisure 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, smartwatches, 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 equipment includes, but is not limited to, domain controllers (DCs), screens, microphones, speakers, electronic keys, keyless entry, start system controllers, battery management systems (BMS), battery packs, or battery cells. Sensing devices include, but are not limited to, cameras, radar, lidar, light sensors, temperature sensors, or humidity sensors. Smart home devices include, but are not limited to, projectors, smart TVs, smart refrigerators, smart home gateways, or security equipment. Leisure and entertainment equipment includes virtual reality (VR) devices, mixed reality (MR) devices, massage chairs, home theaters, game control devices, or 4D cinema cabins.

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

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

[0110] It should be understood that the communication methods, communication devices, communication systems, or nodes in the embodiments of this application are applicable to various networks, such as wired communication networks, wireless communication networks, or networks combining wired and wireless communication. For example, wireless communication networks include networks connected via communication technologies such as SparkLink (or NearLink) 802.11b / g, Bluetooth, Zigbee, radio frequency identification (RFID), ultra-wideband (UWB) technology, or short-range wireless communication systems. Alternatively, long-distance connection technologies may include communication technologies based on long-term evolution (LEE), 5th generation mobile networks (or 5th generation wireless systems, 5th-Generation, abbreviated as 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, wired communication networks include networks connected via the following communication technologies: fiber optic connection technology, in-vehicle wired communication technology, controller area network (CAN), local interconnect network (LIN), CAN flexible data rate (CAN FD), or in-vehicle Ethernet, or one or more of these.

[0111] 2. Network Domain

[0112] A network domain typically consists of multiple nodes that can communicate with each other to transmit data. Nodes in a network domain may have different identities or different capabilities.

[0113] Taking a vehicle as an example, multiple network domains can exist within a vehicle. A network domain refers to a system consisting of a group of nodes with communication relationships and the communication connections (i.e., communication links) between the nodes, which is usually used to perform 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), and the root node and child nodes, or child nodes and child nodes, can communicate with each other. The root node manages the child nodes, has the function of allocating resources, and is responsible for allocating resources to the child nodes; the child nodes follow the scheduling of the root node, use the resources allocated by the root node to communicate with the root node, and / or with other child nodes. Within a network domain, any two nodes can communicate based on communication addresses.

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

[0116] It should be understood that the identities of management nodes and terminal nodes are not absolute; they are merely exemplary names used to distinguish the operations performed by communicating nodes under a possible connection scenario. In some implementations, a node may be both a management node and a terminal node. Furthermore, in some scenarios, a node may belong to two or more network domains simultaneously, acting as a terminal node in some network domains and as a management node in others. For ease of understanding, such a node is referred to as a G(T) node in some embodiments.

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

[0118] For example, please refer to Figure 1, which is a schematic diagram of a star topology network domain. 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 acts as the root node, which can also be considered the main management node, while the multiple T nodes act as child nodes, which can also be considered managed nodes. Each T node is connected to a G node, and the connection relationship is represented by dashed lines. Communication between the G node and the T node can be bidirectional unicast or broadcast communication. Optionally, the topology shown in Figure 1 can be applied to in-vehicle communication scenarios. As an application example of the communication topology shown in Figure 1, the G node can be a telematics box (T-BOX), and the T nodes can be user terminals inside the vehicle, such as mobile phones, headphones, speakers, in-vehicle equipment, etc. The T-BOX can also be called a remote in-vehicle terminal or a vehicle-to-everything (V2X) communication terminal. For example, the T-BOX can establish a communication connection with a mobile phone to control functions such as opening and locking doors, window control, and air conditioning operation.

[0119] Please refer to Figure 2, which is a schematic diagram of a tree-like multi-hop network domain. The network domain shown in Figure 2 includes nodes G1, G2, G3, T1, T2, T3, and T4. Node G1 can be considered the root node (or the central management node), while nodes G2, G3, T1, T2, T3, and T4 are child nodes, or managed nodes. Nodes T1 and T2 connect to node G2, nodes T3 and T4 connect to node G3, and nodes G2 and G3 connect to node G1. Node G2 can be represented as G2(T), and node G3 can be represented as G3(T). Taking node G2 as an example, for communication between node G2 and node G1, node G2 can act as node T, and node G1 can act as node G. For communication between node G2 and node T1, node G2 can act as node G, and node T1 can act as node T. Referring to Figure 2, communication between node G and node T can be either bidirectional unicast or broadcast. Communication between nodes T is forwarded through node G, and the methods of sending information during this communication 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. The wireless BMS scenario is shown in Figure 3. In Figure 3, the battery array management system (BAMS) is the root node, i.e., node G1, which can also be considered the main management node; the battery cluster management system (BCMS) is node G(T); and the battery management unit (BMU) is node T.

[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 nodes G1, G2, G3, G4, T1, T2, and T3. Node G1 can be considered the root node or the central management node. Nodes G2, G3, G4, T1, T2, and T3 are child nodes or managed nodes. Node T1 connects to node G2, node T2 connects to node G4, node G4 can connect to both nodes G2 and G3, node G2 connects to node G1, and node G3 connects to node G1. Optionally, in some cases, node T can connect to multiple nodes G; for example, node T1 can also connect to node G4. Node G1 can be considered the central management node, and nodes G2, G3, and G4 can be G(T) nodes.

[0122] Optionally, the structure shown in Figure 4 can be applied to smart home scenarios. Please refer to Figure 5, which is a schematic diagram of a smart home scenario. In Figure 5, the gateway / customer premises equipment (CPE) serves as the central management node, while the air conditioner, mobile phone, refrigerator, and washing machine are nodes with dual identities. The smart door lock, water heater, speaker, printer, smart socket, and smart curtains act as T nodes. The foregoing explanations of technical terms may be used in the embodiments described below.

[0123] When nodes form a network, nodes in the network can communicate with other nodes in the network to transmit information through connectionless or connection-oriented methods. The channel through which information is transmitted between nodes can be called a routing path. Please refer to Figure 6, which is a schematic diagram of a message transmission routing path. The network domain includes nodes N1 to N7, and their connection relationships and the identities of each node can be designed in various ways, as detailed in the preceding descriptions. Specifically, when node N6 communicates with node N7, it can be achieved through the path "N6-N3-N2-N7". The information transmission between them passes through intermediate nodes, namely, the forwarding by nodes N2 and N3.

[0124] The more nodes a routing path traverses, the higher its hop count, leading to a greater likelihood of latency instability. Industry practice typically involves transmitting messages through routing paths using various protocols. Some solutions use Link Quality-Based Routing (RPL), a protocol that specifies the link metric for constructing tree-structured topologies as the packet loss rate (ETX), the ratio of sent unicast packets to received acknowledgments. A value of 1 indicates that all unicast packets sent by a node have received acknowledgments from the peer node, suggesting a very stable link. A higher value indicates a less stable link, increasing the risk of retransmissions. However, this approach still has limitations regarding latency. For example, scenarios exist where the packet loss rate is low but latency is high. Furthermore, packets vary in size, and the packet loss rate cannot accurately reflect link latency. In other words, the most stable link indicates the fewest retransmissions, but not necessarily the lowest latency. Packet size significantly impacts the packet loss rate; a large number of small packets will lower the expected packet loss rate but not necessarily reduce latency.

[0125] Other mesh protocols use flooding to forward messages, which requires multiple transmissions of information through multiple routing paths. However, flooding is prone to causing broadcast storms, which conflict with communication and further increase latency. As a result, it is difficult to guarantee low latency for end-to-end message transmission in the network.

[0126] In view of this, embodiments of this application provide a communication method and related apparatus that use end-to-end latency as a metric for route construction; that is, the metric for a child node to select a route is no longer packet loss rate but latency. This application can guarantee low-latency end-to-end communication, thereby ensuring the stability of information transmission.

[0127] The methods provided in the embodiments of this application will be described below.

[0128] Please refer to Figure 7, which is a flowchart illustrating a communication method provided in an embodiment of this application. Optionally, this method can be applied to a network domain, such as one or more network domains shown 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 ease of description, the steps S701 to S704 are described in this way, and it is not intended to limit the execution to the above order. This application embodiment does not limit the order of execution, the execution time, or the number of executions of one or more of the above steps. Steps S701 to S704 are as follows:

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

[0130] Here, the first node is an exemplary name used to distinguish a particular node. For example, referring to Figure 6, the first node can be node N1, node N2, or other nodes.

[0131] A routing path is a channel for transmitting information between nodes. Information can be transmitted from one node to another along the routing path. Optionally, the information can be a message, which is transmitted from the first node to the root node along the routing path. The first node and the root node belong to the same network domain (e.g., represented as the first network domain). For example, the first network domain includes the root node and one or more child nodes, and the first node belongs to one or more child nodes. Optionally, there can be N routing paths for transmitting messages from the first node, where N is an integer and N≥1. For example, referring to Figure 6, taking node N6 as the first node and node N7 as the root node, the message from node N6 to node N7 includes two routing paths: one 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 the routing path between nodes. For example, referring to Figure 6, continuing with node N6 as the first node and node N7 as the root node, the routing path for a message from node N6 to 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).

[0133] Optionally, the cumulative delay information for the N routing paths can be sent by the neighboring nodes of the first node, or it can be calculated by the first node itself. For example, the neighboring nodes of the first node can be the parent nodes of the first node.

[0134] Optionally, the cumulative delay information of the first routing path is used to indicate the delay of the first node's message reaching the root node through the first routing path. The first routing path is any one of the N routing paths. In some schemes, the cumulative delay information of the first routing path is related to the delay information between the first node and its first neighbor node. This delay information is used to indicate the time information for transmitting the first node's message between the first node and its first neighbor node. Optionally, the first neighbor node of the first node can be the previous hop node of the first node. For example, referring to Figure 6, continuing to take the first node as node N6 and the previous hop node of the first node as node N3, 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 cumulative 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 cumulative delay information of the first routing path is related to the delay information between the first node's first neighbor node and the neighbor nodes of the first node's first neighbor node. This delay information is used to indicate the time information for transmitting the first node's messages between the first node and its first neighbor node, and between the first node and the neighbor nodes of its first neighbor node. Optionally, the first node's first neighbor node can be the node before the first node's previous hop, and the node before the first node's first neighbor node can be the node before the first node's previous hop. For example, referring to Figure 6, continuing with the example of the first node as node N6, the node before the first node as node N3, and the node before the first node's previous hop as node N2, 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 latency between node N6 and node N3 is 10ms, and the latency between node N3 and node N2 is 28ms. In other words, the latency between node N6 and node N2 is 38ms. Therefore, the cumulative latency of the first routing path is the sum of the latency between node N6 and node N3, the latency between node N3 and node N2, and the latency between other nodes passing through the first routing path.

[0136] As one possible implementation, the first node transmits measurement signals to its first neighbor node.

[0137] The measurement signal is used to determine the time delay information between the first node and its first neighbor node.

[0138] For example, the measurement signal can be a second measurement signal. Optionally, the first node can receive the second measurement signal from a first neighbor node, and obtain the time delay information between the first node and the first neighbor node based on the second measurement signal. Further optionally, the second measurement signal can be a measurement request frame.

[0139] For example, the heartbeat packets between the first node and its first neighbor node carry measurement frames, or the measurement frames are used directly as heartbeat packets, to maintain the link relationship. Please refer to Figure 8, which is a schematic diagram of a measurement frame format provided in an embodiment of this application. As shown in Figure 8(a), 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 for transmitting data.

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

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

[0143] (4) Response mode, used to indicate that the current measurement request frame is in 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 transmission timestamp, used to indicate the timestamp information when the measurement request frame is sent.

[0147] (8) TLV indicates a byte-stream-based data transmission mode. In IoT systems, the data received by the message receiver (e.g., a server) is a stream of bytes, not a stream of characters received by the user terminal. Therefore, the TLV format can be used to encapsulate the data into individual bytes. The data tag "T" indicates the data type, with a value ranging from 0 to 255. The data frame length "L" indicates the length of the entire data frame after encapsulation. The data value "V" indicates the value of the transmitted data. Different types of data values ​​have different characteristics, and the data values ​​can be encapsulated and padded byte by byte according to the actual situation.

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

[0149] For example, the measurement signal may also be a first measurement signal. Further optionally, before receiving the second measurement signal from the first neighbor node, the first node may also send the first measurement signal to the first neighbor node, the first measurement signal being used to trigger the transmission 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 trigger the first neighbor node of the first node to send a second measurement signal to the first node, with the purpose of enabling the first node to receive the measurement signal from the first neighbor node (for example, the function of the second measurement signal can be to enable the first node to obtain the distance between the other node and itself). As shown in Figure 8(b), 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 for transmitting data.

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

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

[0154] (4) Flag bit, used to indicate the running result. For example, the flag bit has 8 bits, of which "0-bit" indicates that the TLV does not recognize it, "1-bit" indicates that the length of the value defined in the length field of 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 bits.

[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 receive timestamp, used to indicate the timestamp information when the measurement request frame is received.

[0159] (9) Frame transmission timestamp, used to indicate the timestamp information when the measurement response frame was transmitted.

[0160] (10) TLV indicates a byte-stream-based data transmission mode. In IoT systems, the data received by the message receiver (e.g., a server) is a stream of bytes, not a stream of characters received by the user terminal. Therefore, the TLV format can be used to encapsulate the data into individual bytes. The data tag "T" indicates the data type, with a value ranging from 0 to 255. The data frame length "L" indicates the length of the entire data frame after encapsulation. The data value "V" indicates the value of the transmitted data. Different types of data values ​​have different characteristics, and the data values ​​can be encapsulated and padded byte by byte according to the actual situation.

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

[0162] As one possible implementation, the first node can determine the time delay between itself and its first neighbor node based on the time delay information within the first time period.

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

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

[0165] Optionally, multiple delay information is obtained within the first time period, and each delay information corresponds to a time slice.

[0166] In the above embodiments, the latency of the routing path is usually calculated using an average value over a period of time. However, using an average value cannot effectively detect changes in link quality. For example, if a node's link quality has been stable for the past three days, accumulating a sufficiently large average sample, when a link change occurs, the change in the average value is amortized by the vast amount of historical data, resulting in a very slow route switching. This application, by weighting the latency average to obtain a weighted latency average, can effectively guarantee the reliability of the latency.

[0167] Optionally, each time slice in at least one time slice has the same length, or the number of time slices in the first time period is multiple, and at least two of the multiple time slices have different durations.

[0168] Optionally, there may be multiple time slices within the first time period, with different weights for each time slice.

[0169] Optionally, the closer a time slice is to the current time, the higher its corresponding weight.

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

[0171] Here, ETX represents the time delay between the first node and its first neighbor node, W represents the time slice weight information, t represents a certain time slice (also known as a moment), and M represents the average time delay calculated in a certain time slice (e.g., 5 minutes).

[0172] Optionally, the latency information and weight corresponding to at least one time slice can be carried in the message sent by the root node or pre-configured. Further, optionally, the latency information and weight corresponding to at least one time slice can be associated with the business or application scenario corresponding to the node. For example, in a smart home scenario, the latency information and weight corresponding to at least one time slice can be obtained through a pre-configured table. Please refer to Figure 9, which is a schematic diagram of the latency of different nodes in different time slices provided in an embodiment of this application. Time t0 represents the time slice closest to the current time slice, t1 is the second closest time slice, t2 represents the third closest time slice, t3 represents the fourth closest time slice, and so on for subsequent times. Referring to Figure 5, taking the first node as the air conditioner, its neighboring node as the washing machine, and the second node as the refrigerator as an example, assuming the air conditioner's average latency at time t0 is 24ms and its weight is 1.05, its average latency at time t1 is 23ms and its weight is 0.95, its average latency at time t2 is 22ms and its weight is 0.80, and its average latency at time t3 is 23ms and its weight is 0.60, then based on the average latency and weight of the air conditioner between times t0 and t3, the latency between the air conditioner and the root node (gateway / CPE) is 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] In one possible implementation, the first node receives the fifth message from the root node.

[0174] The fifth message includes one or more of the following: the length indication information of the first time period, the time slice length indication information, and the time slice weight indication information. For ease of 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 (e.g., the first time period is 1 hour), the time slice length indication information is used to indicate the length of each time slice within the first time period (e.g., every 5 minutes is a time slice within 1 hour), and the time slice weight indication information is used to indicate the weight corresponding to each time slice within the first time period.

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

[0177] The target routing topology belongs to at least one of the N routing paths. Optionally, if 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, if 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. For example, referring to Figure 6, continuing with the example of the first node being node N6 and the root node being node N7, assume that the routing paths for a message from node N6 to reach 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). The target routing topology can be the routing path with a cumulative delay of 63ms among these two routing paths, or both of these 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. For example, 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 cumulative delay information corresponding to the target routing topology is sorted from shortest to longest, and the top M delays closest to the shortest delay are selected, where M is a positive integer and M≥2. Correspondingly, the target routing topology between the first node and the root node can be the routing path with the shortest cumulative delay information among the N routing paths, or the routing path among the top M delays closest to the shortest delay among the N routing paths.

[0179] In one possible implementation, the first node sends a second message to its first neighbor node (referring to Figure 6, the first node can be N3, and the first neighbor node can be node N6). The cumulative delay information of the target routing topology between the first node and the root node can be carried in this message and broadcast for easy differentiation; this second message is represented as message M2. Optionally, message M2 includes the cumulative delay information of the target routing topology between the first node and the root node. Optionally, the first neighbor node of the first node has a point-to-point connection with the first node.

[0180] When nodes form a network, they communicate using either connectionless or connection-oriented methods. In some cases, a connection means that two nodes in the network have established a point-to-point connection, allowing them to send messages via point-to-point communication. In this application, the accumulated delay for each hop can be broadcast in the message of the first node for its neighboring nodes to use in route selection. For example, referring to Figure 6, if the distance between node N6 and node N3 is one hop reachable, then node N6 and node N3 have a point-to-point connection.

[0181] Alternatively, the cumulative delay information of the target routing topology between the first node and the root node can be broadcast in the RANK field of message M2.

[0182] In some schemes, message M2 may carry some or all of the information from the cumulative delay information. For example, message M2 may carry information about packet delay and / or information about packet jitter. Alternatively, message M2 may include one or more of the following: packet delay, packet jitter, and jitter delay of the first node's neighboring nodes.

[0183] The following are two exemplary implementation methods for obtaining the cumulative delay information of N routing paths when the first node is a different node:

[0184] In the first implementation method, the first node is the root node, and there is a point-to-point connection between the first node and the root node. The first node determines the latency information between itself and the root node. The cumulative latency information of the second routing path is the latency information between the first node and the root node. The second routing path is one of N routing paths. For example, referring to Figure 6, when N=1, there is one routing path in the first network domain. Assuming the first node is node N7 (coinciding with the root node), node N7 determines that the cumulative latency information of node N7 through the second routing path is 0ms.

[0185] In the second implementation method, the first node is a child node. The first node obtains the cumulative delay information of the target route topology between its first neighbor node and the root node. The first node's first neighbor node is connected to the first node point-to-point. The first node can determine the delay information between itself and its first neighbor node. Based on the delay information between itself and its first neighbor node, and the cumulative delay information of the target route topology between its first neighbor node and the root node, the first node determines the cumulative delay information of the second route path. The second route path is one of N route paths, and the second route path passes through the first node's first neighbor node.

[0186] For example, referring to Figure 6, when N=2, assume 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, where node N3 and node N6 are connected 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 node N6's packet reaching node N7 via the routing path Node N6→node N3→node N2→node N7.

[0187] As one possible implementation, the first node receives a third message from its first neighbor node (referring to Figure 6, for example, if the first node is node N3, the first neighbor node can be node N2). The cumulative 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 distinguish the third message as message M3.

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

[0189] The fourth message includes timestamp information, which is used by the first node's second neighbor node to determine the target route topology. This timestamp information can be carried in the fourth message and broadcast by the first node. For ease of distinction, this message is represented as message M4.

[0190] For example, the first node can broadcast message M4 to all its neighboring nodes. The timestamp is used to update the latency information between the first node and its neighboring nodes (latency is calculated by the difference between the message timestamp and the time of reception). For example, if the latency of the original parent node increases, the link of the original parent node is interrupted, or the latency of a neighboring node decreases (i.e., a lower latency appears among the neighboring nodes), the routing path is switched. Optionally, the second neighboring node can be a child node (i.e., a next-level node) of the first node in the first network domain, or a parent node (i.e., a parent node) of the first node, or a sibling node (i.e., a node at the same level) at the same layer.

[0191] As one possible implementation, the first node can also obtain the hop count of the N routing paths. The hop count constraint is that the hop count satisfies the second condition, and the hop count is related to the number of forwards that the first node's packets undergo to reach the root node.

[0192] The second condition can be that the number of hops in each of the N routing paths is less than or equal to a preset value, such as 2 hops. For example, the constraint that the number of hops between the first node and the root node should satisfy can be a maximum of 2 hops between the first node and the root node. This definition of the hop count constraint is merely an illustrative example; other possible definitions are not limited in this application.

[0193] Optionally, the number of hops for each routing path is equal to the number of forwards a packet from the first node takes to reach the root node, or the number of hops for each routing path is equal to the number of forwards plus 1.

[0194] For example, from the perspective of the forwarding side (such as a first-hop node forwarding a packet from a second-hop node to the root node), the hop count of each routing path is equal to the number of forwards the packet from the first node takes to reach the root node (for example, if the number of forwards is 1, the hop count is also 1). From the perspective of end-to-end reporting (such as a second-hop node reporting a packet to the root node), the hop count of each routing path is equal to the number of forwards the packet from the first node takes to reach the root node plus 1 (for example, if the number of forwards is 1, the hop count is 2).

[0195] Optionally, if there is a route among the N routes that satisfies the hop count constraint, the target route topology is the route among the N routes that satisfies the hop count constraint and has the smallest hop count.

[0196] Since a higher hop count leads to more unstable latency, as each hop in a routing path can cause oscillations that accumulate latency, resulting in routing instability, a routing path with a lower hop count is more stable under the same communication conditions, considering the hop count. For example, assuming a hop count constraint of 3 hops, if there is a 2-hop routing path and a 3-hop routing path among the routing paths from the first node in the first network domain to the root node, both paths satisfy the hop count constraint. However, since transmitting packets via the 2-hop routing path has relatively higher latency stability compared to transmitting packets via the 3-hop routing path, the routing path with fewer hops (the 2-hop routing path) can be selected as the target routing topology to ensure network stability during packet transmission.

[0197] As one possible implementation, the first node determines the target routing topology between itself and the root node based on the cumulative delay information of the N routing paths and the hop count of the N routing paths.

[0198] A higher hop count generally leads to more unstable latency, as each hop in the routing path can cause oscillations that accumulate, resulting in route instability. However, a lower hop count does not guarantee stable latency. Therefore, route construction should consider both the cumulative latency of the routing path and its hop count, along with adherence to hop count constraints. Selecting the path with the shortest latency while meeting hop count constraints can reduce and stabilize the routing path's latency.

[0199] The preceding text provided an illustrative introduction to the specific content of cumulative delay information, hop count, and target route topology. Below are two implementation methods for determining the target route topology between the first node and the root node based on the cumulative delay information and hop count of N route paths:

[0200] In the first implementation method, if there are multiple routing paths that satisfy the hop count constraint among the N routing paths, the target routing topology is the routing path among the N routing paths that satisfies the hop count constraint and has the shortest latency.

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

[0202] In the second implementation method, if there is no route that satisfies the hop count constraint among the N route paths, the target route topology is the route path with the shortest latency among the N route paths.

[0203] For example, please refer to Figure 11, which is a schematic diagram of another target routing topology provided in an embodiment of this application. Taking node N6 as the first node and node N7 as the root node as an example, assuming the hop count constraint is 2 hops, the routing paths for the packets of node N6 to reach the root node include 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 none of the above three 3-hop routing paths satisfies the hop count constraint, in order to ensure the stability of the delay as much as possible, node N6 can choose 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 route topology is the route path with the fewest hops among the N route paths. If there are at least two route paths with the fewest hops among the N paths, the target route topology is the route path with the shortest delay among the at least two route paths with the fewest hops.

[0205] This solution provides an implementation that does not follow hop count constraints, but only considers the route path with the fewest hops and shortest latency among N routing paths. For example, please refer to Figure 12, which is a schematic diagram of another target routing topology provided in this application embodiment. Taking node N6 as the first node and node N7 as the root node as an example, the routing paths from node N6 to node N7 include a 2-hop routing path with a cumulative latency of 70ms (25ms+45ms), a 2-hop routing path with a cumulative latency of 68ms (48ms+20ms), a 3-hop path with a cumulative latency of 63ms (25ms+28ms+10ms), and a 3-hop routing path with a cumulative latency 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 four routing paths. Since the two 2-hop routing paths have the fewest hops, the routing path with the shorter cumulative delay (i.e., the 2-hop routing path with a cumulative delay of 68ms) can be selected as the target routing topology to ensure the stability of the network during packet transmission.

[0206] Based on the above implementation methods, this application comprehensively evaluates the hop count and cumulative delay information of the routing path, as well as the rules following the hop count constraint, to obtain the target routing topology, which can guarantee the reliability of end-to-end delay.

[0207] Optionally, if the hop count of the target routing topology does not meet the hop count constraint, the first node may send a hop count alarm message to the root node.

[0208] As one possible implementation, the first node broadcasts a first message (referring to Figure 12, the first node can be N3, and the first neighbor node of the first node can be node N6). Hop count constraint information for the first network domain can be carried in this message. This hop count constraint information characterizes the constraint condition that the hop count between the second node and the root node must satisfy. In other words, the hop count constraint information characterizes the requirement that the hop count from the root node for all nodes wanting to join the first network domain should not exceed the hop count constraint. The second node is any node in the first network domain other than the first node. For ease of distinction, this message is represented as message M5.

[0209] Optionally, the hop count constraint indication information of the first network domain can be carried in the option field of message M5 and broadcast. Further optionally, the hop count constraint indication information of the first network domain can 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 consists of TLVs. Please refer to Figure 13, which is a schematic diagram of the format of message M5 provided in an embodiment of this application. Message M5 may include one or more of the following information:

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

[0212] (2) Option length, which indicates 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, which indicates the value of the hop count constraint. For example, the option data field has a value range of 1 to 255 and a length of 1 byte.

[0214] As one possible implementation, the first node can receive query messages from the root node. These query messages are used to query the first node's routing configuration information and then send that information back 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 following: 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 consists of TLVs. Please refer to Figure 14, which is a schematic diagram of the format of message M6 provided in an embodiment of this application. The routing configuration information in message M6 may include one or more of the following:

[0218] (1) optiontype, which indicates 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: 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. For example, the optiondata field is 1 byte. 0x80 represents the hop count constraint indication information of the first network domain, 0x81 represents the time slice weight information of the first node, and 0x82 represents the time slice length information of 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 level of child nodes.

[0222] Optionally, the option field consists of TLVs. Please refer to Figure 15, which is a schematic diagram of another message M6 format provided in an embodiment of this application. The time slice weight information w in message M6 may include one or more of the following information:

[0223] (1) optiontype, which indicates 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 weight value corresponding to the time slice. For example, the optiondata field takes the value of a floating-point decimal and is 4 bytes long.

[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 level of child nodes.

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

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

[0229] (2) optionlength, used to indicate the size of the optiondata field. For example, if the time slice t is in 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., as described in the above embodiments, and this application does not limit this.

[0232] Optionally, the first node updates the cumulative delay information of at least one of the N routing paths, and determines the target routing topology between the first node and the root node based on the updated cumulative 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 latency between nodes can be increased by using a signal jammer. The time interval of route switching can be perceived by updating the cumulative latency information of the routing path, so as to ensure the stability of the target routing topology between the first node and the root node.

[0234] Furthermore, the first node can send a message to the root node based on the determined target route topology. The following section describes step S803 in conjunction with this:

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

[0236] Accordingly, the root node receives packets from the first node. Optionally, the packets received by the root node from the first node may have been forwarded by the second node. In this case, the target route topology passes through the second node, which is a neighbor node of the root node.

[0237] Since step S702 provides an illustrative description of the specific content of the information that the message may carry, two possible implementation methods for sending the message are listed below:

[0238] In one implementation method, the first node sends a message to the root node. For example, if there is only one target route topology, the first node sends its own message to the root node through the target route topology.

[0239] Accordingly, the root node receives a message from the first node. Optionally, the message received by the root node from the first node may have been forwarded by the second node.

[0240] In the second implementation method, the first node sends multiple messages to the root node. For example, if there are M target routing topologies, the first node sends M messages to the root node through these M target routing topologies, where M is an integer and M≥2. The target routing topologies correspond to M of the N routing paths, where N is an integer and N≥2. The first node sends M messages to the root node through these M routing paths, where each of the M messages is sent through each of the corresponding routing paths.

[0241] Accordingly, the root node receives M copies of the first node's messages. Optionally, the messages received by the root node from the first node may have been forwarded by multiple neighboring nodes of the root node.

[0242] For example, in scenarios with deterministic latency (such as energy household alarm data needing to be reported to the root node within 100ms), the first node can leverage the multi-parent node feature of routing protocols to simultaneously send multiple copies of the same message data to both the primary and backup parent nodes. This allows messages to be transmitted across different links, ensuring that even if one link fails, other messages remain unaffected, thus enhancing robustness and reducing latency caused by message loss and retransmission. Upon receiving multiple messages, the root node can use the application layer's sequence number to select and discard duplicate messages (i.e., perform deduplication), retaining only those that meet its requirements.

[0243] Optionally, the multiple-send-select-receive feature is only triggered at the source node, meaning that only the source node will send redundant messages to the parent node and the backup parent node. The relay node will not trigger multiple-send-select-receive again when forwarding, thus preventing a forwarding storm.

[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 does not limit this. For detailed explanations of the first message, second message, third message, fourth message, and fifth message, please refer to the embodiments described in steps S701-S703, which will not be repeated here.

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

[0246] The routing table indicates that the next-hop node of the target route 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 this application. Referring to Figure 12, each initial routing table records the latency information between each node and its neighboring nodes. As shown in Table 1-1 of Figure 17, taking the next hop of the root node (e.g., node N7) as node N2 or node N4, the latency from node N7 to node N2 is 25ms, and the latency from node N7 to node N4 is 48ms. This information between nodes can be recorded in the root node's routing table. After summarizing the information from these multiple nodes, the root node can form an updated routing table as shown in Table 8-1 of Figure 17. That is, the root node can update the routing information based on the latency information between each node and its neighboring nodes.

[0247] In this application, all N routing paths can support the transmission of packets from the first node to the root node, and each routing path has corresponding cumulative latency information. Among them, the cumulative latency information of a routing path from node A to node B refers to the latency experienced by node A and node B in transmitting packets (or the end-to-end latency).

[0248] Since shorter transmission latency between nodes in a network domain leads to higher stability of message transmission via shorter-latency routing topologies, this application uses the cumulative latency information of N routing paths to select a target routing topology for message transmission between nodes in the same network domain. This enables the coordination of a low-latency message transmission routing path between nodes. Optionally, the target routing topology can be the routing path with the shortest latency. Transmitting node messages through the target routing topology ensures end-to-end latency reliability.

[0249] Figure 7 above describes the communication method flow from the perspective of system interaction and provides several optional solutions. Figure 18 below illustrates one possible implementation method.

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

[0251] The communication method includes one or more steps S1801 to S1804. It should be understood that, for ease of description, the method is described in the order of steps S1801 to S1804, but this is not intended to limit the execution to this specific order. This application embodiment does not limit the order of execution, the execution time, or the number of executions of the above one or more steps; other steps may be interspersed between or before these steps as needed. Specifically, steps S1801 to S1804 are as follows:

[0252] Step S1801: The first node determines the target routing topology between itself and the root node based on the cumulative delay information of the N routing paths and the hop count of the N routing paths.

[0253] Optionally, the first node is an exemplary name used to distinguish a particular node. For example, referring to Figure 6, the first node can be the aforementioned node N1, node N2, or other nodes. Cumulative delay information refers to the accumulated delay during message transmission between nodes. The hop count constraint is that the hop count satisfies the second condition, and the hop count is associated with the number of forwards a message from the first node undergoes to reach the root node. 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 the first condition. For a detailed description of the above, please refer to the embodiments in Figures 6 and 7.

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

[0255] For example, whether the hop count of N routing paths meets the hop count constraint can be determined by judging whether the hop count of each of the N routing paths is less than or equal to a preset value, such as 2 hops.

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

[0257] For example, if multiple routing paths satisfy the hop count constraint, the first node can choose the neighbor node with the shortest latency as the parent node, and the target routing topology can be the routing path with the shortest latency among the N routing paths that satisfies the hop count constraint.

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

[0259] For example, if there is no route path that satisfies the hop count constraint among the N route 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, referring to Figure 9, taking the first node as node N3 as an example, node N3 has three neighbor nodes: 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). Thus, the target route topology can be the route path with the smallest hop count among the N route paths.

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

[0261] The methods of the embodiments of this application have been described in detail above. The apparatus of the embodiments of this application is provided below.

[0262] It should be understood that the division of units in the apparatus provided in this application embodiment is only a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, the units in the apparatus can be implemented by a processor calling software. For example, the apparatus includes a processor connected to a memory, which stores instructions. 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 apparatus. The processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is either internal or external to the apparatus.

[0263] Alternatively, the units in the device can be implemented as hardware circuits. The functionality of some or all of the units can be achieved through the design of these hardware circuits, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC). The functionality of some or all of the above units is achieved through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented using a programmable logic device (PLD). Taking a field-programmable gate array (FPGA) as an example, it can include a large number of logic gates. The connection relationships between the logic gates are configured through a configuration file, thereby achieving the functionality of some or all of the above units.

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

[0265] Furthermore, the units in the above devices can be integrated in whole or in part, or they can be implemented independently. In one implementation, these units are integrated together as a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or for implementing the functions of the units in the device. The at least one processor can be of different types, such as including a CPU and an FPGA, or including a CPU and an AI 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 this 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, the communication device 190 includes a communication unit 1901 and a processing unit 1902. The communication device 190 is used to implement the aforementioned communication method, such as the communication method shown in FIG8 or FIG18. Exemplarily, the communication device is used to execute methods performed by a first node, a first neighbor node of the first node, or a second neighbor node of the first node.

[0268] In one possible implementation, communication unit 1901 is used to acquire cumulative delay information of N routing paths, wherein the cumulative delay information of the first routing path is used to indicate the delay of a packet from the first node reaching the root node via the first routing path. The first routing path belongs to any one of the N routing paths, where N is an integer and N≥1, and the first node and the root node belong to a first network domain. Processing unit 1902 is used to determine the target routing topology between the first node and the root node based at least on 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 satisfies a first condition. In another possible implementation, communication unit 1901 is also used to acquire the hop count of the N routing paths. Regarding determining the target routing topology between the first node and the root node based at least on the cumulative delay information of the N routing paths, 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 hop count of the N routing paths.

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

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

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

[0272] In another possible implementation, the communication unit 1901 is also used to send a hop count alarm message to the root node when the hop count of the target routing topology does not meet the hop count constraint.

[0273] In another possible implementation, the communication unit 1901 is further configured to broadcast a first message, the first message including hop count constraint indication information for a first network domain. The hop count constraint indication information characterizes the constraint conditions that the hop count between a second node and the root node must satisfy, where the second node is any node in the first network domain other than the first node.

[0274] In another possible implementation, N≥2, the optimal destination route topology is the route path with the fewest hops among the N routes. If there are at least two routes with the fewest hops among the N routes, the destination route topology is the route path with the shortest delay among the at least two routes with the fewest hops.

[0275] In another possible implementation, the communication unit 1901 is further configured to send a second message to the first neighbor node of the first node, the second message including the cumulative delay information of the target routing topology between the first node and the root node, and the first neighbor node of the first node having a point-to-point connection with the first node.

[0276] In another possible implementation, the first node and the root node are connected point-to-point. 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 implementation, regarding the acquisition of cumulative delay information for N routing paths, communication unit 1901 is specifically configured to: acquire cumulative delay information of the target routing topology between the first node's first neighbor node and the root node, wherein the first node's first neighbor node is a point-to-point connection with the first node; determine the delay information between the first node and its first neighbor node; and, based on the delay information between the first node and its 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, determine the cumulative delay information of a second routing path, wherein the second routing path is one of the N routing paths and passes through the first node's first neighbor node.

[0278] In another possible implementation, in obtaining the cumulative delay information of the target routing topology between the first neighbor node and the root node of the first node, the communication unit 1901 is specifically configured 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 and the root node of the first 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, the measurement signal being used to determine time 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 also used to broadcast a fourth message, which includes timestamp information 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 neighbor node. The processing unit 1902 is further configured to obtain time delay information between the first node and the first neighbor node based on the second measurement signal.

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

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

[0284] In another possible implementation, the delay between the first node and its first neighbor node is the average delay information within a first time period.

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

[0286] Optionally, multiple delay information is obtained within the first time period, and each delay information corresponds to a time slice.

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

[0288] In another possible implementation, the number of time slices within the first time period is multiple, and the weights of the multiple time slices are different.

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

[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 following: length indication information of the first time period, time slice length indication information, and time slice weight indication information.

[0291] In another possible implementation, the communication unit 1901 is also used 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 the N routing paths, where N is an integer and N≥2, and M is an integer and M≥2. Communication unit 1901 is further configured to send M third messages to the root node via the M routing paths, wherein each of the M messages is sent via each of the M routing paths.

[0293] Optionally, the multiple-send-select-receive feature is only triggered at the source node, meaning that only the source node will send redundant messages to the primary parent node and the backup parent node. The relay node will not trigger multiple-send-select-receive again when forwarding, thus preventing a forwarding storm.

[0294] Please refer to Figure 20, which is a schematic diagram of another communication device 200 provided in an embodiment of this 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 FIG. 7 or FIG. 18. Exemplarily, the communication device is used, for example, to execute a root node execution method.

[0296] In one possible implementation, the communication unit 2001 is used to receive messages from the first node. The processing unit 2002 is used to update the routing table according to the messages from the first node, the routing table indicating 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.

[0297] The embodiments of this application and the method embodiments shown above are based on the same concept and have the same technical effects. For the specific principles, please refer to the description of the embodiments shown above, which will not be repeated here.

[0298] Please refer to Figure 21, which is a schematic diagram of another communication device 210 provided in an embodiment of this application. The communication device 210 can be an independent device, such as a first node or a root node, or a component included in an independent device, such as a chip, software module, or 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 through the connection line 2104, and / or communicate with each other through the connection line 2104 to transmit control signals and / or data signals.

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

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

[0301] For example, 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 short-range communication technology and other short-range wireless communication technologies, etc.).

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

[0304] As one 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 transmitter may be the same component or different components. When the receiver and transmitter are the same component, this component may be referred to as a transceiver.

[0305] As another possible design, if the communication device 210 is a chip or 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 they may be different interfaces.

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

[0307] The memory 2103 provides storage space, in which data such as the operating system and computer programs can be stored. The memory 2103 can be one or a combination of several of the following: 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 each module or unit in the communication device 210 listed above are merely illustrative examples.

[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 FIG7 or FIG18, for example, a method for executing the first node, the first neighbor node of the first node, or the second neighbor node of the first node.

[0310] Optionally, processor 2101 may be a processor specifically designed to perform the aforementioned methods (for ease of distinction, referred to as a dedicated processor), or a processor that performs the aforementioned methods by calling a computer program (for ease of distinction, referred to as a dedicated processor). Optionally, at least one processor may include both dedicated processors and general-purpose processors.

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

[0312] This application also provides a chip, which includes logic circuitry and a communication interface. The communication interface is used to receive or transmit signals; the logic circuitry is used to receive or transmit signals through the communication interface. The chip is used to implement the aforementioned communication method, such as the communication method shown in FIG7 or FIG18.

[0313] This application also provides a computer-readable storage medium storing instructions that, when executed on at least one processor (or communication device), implement the aforementioned communication method, such as the communication method shown in FIG7 or FIG18.

[0314] This application also provides a computer program product, which includes computer instructions for implementing the aforementioned communication method, such as the communication method shown in FIG7 or FIG18.

[0315] This application embodiment also provides a terminal, which includes the aforementioned communication device 190, communication device 200 and / or communication device 210.

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

[0317] For example, terminals can include intelligent terminals or transportation tools such as vehicles, robots, drones, ships, and vessels. Among them, "vehicle" is a broad concept, encompassing transportation tools (such as commercial vehicles, passenger cars, motorcycles, flying cars, trains, etc.), industrial vehicles (such as forklifts, trailers, tractors, etc.), engineering vehicles (such as excavators, bulldozers, cranes, etc.), and agricultural equipment (such as lawnmowers, harvesters, etc.). Similarly, robots can be intelligent guided vehicles (AGVs), walking conversational robots, service robots, etc.

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

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

[0320] For example, at least one of a, b, or c can be represented as: 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 multiple. "AND / OR" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects have an "OR" relationship.

[0321] Furthermore, unless otherwise stated, the ordinal numbers such as "first," "second," "M1," "M2," "M3," "M4," "M5," "S1," "S2," and "S3" used in the embodiments of this application are for distinguishing multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects. Similarly, terms like "first node" and "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, depending on the context, as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". The above descriptions are merely optional embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the concept and principles of this application should be included within the protection scope of this application.

[0323] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

Claims

1. A communication method, characterized in that, Applied to the first node, the method includes: 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 packet of the first node reaching the root node through the first routing path. The first routing path belongs to any one of the N routing paths, where N is an integer and N≥1, and the first node and the root node belong to the first network domain. Based at least on the cumulative delay information of the N routing paths, a target routing topology between the first node and the root node is determined, wherein 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.

2. The method according to claim 1, characterized in that, The method further includes: Obtain the hop count of the N routing paths; Determining the target routing topology between the first node and the root node based at least on the cumulative delay information of the N routing paths includes: Based on the cumulative delay information of the N routing paths and the hop count of the N routing paths, the target routing topology between the first node and the root node is determined.

3. The method according to claim 2, characterized in that, If multiple routing paths among the N routing paths satisfy the hop count constraint, the target routing topology is the routing path among the N routing paths that satisfies the hop count constraint and has the shortest latency, or... If there is no route among the N routing paths that satisfies the hop count constraint, the target routing topology is the route with the shortest latency 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 related to the number of forwardings a packet from the first node undergoes to reach the root node.

5. The method according to claim 4, characterized in that, The method further includes: If the hop count of the target routing topology does not meet the hop count constraint, a hop count alarm message is sent to the root node.

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

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

8. The method according to any one of claims 1-7, characterized in that, The process of obtaining the cumulative latency information for N routing paths includes: Obtain the cumulative delay information of the target routing topology between the first neighbor node of the first node and the root node, wherein the first neighbor node of the first node is connected to the first node in a point-to-point manner; Determine the time delay information between the first node and its first neighbor node; Based on the latency information between the first node and its first neighbor node, and the cumulative latency information of the target routing topology between the first neighbor node and the root node, the cumulative latency information of the second routing path is determined. 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 step of obtaining the cumulative delay information of the target routing topology between the first neighbor node of the first node and the root node includes: 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.

10. The method according to claim 8 or 9, characterized in that, The method further includes: The first node transmits a measurement signal to its first neighbor node, the measurement signal being used to determine the time delay information between the first node and its first neighbor node.

11. The method according to any one of claims 8-10, characterized in that, Determining the time delay information between the first node and its first neighbor node includes: Based on the latency information within the first time period, the latency between the first node and its first neighbor node is determined.

12. The method according to claim 11, characterized in that, The latency between the first node and its first neighbor node is the average latency information within 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 step of determining the time delay between the first node and its first neighbor node based on the time delay information within the first time period includes: The time delay between the first node and its first neighbor node is determined based on the time 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, Each time slice in the at least one time slice has the same length. Alternatively, the number of time slices within the first time period may be multiple, and at least two of the multiple time slices may have different durations.

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

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

17. The method according to any one of claims 11-16, characterized in that, The method further includes: Receive a fifth message from the root node, the fifth message including one or more of the following: length indication information of the first time period, time slice length indication information, and time slice weight indication information.

18. The method according to any one of claims 1-17, characterized in that, The method further includes: 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. 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 through each of the M routing paths.

20. The method according to any one of claims 1-19, characterized in that, The method further includes: Receive a query message from the root node, the query message being used to query the routing configuration information of the first node; The routing configuration information of the first node is fed back to the root node. The routing configuration information includes one or more of the following: 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-20, characterized in that, The delay includes one or more of the following: packet delay, packet jitter, and jitter delay of the neighboring nodes of the first node.

22. A communication method, characterized in that, Applied to the root node, the method includes: Receive messages from the first node; The routing table is updated based on the message from the first node. 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 invokes a computer program or instruction in memory, the method as described in any one of claims 1-21 is executed.

24. A communication device, characterized in that, The communication device includes a processor and a communication interface; When the processor invokes a computer program or instruction in memory, the method of 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 as described in any one of claims 1-21, or to implement the method as described in claim 22.

26. A communication system, characterized in that, The communication system includes a first node and a root node. The first node includes the communication device as described in claim 23; The root node includes the communication device as described in claim 24.

27. A terminal, characterized in that, The terminal includes the communication device as described in claim 23, or the communication device as described in claim 24, or the chip as described in claim 25, or the communication system as described in 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 as described in any one of claims 1-21 is implemented, or the method as described in claim 22 is implemented.