A channel access method and apparatus
By using a target neural network to predict channel access success rate in a wireless network, the communication conflict problem caused by random node access is resolved, improving throughput and reducing latency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2020-12-29
- Publication Date
- 2026-08-04
AI Technical Summary
In wireless networks, the method of nodes randomly accessing shared channels leads to frequent communication collisions, resulting in reduced throughput and increased latency, which affects user experience.
By acquiring network status information within the target period, the target neural network is used to predict the channel access success rate and decide whether to send a message. This includes monitoring information such as the busy/idle status of the shared channel, the number of interfering nodes, and the successful transmission time interval.
It improves the success rate of node access to the channel, increases the channel throughput, and reduces the latency of inter-node communication.
Smart Images

Figure CN114698138B_ABST
Abstract
Description
Technical Field
[0001] This solution relates to the field of communications, and in particular to a channel access method and apparatus. Background Technology
[0002] In wireless networks such as short-range transmission network systems and wireless fidelity (WIFI) systems, the channel is shared, meaning that multiple nodes in the wireless network will use the same shared channel to communicate.
[0003] In this network, if two or more nodes send messages simultaneously, communication conflicts will occur, leading to message transmission failures. This results in reduced throughput on the channel and increased latency in network communication, significantly impacting user experience. Therefore, node channel access decisions have a crucial influence on communication and play a decisive role in user experience.
[0004] In distributed scenarios, there is no central node to uniformly schedule and coordinate all nodes in the network; instead, nodes decide directly whether to connect to the shared channel. Currently, nodes typically decide whether to connect to the shared channel by randomly selecting a node or by acquiring a large amount of data to predict the outcome of connecting. However, this method has a low probability of successful channel connection and results in low channel throughput. Summary of the Invention
[0005] This application provides a channel access method and apparatus. In this method, before sending a message to a second node through a shared channel, a first node can input network state information obtained at each moment within a target period into a target neural network to obtain a prediction result for sending a message to the second node at the first moment. Finally, based on the prediction result, it is determined whether to send a message to the second node through the shared channel.
[0006] The target period is a preset time period including the first moment; the network status information may include the first time period, the second time period, the busy / idle status of the shared channel monitored by the first node, and the total number of interfering nodes. The first time period of the second moment is used to indicate the time interval between the time when the first node last successfully sent a message through the shared channel before the second moment and the second moment. The second time period of the second moment is used to indicate the time interval between the time when the interfering node last successfully sent a message through the shared channel before the second moment and the second moment. Interfering nodes are nodes other than the first node that the second node monitors and sends messages through the shared channel. The second moment is any moment in the target period.
[0007] By implementing this technical solution, nodes can decide whether to access the shared channel based on the network status over a period of time. This method can improve the success rate of nodes accessing the channel and increase the channel throughput.
[0008] In a first aspect, embodiments of this application provide a channel access method, characterized in that the method includes:
[0009] The first node acquires network status information at each moment within the target period, where the target period is a preset time interval including the first moment. The network status information includes a first time interval and a second time interval. The first time interval of the second moment indicates the time interval between the first node's most recent successful message transmission via the shared channel and the second moment. The second time interval of the second moment indicates the time interval between the interfering node's most recent successful message transmission via the shared channel and the second moment. The interfering node is any node other than the first node that the second node detects transmitting messages via the shared channel. The second moment is any moment within the target period.
[0010] The first node inputs the network state information at each time step into the target neural network to obtain the prediction result. The prediction result includes a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node successfully sends a message to the second node through the shared channel at the first time step. The second prediction value is used to indicate the probability that the first node fails to send a message to the second node through the shared channel at the first time step.
[0011] When the first predicted value is greater than the second predicted value, the first node sends the message to be sent to the second node through the shared channel.
[0012] In conjunction with the first aspect, in one possible implementation, the network state information also includes the busy / idle status of the shared channel monitored by the first node and the total number of interfering nodes.
[0013] In conjunction with the first aspect, in one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the second time period at the second moment;
[0014] Obtain the second time interval of the second moment, including:
[0015] When the first node hears the response information at the second time according to the first instruction information, it determines that the second time period of the second time is 0. The second time is the time after the first node hears the first message for the first duration. The header of the first message includes the first instruction information, which is used to instruct the node that receives the first message to send the response information after the first duration.
[0016] In conjunction with the first aspect, in one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the second time period at the second moment;
[0017] Obtain the second time interval of the second moment, including:
[0018] When the first node detects a response message containing the second indication information at the second moment, it determines that the second time period of the second moment is 0. The second indication information is used to indicate that the message corresponding to the response message containing the second indication information was successfully sent.
[0019] When the first node detects a response message including the third indication information at the second moment, it determines that the second time period of the second moment is the sum of the second time period of the previous moment within the target period and the first time interval. The first time interval is the time interval between the previous moment and the second moment. The third indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is a failure.
[0020] In conjunction with the first aspect, in one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the total number of interfering nodes at the second moment;
[0021] Obtain the total number of interfering nodes at the second time step, including:
[0022] At the second moment, the first node receives the first broadcast frame broadcast by the second node;
[0023] The first node will determine the total number of interfering nodes at the second time point from the total number of interfering nodes parsed from the first broadcast frame.
[0024] In conjunction with the first aspect, in one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the second time period at the second moment;
[0025] Obtain the second time interval of the second moment, including:
[0026] When the first node receives the second broadcast frame at the second moment, it determines that the second time period of the second moment is 0. The second broadcast frame is broadcast to the first node by the second node when it detects that the interfering node has successfully sent a message through the shared channel.
[0027] In conjunction with the first aspect, in one possible implementation, the second broadcast frame includes a first time point, which is the moment when the second node detects that the interfering node has successfully sent a message through the shared channel.
[0028] In conjunction with the first aspect, in one possible implementation, when the first node receives the second broadcast frame at the second time moment, it determines that the second time period at the second time moment is 0, including:
[0029] The first node defines the time interval between the first time point and the second time point as the first time interval;
[0030] The time interval between the moment when the previous second time interval was cleared and the second moment itself is defined as the second time interval;
[0031] When the first time interval is less than the second time interval, the second time interval at the second moment is determined to be 0.
[0032] In conjunction with the first aspect, in one possible implementation, after the first node sends the message to be sent to the second node via the shared channel, the method further includes:
[0033] The first node obtains the sending result of the message to be sent;
[0034] The first node takes the network state information at each moment of the target period as input and updates the target neural network with the sending result of the message to be sent as the label.
[0035] In conjunction with the first aspect, in one possible implementation, the first node updates the target neural network using the network state information of the target period as input and the sending result of the message to be sent as the label, including:
[0036] The target neural network is updated based on a loss, which includes the error between the predicted result and the actual transmission result of the message to be sent.
[0037] In conjunction with the first aspect, in one possible implementation, the loss also includes the reward value at the first moment, which is determined based on the prediction result and the busy / idle status of the shared channel that the first node listens to at the first moment.
[0038] In conjunction with the first aspect, in one possible implementation, when the transmission result of the message to be sent is successful, the reward value is determined to be the ratio of the first time period to the second time period;
[0039] When the transmission of the message to be sent fails, the reward value is determined to be the negative of the total number of interfering nodes at the first moment.
[0040] In conjunction with the first aspect, in one possible implementation, when the first predicted value is less than the second predicted value, the first node listens to the shared channel at the first moment.
[0041] When the first node detects a response message indicating successful transmission on the shared channel at the first moment, it determines the reward value to be the ratio of the second time period of the first moment to the first time period of the first moment.
[0042] When the first node detects a response message indicating a failure to send an indication message on the shared channel at the first moment, it determines that the reward value is M, where M is a positive number.
[0043] When the first node detects that there is no response information on the shared channel at the first moment, it determines that the reward value is 0.
[0044] A second aspect discloses a channel access device, the device comprising:
[0045] The acquisition unit is used to acquire network status information at each moment within the target period. The target period is a time period of a preset duration prior to the first moment, including the first moment itself. The network status information includes a first time period and a second time period. The first time period of the second moment is used to indicate the time interval between the time when the first node last successfully sent a message through the shared channel before the second moment and the second moment itself. The second time period of the second moment is used to indicate the time interval between the time when the interfering node last successfully sent a message through the shared channel before the second moment and the second moment itself. The interfering node is any node other than the first node that the second node detects sending messages through the shared channel. The second moment can be any moment within the target period.
[0046] The prediction unit is used to input the network state information at each time step into the target neural network to obtain the prediction result. The prediction result includes a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node successfully sends a message to the second node through the shared channel at the first time step. The second prediction value is used to indicate the probability that the first node fails to send a message to the second node through the shared channel at the first time step.
[0047] The decision unit is used to send a message to be sent from the first node to the second node through a shared channel when the first predicted value is greater than the second predicted value.
[0048] As one possible implementation, the acquisition unit is also used to acquire the busy / idle status of the shared channel and the total number of interfering nodes detected by the first node.
[0049] As one possible implementation, the acquisition unit is specifically used to acquire the second time period at the second moment, wherein:
[0050] When the first node hears the response information at the second time according to the first instruction information, it determines that the second time period of the second time is 0. The second time is the time after the first node hears the first message for the first duration. The header of the first message includes the first instruction information, which is used to instruct the node that receives the first message to send the response information after the first duration.
[0051] As one possible implementation, the acquisition unit is specifically used to acquire the second time period at the second moment, wherein:
[0052] When the first node detects a response message containing the second indication information at the second moment, it determines that the second time period of the second moment is 0. The second indication information is used to indicate that the message corresponding to the response message containing the second indication information was successfully sent.
[0053] When the first node detects a response message including the third indication information at the second moment, it determines that the second time period of the second moment is the sum of the second time period of the previous moment within the target period and the first time interval. The first time interval is the time interval between the previous moment and the second moment. The third indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is a failure.
[0054] As one possible implementation, the acquisition unit is specifically used to acquire the total number of interfering nodes at the second time moment, wherein:
[0055] At the second moment, the first node receives the first broadcast frame broadcast by the second node;
[0056] The first node will determine the total number of interfering nodes at the second time point from the total number of interfering nodes parsed from the first broadcast frame.
[0057] As one possible implementation, the acquisition unit is specifically used to acquire the second time period at the second moment, wherein:
[0058] When the first node receives the second broadcast frame at the second moment, it determines that the second time period of the second moment is 0. The second broadcast frame is broadcast to the first node by the second node when it detects that the interfering node has successfully sent a message through the shared channel.
[0059] As one possible implementation, the second broadcast frame includes a first time point, which is the moment when the second node detects that the interfering node has successfully sent a message through the shared channel.
[0060] As one possible implementation, the acquisition unit is specifically used to perform:
[0061] The first node defines the time interval between the first time point and the second time point as the first time interval;
[0062] The time interval between the moment when the previous second time interval was cleared and the second moment itself is defined as the second time interval;
[0063] When the first time interval is less than the second time interval, the second time interval at the second moment is determined to be 0.
[0064] As one possible implementation, the channel access device further includes a training unit, which is used to perform:
[0065] The first node obtains the sending result of the message to be sent;
[0066] The first node takes the network state information at each moment of the target period as input and updates the target neural network with the sending result of the message to be sent as the label.
[0067] As one possible implementation, the channel access device further includes a training unit, which is specifically used to perform: updating the target neural network according to a loss, the loss including the error between the prediction result and the transmission result of the message to be sent.
[0068] As one possible implementation, the loss also includes the reward value at the first moment, which is determined based on the prediction result and the busy / idle status of the shared channel that the first node listens to at the first moment.
[0069] As one possible implementation, the channel access device further includes a training unit, which is also used to perform:
[0070] When the transmission result of the message to be sent is successful, the reward value is determined to be the ratio of the first time period to the second time period;
[0071] When the transmission of the message to be sent fails, the reward value is determined to be the negative of the total number of interfering nodes at the first moment.
[0072] As one possible implementation, the channel access device further includes a training unit, which is also used to perform:
[0073] When the first predicted value is less than the second predicted value, the first node listens to the shared channel at the first moment;
[0074] When the first node detects a response message indicating successful transmission on the shared channel at the first moment, it determines the reward value to be the ratio of the second time period of the first moment to the first time period of the first moment.
[0075] When the first node detects a response message indicating a failure to send an indication message on the shared channel at the first moment, it determines that the reward value is M, where M is a positive number.
[0076] When the first node detects that there is no response information on the shared channel at the first moment, it determines that the reward value is 0.
[0077] The third aspect discloses a channel access device, which may include a processor, a memory, an input interface, and an output interface. The input interface is used to receive information from other channel access devices besides the channel access device, and the output interface is used to output information to other channel access devices besides the channel access device. When the processor executes a computer program stored in the memory, the processor executes the channel access method disclosed in the first aspect or any embodiment of the first aspect.
[0078] The fourth aspect discloses a channel access network, which includes the channel access device of the second aspect and the channel access device of the third aspect.
[0079] The fifth aspect discloses a computer-readable storage medium storing a computer program or computer instructions that, when executed, implement the channel access method disclosed in the aspects. Attached Figure Description
[0080] The accompanying drawings used in the embodiments of this application are described below.
[0081] Figure 1 A schematic diagram illustrating the effect comparison of an embodiment of this application;
[0082] Figure 2 This is a schematic diagram of a channel access network architecture provided in an embodiment of this application;
[0083] Figure 3 This is a schematic diagram of another channel access network architecture provided in an embodiment of this application;
[0084] Figure 4 A flowchart illustrating a channel access method provided in an embodiment of this application;
[0085] Figure 5 A schematic diagram of a first time period and a second time period provided for an embodiment of this application;
[0086] Figure 6A A schematic diagram illustrating the acquisition of a second time period provided in an embodiment of this application;
[0087] Figure 6B A schematic diagram of a response message provided in an embodiment of this application;
[0088] Figure 7 A schematic diagram of a target neural network provided in an embodiment of this application;
[0089] Figure 8 A flowchart illustrating another channel access method provided in this application embodiment;
[0090] Figure 9A A schematic diagram of an information unit of a broadcast frame provided in an embodiment of this application;
[0091] Figure 9B A schematic diagram of another information unit of a broadcast frame provided in an embodiment of this application;
[0092] Figure 10 This is a schematic diagram of the structure of a channel access device 400 provided in an embodiment of this application;
[0093] Figure 11 This is a schematic diagram of another channel access device 500 provided in an embodiment of this application. Detailed Implementation
[0094] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of this application. As used in the specification and appended claims of the embodiments of this application, the singular expressions “a,” “an,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in the embodiments of this application refers to and includes any or all possible combinations of one or more of the listed items.
[0095] In this embodiment, the first node is the node that sends messages to the second node, and the second node is the node that receives messages from the first node. Since the first node, the second node, and the interfering node all communicate through a shared channel, if the interfering node sends messages through the shared channel at the same time the first node accesses it, it will affect the first node's ability to send messages to the second node. Therefore, before sending messages to the second node, the first node can execute the channel access method provided in this embodiment to determine whether to access the shared channel.
[0096] This application provides a channel access method and apparatus. In this method, before sending a message to a second node through a shared channel, a first node can input network state information obtained at each moment within a target period into a target neural network to obtain a prediction result for sending a message to the second node at the first moment. Finally, based on the prediction result, it is determined whether to send a message to the second node through the shared channel.
[0097] The target period is a preset time period including the first moment; the network status information may include the first time period, the second time period, the busy / idle status of the shared channel monitored by the first node, and the total number of interfering nodes. The first time period of the second moment is used to indicate the time interval between the time when the first node last successfully sent a message through the shared channel before the second moment and the second moment. The second time period of the second moment is used to indicate the time interval between the time when the interfering node last successfully sent a message through the shared channel before the second moment and the second moment. Interfering nodes are nodes other than the first node that the second node monitors and sends messages through the shared channel. The second moment is any moment in the target period.
[0098] By implementing this technical solution, nodes can decide whether to access the shared channel based on the current network status. This method can improve the success rate of nodes accessing the channel and increase the channel throughput.
[0099] For details, please see Figure 1 , Figure 1 This is a schematic diagram illustrating the effect comparison of an embodiment of this application. Figure 1 As shown in (A), this technical solution increases the channel throughput; as Figure 1 As shown in (B) in the figure, this technical solution reduces the average latency and maximum latency of communication between nodes.
[0100] To better understand the channel access method and apparatus provided in the embodiments of this application, the network architecture used in the embodiments of this application will be described below.
[0101] Please see Figure 2 , Figure 2 This is a schematic diagram of a channel access network architecture provided in an embodiment of this application. Figure 2 As shown, the network architecture includes a first node 10, a second node 20, and an interfering node 30. The interfering node 30 may include multiple nodes. The first node 10, the second node 20, and the interfering node 30 all communicate through the same shared channel.
[0102] Specifically, before sending a message to the second node 20 through the shared channel, the first node 10 can input the network state information obtained at each moment within the target period into the target neural network to obtain the prediction result of sending a message to the second node 20 at the first moment. Finally, the first node 10 determines whether to send a message to the second node 20 through the shared channel based on the prediction result.
[0103] The first node 10 can obtain network status information at each moment within the target period, wherein the target period is a time period of a preset duration before the first moment, including the first moment; the network status information may include the busy / idle status of the shared channel monitored by the first node 10, the first time period, the second time period, and the total number of interfering nodes. The first time period of the second moment is used to indicate the time interval between the time when the first node 10 last successfully sent a message through the shared channel before the second moment and the second moment. The second time period of the second moment is used to indicate the time interval between the time when the interfering node 30 last successfully sent a message through the shared channel before the second moment and the second moment. The second moment is any moment in the target period. The interfering node 30 is any node other than the first node 10 that the second node 20 monitors as sending messages through the shared channel. Then, the first node 10 inputs the network state information at each time moment into the target neural network to obtain the prediction result. The prediction result includes a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node 10 will successfully send a message to the second node 20 through the shared channel at the first time moment. The second prediction value is used to indicate the probability that the first node 10 will fail to send a message to the second node 20 through the shared channel at the first time moment. When the first prediction value is greater than the second prediction value, the first node 10 sends the message to be sent to the second node 20 through the shared channel.
[0104] In this embodiment of the application, any one of the first node 10, the second node 20, and the interference node 30 can be an access point (AP) or a site (STA).
[0105] In this context, a site (STA) can refer to user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user device. A site can also be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal equipment in future 5G networks, or terminal equipment in future evolved public land mobile networks (PLMNs), etc. This application embodiment does not limit this to these categories.
[0106] An access point (AP) can be a device used to communicate with a site. This access point can be any device with wireless transceiver capabilities or a chip that can be configured within that device. Such devices include, but are not limited to: evolved Node B (eNB), radio network controller (RNC), Node B (NB), base station controller (BSC), base transceiver station (BTS), home base station (e.g., home evolved Node B, or home Node B (HNB), base band unit (BBU), access point (AP) in a Wi-Fi system, wireless repeater node, wireless backhaul node, transmission point (TP), or transmission and reception point. It can also refer to a gNB (transmission point, TRP), a transmission point (TRP or TP), an antenna panel (including multiple antenna panels) of a base station in a 5G system, or a network node that constitutes a gNB or transmission point, such as a baseband unit (BBU) or a distributed unit (DU).
[0107] Please see Figure 3 , Figure 3 This is a schematic diagram of another channel access network architecture provided in an embodiment of this application. Figure 3 As shown, the channel access network architecture includes a first node, a second node, and interfering nodes. The second node is an Access Point (AP), while the first node and interfering nodes are both STAs connected to the second node. Understandably, the second node can obtain responses to messages sent by all STAs within the same network.
[0108] In one implementation, when the second node receives responses to messages sent by all STAs within the same network, it generates a broadcast frame based on the time the response was received and broadcasts the broadcast frame to all STAs within the same network. It is understood that when an STA receiving the broadcast frame executes the channel access method of this application embodiment, it can update the second time period based on the broadcast frame. For details, please refer to the relevant content of the channel access method of this application embodiment below.
[0109] It should be noted that the technical solution of this application can be applied to communication between APs, communication between APs and STAs, and communication between STAs. The following description uses communication between APs and STAs as an example and does not constitute a limitation on the embodiments of this application.
[0110] Understandable Figure 2 and Figure 3 The channel access network architecture described above is merely an exemplary implementation of the embodiments of this application. The channel access network architecture in the embodiments of this application includes, but is not limited to, the above-described channel access network architecture.
[0111] Please refer to Figure 4 , Figure 4 This is a flowchart illustrating a channel access method provided in an embodiment of this application. This method can be applied to the above-mentioned... Figure 2 or Figure 3 In a channel access network, the method may include some or all of the following steps.
[0112] S101. The first node obtains network status information for each moment within the target period. The target period is a time period of a preset duration before the first moment, including the first moment. The network status information includes the first time period and the second time period.
[0113] Specifically, the first node can acquire network status information at each moment within the target period. The target period is a preset time interval including the first moment; the network status information can include a first time interval and a second time interval. The first time interval of the second moment indicates the time interval between the first node's most recent successful packet transmission via the shared channel before the second moment and the second moment itself. The second time interval of the second moment indicates the time interval between the time of an interfering node's most recent successful packet transmission via the shared channel before the second moment and the second moment itself. Interfering nodes are nodes other than the first node that the second node detects transmitting packets via the shared channel. The second moment can be any moment within the target period.
[0114] Please see Figure 5 , Figure 5 This diagram illustrates a first time period and a second time period as provided in an embodiment of this application. Node0 represents the first node in this embodiment, Nodi≠0 represents an interfering node in this embodiment, and the response information (Acknowledge character, ACK) represents the response time of a node successfully sending a message, such as... Figure 5 As shown, the time since node 0 last successfully sent data. This refers to the first time period in the embodiments of this application, which is the time since the last successful transmission for any node in the interfering receiving segment. This refers to the second time period in the embodiments of this application.
[0115] Specifically, step S101 includes some or all of the following steps.
[0116] S1011, The first node obtains the first time period of each moment within the target period.
[0117] Specifically, the first node can receive a response to the message after sending it, and the first time period at which the response was received can be determined based on the response.
[0118] Upon receiving a successful message transmission response, the first node can determine that the first time period at the moment of receiving the response is 0. Upon receiving a failed message transmission response, the first node can determine that the first time period at the moment of receiving the response is the time interval between the last time the first node cleared the second time period and the moment the response was received. For example, if the first node receives a successful message transmission response at the first moment, then the first time period at that moment is 0; if the first node receives a failed message transmission response at the first moment, and the time interval between that moment and the last time period clearing is t, then the first node determines the first time period at that moment to be t.
[0119] It should be noted that the second time period when the first node does not send a message is the time interval between the moment when the first node successfully sent a message and the moment before that.
[0120] S1012, The first node obtains the second time period for each moment within the target period.
[0121] Specifically, the first node can listen to the messages sent by the interfering node, determine the time when the interfering node last successfully sent a message based on the messages, and obtain the second time period of the current moment based on the time.
[0122] In some embodiments, the first node can demodulate all received packets and determine whether the packet comes from an interfering node of the second node and whether the packet is a response message based on the packet's ID (MAC address) and type. This method is highly complex and consumes a lot of power.
[0123] The following describes three implementation methods for obtaining the second time period at each moment within the target period, provided by embodiments of this application. These implementation methods are immediate response methods, which can reduce complexity and power consumption.
[0124] In one implementation, the data packet sent by the interfering node includes first indication information, which is used to instruct the node receiving the data packet to send response information after a first duration of receiving the data packet.
[0125] Specifically, at each moment within the target period, the first node can monitor data packets within a first target range, where the first target range can be the maximum range of packets that the first node can monitor. When the first node detects a data packet containing the first indication information, it can listen for a response after a first duration. Upon detecting a response, the first node can determine that the data packet was successfully sent, and thus set the second time period of the current moment to 0.
[0126] Please see Figure 6A , Figure 6A This diagram illustrates an embodiment of obtaining a second time period. The first indication information can be in the physical layer header of the message, and the first node can listen for this response after a Short Interframe Space (SIFS). It is understood that the shorter the first duration, the shorter the latency for the first node to update the second time period, and the higher the accuracy of the second time period.
[0127] In another implementation, the first node can determine a second time period based on the indication information in the listened response message. The indication information in the response message can be either an indication that the message corresponding to the response message failed to be sent, or an indication that the message corresponding to the response message was sent successfully.
[0128] Specifically, when the first node detects a response message including the second indication information at the second moment, it determines that the second time period at the second moment is 0. The second indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is successful. When the first node detects a response message including the third indication information at the second moment, it determines that the second time period collected at the second moment is the sum of the second time period of the previous collection moment and the first time interval. The first time interval is the time interval between the previous moment and the second moment within the target period. The third indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is failed.
[0129] Please see Figure 6B , Figure 6B This is a schematic diagram of a response message provided in an embodiment of this application. Wherein, as... Figure 6BAs shown, the indication information in the above response message may be special bits, phases, and threshold values carried in the header of the response message, and the special bits, phases, and threshold values carried in the header are used as rules to distinguish the transmission structure of the message corresponding to the response message.
[0130] In another implementation, the first node determines the second time period at each moment based on the broadcast frames sent by the second node.
[0131] In some embodiments, when the first node receives the second broadcast frame at the second time, it can determine that the second time period at the second time is 0. The second broadcast frame is broadcast to the first node by the second node when it detects that the interfering node has successfully sent a message through the shared channel.
[0132] For example, in Figure 3 In the network architecture shown, the second node is an Access Point (AP), and the other nodes are all Stations (STAs). When the second node receives a successful response from an interfering node, it generates a second broadcast frame and broadcasts this second broadcast frame to every STA in the network. It is understood that each STA in the network can execute the channel access method provided in this embodiment. Therefore, each STA can use the second broadcast frame broadcast by the second node to determine the second time period at each moment. This method effectively utilizes the data acquired by the second node and improves the speed at which each node in the network acquires network status information, thereby shortening the time for each node to decide on channel access and improving the communication speed of the network.
[0133] Preferably, the second broadcast frame includes a first time point, which is the moment when the second node detects that the interfering node has successfully sent a message through the shared channel.
[0134] In some embodiments, the first node can determine the second time period based on the second time point in the second broadcast frame. Specifically, the first node can determine the second time period as the time interval between the time when the previous second time period was cleared and the second time. When the first time interval is less than the second time interval, the first node determines the second time period of the second time to be 0. Understandably, this method can solve the problem of the first node receiving a second broadcast frame earlier than the time when the second time period was previously cleared, and thus clearing the second time period again, in the event of packet loss or delay in the second broadcast frame.
[0135] It should be noted that the first node can also obtain the second time period at any given moment through other means, which is not limited here.
[0136] S102. The first node inputs the network state information at each time step into the target neural network to obtain the prediction result, which includes the first prediction value and the second prediction value.
[0137] Specifically, the first node can input the first time period and the second time period of each moment within the target period into the target neural network model to obtain a first predicted value and a second predicted value. The first predicted value indicates the probability that the first node successfully sends a message to the second node through the shared channel at the first moment, and the second predicted value indicates the probability that the first node fails to send a message to the second node through the shared channel at the first moment.
[0138] In some embodiments, the target neural network described above can be trained using network state information at each moment in the sample period as input and the result of sending a message at the sample moment as the label. The sample period is a time period of a preset duration preceding the sample moment, including the sample moment itself. The network state information at each moment in the sample period includes a first time period and a second time period for each moment.
[0139] It should be noted that the target neural network can be a deep neural network (DNN), a gated recurrent unit (GRU), or a long short-term memory network (LSTM), etc.
[0140] Please see Figure 7 , Figure 7 This is a schematic diagram of a target neural network provided in an embodiment of this application. Wherein, x represents the network state at each time step, such as... Figure 7 As shown, the target period has T time points. The first node inputs the network state at each of the T time points into the target neural network, x t If the network state information is represented at the first moment, then the output at the first moment is y. t .
[0141] The first node can be trained using the loss function shown below:
[0142] Loss function: Where, r t This represents the return value at the first moment, γ represents the discount factor, and e t =(s t ,a t ,r t ,s t+1 ) represents experience, E represents the experience pool, and N represents the experience pool. E The experience e in the experience pool t The quantity, Q(s) t+1 ,a′ ;θ - ) represents the output of the target neural network, θ - Let Q(s) be the parameters of the target neural network. t ,a t ;θ) represents the output of the target neural network, where θ is the parameter of the target neural network.
[0143] Understandably, the training objective is to minimize the loss function, and the training process can utilize mini-batch gradient descent to update the parameters of the target neural network. After every C training iterations, the aforementioned parameters are assigned to the target neural network; for example, C can be 100. During each training iteration, an optimization parameter h is generated, which is as follows... Figure 7 As shown, with input x t-T+1 h will be generated during training. t-1 In the next training session, h will be... t-1 and x t-T+1 Use it as input for training to obtain h t .
[0144] It should be noted that other loss functions may also be used in the embodiments of this application, and no limitation is made here.
[0145] S103. When the first predicted value is greater than the second predicted value, the first node sends the message to be sent to the second node through the shared channel.
[0146] Specifically, after obtaining the first predicted value and the second predicted value, the first node can compare the size of the first predicted value and the second predicted value. When the first predicted value is greater than the second predicted value, the first node sends the message to be sent to the second node through the shared channel; when the first predicted value is less than the second predicted value, the first node does not send the message to be sent to the second node through the shared channel.
[0147] In some embodiments, the first node can determine whether to send the message to be sent to the second node based on the function value of the send / not send state-action value function obtained in S202. Specifically, if Q(s t ,0)>Q(s t If ,1), then the first node sends the message to be sent to the second node; otherwise, the first node does not send the message to be sent to the second node.
[0148] Please refer to Figure 8 , Figure 8 A flowchart illustrating another channel access method provided in this application embodiment. This method can be applied to the above-described method. Figure 2 or Figure 3 In a channel access network, the method may include some or all of the following steps.
[0149] S201. The first node acquires network status information for each moment within the target period. The target period is a preset time period including the first moment and preceding the first moment. The network status information includes the busy / idle status of the shared channel monitored by the first node, the first time period, the second time period, and the total number of interfering nodes.
[0150] Specifically, the first node acquires network status information for each moment within the target period. The target period is a preset time interval including the first moment. The network status information includes the busy / idle status of the shared channel monitored by the first node, the first time interval, the second time interval, and the total number of interfering nodes. The first time interval of the second moment indicates the time interval between the first node's most recent successful message transmission via the shared channel before the second moment and the second moment itself. The second time interval of the second moment indicates the time interval between the interfering node's most recent successful message transmission via the shared channel before the second moment and the second moment itself. Interfering nodes are nodes other than the first node that the second node monitors as transmitting messages via the shared channel. The second moment can be any moment within the target period.
[0151] Specifically, step S201 includes some or all of the following steps:
[0152] S2011, The first node obtains the busy / idle status of the shared channel at each moment within the target period.
[0153] Specifically, the first node can obtain the busy / idle status of the shared channel at each moment of the target period through a carrier sensing mechanism. When the first node detects that other nodes are using the shared channel to transmit messages, it can determine that the shared channel is busy at that moment; when the first node detects that no other nodes are using the shared channel to transmit messages, it can determine that the shared channel is idle at that moment. Furthermore, the first node can record the busy / idle status of the shared channel according to preset rules.
[0154] The method by which the first node obtains the busy / idle status of the shared channel is not specified here.
[0155] S2012, The first node obtains the total number of interfering nodes at each moment within the target period.
[0156] Specifically, the second node can obtain the total number of interfering nodes at each time. When the total number of interfering nodes is obtained, a broadcast frame containing the total number of interfering nodes is generated and broadcast to the first node. Accordingly, the first node can parse the number of interfering nodes at each time from the broadcast frame.
[0157] For example, at the second time point, the first node receives a first broadcast frame broadcast by the second node, which includes the total number of interfering nodes; the first node determines the total number of interfering nodes at the second time point from the total number of interfering nodes parsed from the first broadcast frame.
[0158] Please see Figure 9A , Figure 9A This is a schematic diagram of an information unit of a broadcast frame provided in an embodiment of this application. Figure 9A As shown, the information unit may include an element ID, a length, an element ID extension, and a number of interfering STAs.
[0159] In some embodiments, the network architecture can be Figure 3 As shown, the second node is the AP, and the first node and the interfering nodes are STAs associated with the AP. Specifically, when the second node obtains the total number of interfering nodes, it can broadcast this total number of interfering nodes to every STA in the same network architecture via a beacon. Correspondingly, each of the aforementioned STAs (including the first node) can receive the broadcast frame and parse the total number of interfering nodes from the broadcast frame.
[0160] In other embodiments, the second node is a STA, and the second node can broadcast the total number of interfering nodes to the first node via a probe request frame.
[0161] Please see Figure 9B , Figure 9B This is a schematic diagram of another information unit of a broadcast frame provided in an embodiment of this application. For example... Figure 9B As shown, the total number of interfering nodes can be stored in the A-control subfield of the HT control field. Specifically, the diagram includes a control list and padding. A control list contains multiple controls, and each control can include a control identifier (control ID) and control information. The number of interfering STAs can be stored in the aforementioned control information.
[0162] The details of the first time period and the second time period obtained by the first node at each moment can be found in the relevant content of step S101, and will not be repeated here.
[0163] S202. The first node inputs the network state information at each time step into the target neural network to obtain the prediction result, which includes the first prediction value and the second prediction value.
[0164] Specifically, the first node can input the busy / idle status of the shared channel, the first time period, the second time period, and the total number of interfering nodes monitored by the first node at each moment within the target period into the target neural network model to obtain a first predicted value and a second predicted value. The first predicted value indicates the probability that the first node successfully sends a message to the second node through the shared channel at the first moment, and the second predicted value indicates the probability that the first node fails to send a message to the second node through the shared channel at the first moment.
[0165] In some embodiments, the target neural network described above can be trained using network state information at each moment in the sample period as input and the result of sending a message at the sample moment as a label. The sample period is a time period of a preset duration preceding the sample moment, including the sample moment itself. The network state information at each moment in the sample period includes the busy / idle status of the shared channel monitored by the first node at each moment, the first time period, the second time period, and the total number of interfering nodes.
[0166] Please see Figure 7 , Figure 7 This is a schematic diagram of a target neural network provided in an embodiment of this application. Wherein, x represents the network state at each time step, such as... Figure 7 As shown, the target period has T time points. The first node inputs the network state information of the T time points into the target neural network, and can obtain the output y of the first time point. t .
[0167] The network status information at the first moment is as follows: Among them, o t-1 This indicates the carrier sensing result at the previous moment. Indicates the first time period of the first moment. This represents the second time period after the first moment, and N represents the number of interfering nodes at the first moment.
[0168] After the first node inputs the network state information at each time step of the target period into the target neural network, it can obtain the prediction result, which is: y t =[Q(s) t ,0),Q(s t ,1)],where, s t =(x t-T+1 ,x t-T+2 ,…,x t Q(s) t,0) and Q(s t ,1) represent the state-action value function for sending and not sending, respectively, where Q(s t Q(s) is the first predicted value at the first moment, where 0) represents the first predicted value. t ,1) is the second predicted value at the first moment.
[0169] S203. When the first predicted value is greater than the second predicted value, the first node sends the message to be sent to the second node through the shared channel.
[0170] Specifically, after obtaining the first predicted value and the second predicted value, the first node can compare the size of the first predicted value and the second predicted value. When the first predicted value is greater than the second predicted value, the first node sends the message to be sent to the second node through the shared channel; when the first predicted value is less than the second predicted value, the first node does not send the message to be sent to the second node through the shared channel.
[0171] In some embodiments, the first node can determine whether to send the message to be sent to the second node based on the function value of the send / not send state-action value function obtained in S202. Specifically, if Q(s t ,0)>Q(s t If , 1), then the first node sends the message to be sent to the second node; otherwise, the first node does not send the message to be sent to the second node.
[0172] In some embodiments, after steps S103 and S203, the channel access method further includes some or all of the following steps:
[0173] S301. After the first node sends the message to be sent to the second node through the shared channel, it obtains the sending result of the message to be sent.
[0174] Specifically, after sending a message to be sent to the second node via the shared channel, the first node can wait for a response and then determine the sending result of the message based on the response. For example, if a response indicating success is received, the sending result of the message is determined to be successful; if a response indicating failure is received, the sending result of the message is determined to be unsuccessful.
[0175] S302, The first node updates the target neural network with the network state information of the target period as input and the sending result of the message to be sent as the label.
[0176] Specifically, the first node can update the target neural network based on the loss, which includes the error between the prediction result and the transmission result of the message to be sent. The first node can obtain the loss based on the transmission result of the message to be sent and the prediction result of the target neural network, and then update the target neural network based on this loss.
[0177] The loss may also include the reward value at the first moment, which is determined based on the transmission result of the message to be sent and the busy / idle status of the shared channel monitored by the first node at the first moment. Specifically, the calculation process for the reward value can be found in the following example.
[0178] The first node can be trained using the loss function shown below:
[0179] Loss function: Where, r t This represents the return value at the first moment, γ represents the discount factor, and e t =(s t a t ,rt,s t+1 ) represents experience, E represents the experience pool, and N represents the experience pool. E The experience e in the experience pool t The quantity, Q(s) t+1 , a′; θ - ) represents the output of the target neural network, θ - Let Q(s) be the parameters of the target neural network. t a t ;θ) represents the output of the target neural network, where θ is the parameter of the target neural network.
[0180] It should be noted that other loss functions may also be used in the embodiments of this application, and no limitation is made here.
[0181] The following describes a method for calculating return value provided by an embodiment of this application.
[0182] In some embodiments, the decision result is that the first node sends a message to the second node at a first moment. Then, the first node can determine the reward value at the first moment based on the result of sending the message.
[0183] Specifically, when the transmission result of the message to be sent is successful, the first node can determine that the above-mentioned reward value is the ratio of the first time period to the second time period; when the transmission result of the message to be sent is unsuccessful, the above-mentioned reward value can be determined as the negative of the total number of interfering nodes at the first moment.
[0184] In other embodiments, the decision is that the first node does not send a message to the second node at the first moment. The first node can then monitor the busy / idle status of the shared channel at the first moment to determine the reward value at that moment.
[0185] Specifically, when the first node detects a response message indicating successful transmission on the shared channel at the first moment, it determines the above-mentioned reward value to be the ratio of the second time period of the first moment to the first time period of the first moment; when the first node detects a response message indicating failed transmission on the shared channel at the first moment, it determines the above-mentioned reward value to be M, where M is a positive number, for example, N can be 1; when the first node detects no response message on the shared channel at the first moment, it determines the above-mentioned reward value to be 0.
[0186] To facilitate the better implementation of the above-described solutions in the embodiments of this application, corresponding devices for assisting in the implementation of the above-described solutions are also provided below.
[0187] See Figure 10 , Figure 10 This is a schematic diagram of the structure of a channel access device 400 provided in an embodiment of this application. Wherein:
[0188] The acquisition unit 410 is used to acquire network status information at each moment within a target period, wherein the target period is a time period of a preset duration prior to the first moment, including the first moment; the network status information includes a first time period and a second time period, wherein the first time period of the second moment is used to indicate the time interval between the time when the first node last successfully sent a message through the shared channel before the second moment and the second moment, and the second time period of the second moment is used to indicate the time interval between the time when an interfering node last successfully sent a message through the shared channel before the second moment and the second moment; the interfering node is a node other than the first node that the second node detects sending messages through the shared channel; the second moment is any moment within the target period.
[0189] The prediction unit 420 is used to input the network state information at each time moment into the target neural network to obtain a prediction result. The prediction result includes a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node successfully sends a message to the second node through the shared channel at the first time moment. The second prediction value is used to indicate the probability that the first node fails to send a message to the second node through the shared channel at the first time moment.
[0190] Decision unit 430 is used to send a message to be sent from the first node to the second node through the shared channel when the first predicted value is greater than the second predicted value.
[0191] In one embodiment, the acquisition unit 410 is further configured to acquire the busy / idle status of the shared channel and the total number of interfering nodes as monitored by the first node.
[0192] In one embodiment, the acquisition unit 410 is specifically used to acquire the second time period at the second moment, wherein:
[0193] When the first node detects the response information at the second time according to the first indication information, it determines that the second time period at the second time is 0. The second time is the time after the first node detects the first message for a first duration. The header of the first message includes the first indication information, which is used to instruct the node that receives the first message to send the response information after the first duration.
[0194] In one embodiment, the acquisition unit 410 is specifically used to acquire the second time period at the second moment, wherein:
[0195] When the first node detects a response message including the second indication information at the second time, it determines that the second time period at the second time is 0. The second indication information is used to indicate that the message corresponding to the response message including the second indication information was successfully sent.
[0196] When the first node detects a response message including the third indication information at the second moment, it determines that the second time period of the second moment is the sum of the second time period of the previous moment within the target period and the first time interval, where the first time interval is the time interval between the previous moment and the second moment, and the third indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is a failure.
[0197] In one embodiment, the acquisition unit 410 is specifically used to acquire the total number of interfering nodes at the second time moment, wherein:
[0198] At the second time point, the first node receives the first broadcast frame broadcast by the second node;
[0199] The first node determines the total number of interfering nodes parsed from the first broadcast frame as the total number of interfering nodes at the second time.
[0200] In one embodiment, the acquisition unit 410 is specifically used to acquire the second time period at the second moment, wherein:
[0201] When the first node receives the second broadcast frame at the second time, it determines that the second time period of the second time is 0. The second broadcast frame is broadcast to the first node by the second node when it detects that the interfering node has successfully sent a message through the shared channel.
[0202] In one embodiment, the second broadcast frame includes a first time point, which is the moment when the second node detects that the interfering node has successfully sent a message through the shared channel.
[0203] In one embodiment, the acquisition unit 410 is specifically used to perform:
[0204] The first node determines the time interval between the first time point and the second time point as the first time interval;
[0205] The time interval between the moment when the previous second time interval was cleared and the second moment is defined as the second time interval;
[0206] When the first time interval is less than the second time interval, the second time period at the second moment is determined to be 0.
[0207] In one embodiment, the channel access device further includes a training unit 440, which is configured to perform:
[0208] The first node obtains the sending result of the message to be sent;
[0209] The first node updates the target neural network using the network state information at each moment of the target period as input and the sending result of the message to be sent as a label.
[0210] In one embodiment, the channel access device further includes a training unit 440, which is specifically configured to perform: updating the target neural network according to a loss, the loss including the error between the prediction result and the transmission result of the message to be sent.
[0211] In one embodiment, the loss also includes the reward value at the first moment, which is determined based on the prediction result and the busy / idle status of the shared channel detected by the first node at the first moment.
[0212] In one embodiment, the channel access device further includes a training unit 440, which is further configured to perform:
[0213] When the transmission result of the message to be sent is successful, the reward value is determined to be the ratio of the first time period to the second time period;
[0214] When the transmission of the message to be sent fails, the reward value is determined to be the negative of the total number of interfering nodes at the first moment.
[0215] In one embodiment, the channel access device further includes a training unit 440, which is further configured to perform:
[0216] When the first predicted value is less than the second predicted value, the first node listens to the shared channel at the first moment;
[0217] When the first node detects a response message indicating successful message transmission on the shared channel at the first moment, it determines that the reward value is the ratio of the second time period at the first moment to the first time period at the first moment.
[0218] When the first node detects a response message indicating message transmission failure on the shared channel at the first moment, it determines that the reward value is M, where M is a positive number;
[0219] When the first node detects that there is no response information on the shared channel at the first moment, it determines that the reward value is 0.
[0220] It is understood that device 400 can be a device on the access point (AP) side, or a chip within the access point (AP), to support the access point (AP) in implementing the corresponding functions in the method; device 400 can also be a device on the site (STA) side, or a chip within the site (STA), to support the STA in implementing the corresponding functions in the method.
[0221] See Figure 11 , Figure 11 Another channel access device 500 is provided in the embodiments of this application. The channel access device 500 includes at least a processor 510, a memory 520, and a transceiver 530, which are interconnected via a bus 540.
[0222] The memory 520 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), or erasable programmable read-only memory (EPROM or flash memory), which is used to store related instructions and data.
[0223] The transceiver 530 may include a receiver and a transmitter, such as a wireless radio frequency module. The processor 510 described below receives or sends a message, which can be understood as the processor 510 receiving or sending through the transceiver 530.
[0224] Processor 510 can be one or more central processing units (CPUs). If processor 510 is a CPU, the CPU can be a single-core CPU or a multi-core CPU.
[0225] The processor 510 in the channel access device 500 is used to read the program code stored in the memory 520 and perform the following operations:
[0226] The first node acquires network status information at each moment within the target period, where the target period is a preset time interval including the first moment. The network status information includes a first time interval and a second time interval. The first time interval of the second moment indicates the time interval between the first node's most recent successful packet transmission via the shared channel before the second moment and the second moment. The second time interval of the second moment indicates the time interval between the interfering node's most recent successful packet transmission via the shared channel before the second moment and the second moment. The interfering node is any node other than the first node that the second node detects transmitting packets via the shared channel. The second moment is any moment within the target period.
[0227] The first node inputs the network state information at each time moment into the target neural network to obtain a prediction result. The prediction result includes a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node successfully sends a message to the second node through the shared channel at the first time moment. The second prediction value is used to indicate the probability that the first node fails to send a message to the second node through the shared channel at the first time moment.
[0228] When the first predicted value is greater than the second predicted value, the first node sends a message to be sent to the second node through the shared channel.
[0229] In one possible implementation, the network status information also includes the busy / idle status of the shared channel monitored by the first node and the total number of interfering nodes.
[0230] In one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the second time period at the second moment;
[0231] The process of obtaining the second time period at the second moment includes:
[0232] When the first node detects the response information at the second time according to the first indication information, it determines that the second time period at the second time is 0. The second time is the time after the first node detects the first message for a first duration. The header of the first message includes the first indication information, which is used to instruct the node that receives the first message to send the response information after the first duration.
[0233] In one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the second time period at the second moment;
[0234] The process of obtaining the second time period at the second moment includes:
[0235] When the first node detects a response message including the second indication information at the second time, it determines that the second time period at the second time is 0. The second indication information is used to indicate that the message corresponding to the response message including the second indication information was successfully sent.
[0236] When the first node detects a response message including the third indication information at the second moment, it determines that the second time period of the second moment is the sum of the second time period of the previous moment within the target period and the first time interval, where the first time interval is the time interval between the previous moment and the second moment, and the third indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is a failure.
[0237] In one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the total number of interfering nodes at the second moment;
[0238] Obtain the total number of interfering nodes at the second time point, including:
[0239] At the second moment, the first node receives the first broadcast frame broadcast by the second node;
[0240] The first node determines the total number of interfering nodes parsed from the first broadcast frame as the total number of interfering nodes at the second time.
[0241] In one possible implementation, the first node obtains network state information at each moment within the target period, including: obtaining the second time period at the second moment;
[0242] The process of obtaining the second time period at the second moment includes:
[0243] When the first node receives the second broadcast frame at the second time, it determines that the second time period of the second time is 0. The second broadcast frame is broadcast to the first node by the second node when it detects that the interfering node has successfully sent a message through the shared channel.
[0244] In one possible implementation, the second broadcast frame includes a first time point, which is the moment when the second node detects that the interfering node has successfully sent a message through the shared channel.
[0245] In one possible implementation, when the first node receives the second broadcast frame at the second time moment, determining that the second time period at the second time moment is 0 includes:
[0246] The first node determines the time interval between the first time point and the second time point as the first time interval;
[0247] The time interval between the moment when the previous second time interval was cleared and the second moment is defined as the second time interval;
[0248] When the first time interval is less than the second time interval, the second time period at the second moment is determined to be 0.
[0249] In one possible implementation, after the first node sends the message to be sent to the second node through the shared channel, the method further includes:
[0250] The first node obtains the sending result of the message to be sent;
[0251] The first node updates the target neural network using the network state information at each moment of the target period as input and the sending result of the message to be sent as a label.
[0252] In one possible implementation, the first node updates the target neural network using the network state information of the target period as input and the sending result of the message to be sent as a label, including:
[0253] The target neural network is updated based on a loss, which includes the error between the prediction result and the transmission result of the message to be sent.
[0254] In one possible implementation, the loss also includes a reward value at the first moment, which is determined based on the prediction result and the busy / idle status of the shared channel detected by the first node at the first moment.
[0255] In one possible implementation, when the transmission result of the message to be sent is successful, the reward value is determined to be the ratio of the first time period to the second time period;
[0256] When the transmission of the message to be sent fails, the reward value is determined to be the negative of the total number of interfering nodes at the first moment.
[0257] In one possible implementation, when the first predicted value is less than the second predicted value, the first node listens to the shared channel at the first moment.
[0258] When the first node detects a response message indicating successful message transmission on the shared channel at the first moment, it determines that the reward value is the ratio of the second time period at the first moment to the first time period at the first moment.
[0259] When the first node detects a response message indicating message transmission failure on the shared channel at the first moment, it determines that the reward value is M, where M is a positive number;
[0260] When the first node detects that there is no response information on the shared channel at the first moment, it determines that the reward value is 0.
[0261] It is understandable that device 500 can be a device on the access point (AP) side, or a chip within the access point (AP); device 500 can also be a device on the site (STA) side, or a chip within the site (STA).
[0262] This application also provides a computer-readable storage medium storing instructions that, when executed on a computer or processor, cause the computer or processor to perform one or more steps in the channel access method of any of the aforementioned physical layer protocol data units. If the constituent modules of the above-described apparatus are implemented as software functional units and sold or used as independent products, they can be stored in the computer-readable storage medium.
[0263] The aforementioned computer-readable storage medium can be an internal storage unit of the channel access device described in any of the foregoing embodiments, such as a hard disk or memory of the channel access device. The aforementioned computer-readable storage medium can also be an external storage device of the channel access device, such as a plug-in hard disk, SmartMedia Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the channel access device. Furthermore, the aforementioned computer-readable storage medium may include both internal storage units and external storage devices of the channel access device. The aforementioned computer-readable storage medium is used to store the aforementioned computer program and other programs and data required by the channel access device. The aforementioned computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0264] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0265] The steps in the method of this application embodiment can be adjusted, combined, or deleted according to actual needs.
[0266] The modules in the device of this application embodiment can be merged, divided, and deleted according to actual needs.
[0267] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A channel access method, comprising: The method includes: The first node acquires network status information at T time points within a target period, where the target period is a preset time interval including the first time point. The network status information includes a first time interval and a second time interval. The first time interval of the second time point indicates the time interval between the first node's most recent successful packet transmission via the shared channel before the second time point and the second time point itself. The second time interval of the second time point indicates the time interval between the interfering node's most recent successful packet transmission via the shared channel before the second time point and the second time point itself. The interfering node is any node other than the first node that the second node detects transmitting packets via the shared channel. The second time point is any time point within the target period. The target period includes the T time points. The first node inputs the network state information at the T time points into the target neural network to obtain prediction results. The prediction results include a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node successfully sends a message to the second node through the shared channel at the first time point, and the second prediction value is used to indicate the probability that the first node fails to send a message to the second node through the shared channel at the first time point. When the first predicted value is greater than the second predicted value, the first node sends a message to be sent to the second node through the shared channel.
2. The method of claim 1, wherein, The network status information also includes the busy / idle status of the shared channel as monitored by the first node and the total number of interfering nodes.
3. The method according to claim 1 or 2, characterized in that, The first node acquires network status information at T time points within the target period, including: acquiring the second time period at the second time point; The process of obtaining the second time period at the second moment includes: When the first node detects the response information at the second time according to the first indication information, it determines that the second time period at the second time is 0. The second time is the time after the first node detects the first message for a first duration. The header of the first message includes the first indication information, which is used to instruct the node that receives the first message to send the response information after the first duration.
4. The method according to claim 1 or 2, characterized in that, The first node acquires network status information at T time points within the target period, including: acquiring the second time period at the second time point; The process of obtaining the second time period at the second moment includes: When the first node detects a response message including the second indication information at the second time, it determines that the second time period at the second time is 0. The second indication information is used to indicate that the message corresponding to the response message including the second indication information was successfully sent. When the first node detects a response message including the third indication information at the second moment, it determines that the second time period of the second moment is the sum of the second time period of the previous moment within the target period and the first time interval, where the first time interval is the time interval between the previous moment and the second moment, and the third indication information is used to indicate that the transmission result of the message corresponding to the response message including the second indication information is a failure.
5. The method according to claim 1 or 2, characterized in that, The first node obtains network status information at T time points within the target period, including: obtaining the total number of interfering nodes at the second time point; Obtain the total number of interfering nodes at the second time point, including: At the second moment, the first node receives the first broadcast frame broadcast by the second node; The first node determines the total number of interfering nodes parsed from the first broadcast frame as the total number of interfering nodes at the second time.
6. The method according to claim 1 or 2, characterized in that, The first node acquires network status information at T time points within the target period, including: acquiring the second time period at the second time point; The process of obtaining the second time period at the second moment includes: When the first node receives the second broadcast frame at the second time, it determines that the second time period of the second time is 0. The second broadcast frame is broadcast to the first node by the second node when it detects that the interfering node has successfully sent a message through the shared channel.
7. The method according to claim 6, characterized in that, The second broadcast frame includes a first time point, which is the moment when the second node detects that the interfering node successfully sends a message through the shared channel.
8. The method according to claim 7, characterized in that, When the first node receives the second broadcast frame at the second time, it determines that the second time period at the second time is 0, including: The first node determines the time interval between the first time point and the second time point as the first time interval; The time interval between the moment when the previous second time interval was cleared and the second moment is defined as the second time interval; When the first time interval is less than the second time interval, the second time period at the second moment is determined to be 0.
9. The method according to claim 1 or 2, characterized in that, After the first node sends the message to be sent to the second node through the shared channel, the method further includes: The first node obtains the sending result of the message to be sent; The first node updates the target neural network with the network state information at T time points of the target period as input and with the sending result of the message to be sent as a label.
10. The method according to claim 9, characterized in that, The first node updates the target neural network using the network state information of the target period as input and the sending result of the message to be sent as a label, including: The target neural network is updated based on a loss, which includes the error between the prediction result and the transmission result of the message to be sent.
11. The method according to claim 10, characterized in that, The loss also includes the reward value at the first moment, which is determined based on the prediction result and the busy / idle status of the shared channel detected by the first node at the first moment.
12. The method according to claim 11, characterized in that, The method further includes: When the transmission result of the message to be sent is successful, the reward value is determined to be the ratio of the first time period to the second time period; When the transmission of the message to be sent fails, the reward value is determined to be the negative of the total number of interfering nodes at the first moment.
13. The method according to claim 1 or 2, characterized in that, The method further includes: When the first predicted value is less than the second predicted value, the first node listens to the shared channel at the first moment; When the first node detects a response message indicating successful message transmission on the shared channel at the first moment, it determines the reward value to be the ratio of the second time period at the first moment to the first time period at the first moment. When the first node detects a response message indicating message transmission failure on the shared channel at the first moment, it determines that the reward value is M, where M is a positive number; When the first node detects that there is no response information on the shared channel at the first moment, it determines that the reward value is 0.
14. A channel access device, characterized in that, Applied to the first node, including: The acquisition unit is used to acquire network status information at T time points within a target period, wherein the target period is a time period of a preset duration prior to the first time point, including the first time point; the network status information includes a first time period and a second time period, wherein the first time period of the second time point is used to indicate the time interval between the time when the first node last successfully sent a message through the shared channel before the second time point and the second time point, and the second time period of the second time point is used to indicate the time interval between the time when an interfering node last successfully sent a message through the shared channel before the second time point and the second time point; the interfering node is a node other than the first node that the second node detects sending messages through the shared channel; the second time point is any time point within the target period; the target period includes the T time points. The prediction unit is used to input the network state information at the T time points into the target neural network to obtain prediction results. The prediction results include a first prediction value and a second prediction value. The first prediction value is used to indicate the probability that the first node successfully sends a message to the second node through the shared channel at the first time point, and the second prediction value is used to indicate the probability that the first node fails to send a message to the second node through the shared channel at the first time point. The decision unit is configured to send a message to be sent from the first node to the second node through the shared channel when the first predicted value is greater than the second predicted value.
15. A channel access device, characterized in that, The device includes a processor, a memory, an input interface, and an output interface. The input interface is used to receive information from other channel access devices besides the channel access device. The output interface is used to output information to other channel access devices besides the channel access device. The processor calls a computer program stored in the memory to implement the method as described in any one of claims 1-13.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or computer instructions that, when executed, implement the method as described in any one of claims 1-13.