A data transmission method and apparatus

By allowing devices to dynamically send data frames within the discovery window of a Wi-Fi network, the problem of low resource utilization is solved, and more efficient data transmission performance is achieved.

CN115988424BActive Publication Date: 2026-02-03HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111187778.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-12
Publication Date
2026-02-03
Estimated Expiration
2041-10-12

AI Technical Summary

Technical Problem

The existing Wi-Fi network resource allocation method is fixed, resulting in low resource utilization and low data transmission performance.

Method used

In a neighbor-aware network, devices are allowed to send data frames within a discovery window, dynamically adjust resource usage, and flexibly schedule data frame transmission by detecting network conditions and user commands.

Benefits of technology

It improved the utilization rate of time domain resources, reduced service latency, and enhanced data transmission performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115988424B_ABST
    Figure CN115988424B_ABST
Patent Text Reader

Abstract

The application discloses a data transmission method and device, relates to the technical field of terminals, and can improve data transmission performance in a neighbor-aware network. The method can be applied to a first electronic device. The first electronic device is added to a first cluster. A network where the first cluster is located is a first network. The method comprises the following steps: determining that a data frame to be transmitted exists in a discovery window, and transmitting the data frame in the discovery window.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a data transmission method and apparatus. Background Technology

[0002] Due to its lower cost and faster speed, Wi-Fi has become the preferred method for many users to access the internet. Wi-Fi internet access uses Wi-Fi devices, which can be access points (APs), stations (STAs), or other devices that include Wi-Fi chips.

[0003] Wi-Fi networks can include neighbor awareness networking (NAN). NAN allocates resources specifically for transmitting control information and resources specifically for transmitting data information, allowing devices to communicate using the corresponding resources. However, because existing resource allocation methods assign fixed resources to devices, resource utilization is low and data transmission performance is poor. Summary of the Invention

[0004] This application provides a data transmission method and apparatus that can improve data transmission performance in a neighbor sensing network.

[0005] To achieve the above objectives, the embodiments of this application provide the following technical solutions:

[0006] Firstly, a data transmission method is provided, applied to a first electronic device or a component (such as a chip system) capable of implementing the functions of the first electronic device. The first electronic device joins a first cluster, and the network where the first cluster is located is a first network. The method includes: determining that a data frame to be sent exists within a discovery window, and sending the data frame within the discovery window. It is evident that devices within the cluster (such as the first electronic device) can not only interact and manage frames within the discovery window, but also interact with data frames according to business needs within the discovery window. In this way, on the one hand, idle time-domain resources within the discovery window can be utilized to transmit data frames, thereby improving the utilization rate of time-domain resources and avoiding the waste of idle time-domain resources. On the other hand, since data frames are no longer limited to being transmitted only after the discovery window ends, the transmission timing of data frames can be advanced to within the discovery window, thus reducing service latency. In summary, the technical solution of this application embodiment can comprehensively improve data transmission performance.

[0007] In one possible design, before sending a data frame within the discovery window, the method further includes: determining whether a first condition allowing the first electronic device to send a data frame within the discovery window is met;

[0008] Sending a data frame within the discovery window includes: if a first condition is met, then sending a data frame within the discovery window.

[0009] This scheme allows for dynamic adjustment of whether data frames can be sent within the discovery window based on a first condition, enabling data frames to be sent within the discovery window under suitable conditions.

[0010] In one possible design, before sending a data frame within the discovery window, the method further includes: receiving first indication information from a second electronic device, the first indication information indicating permission to send a data frame within the discovery window; the second electronic device is a master device;

[0011] Sending a data frame within the discovery window includes: sending a data frame within the discovery window according to the first instruction information.

[0012] This scheme allows other devices in the cluster (such as a second electronic device) to dynamically instruct the first electronic device whether to allow it to send data frames within the discovery window, increasing the flexibility of data frame scheduling in WLAN.

[0013] In one possible design, determining that a data frame to be sent exists within the discovery window includes: detecting that a data frame to be sent already exists within the time period corresponding to the discovery window, or detecting that a new data frame to be sent has arrived within the time period corresponding to the discovery window.

[0014] In one possible design, before sending the data frame within the discovery window, the method further includes: receiving a first instruction input by a user, the first instruction being used to instruct the activation of a first function, the first function being a function to improve data transmission performance.

[0015] In one possible design, before sending the data frame within the discovery window, the method further includes: detecting that a preset scenario is in progress and activating a first function; the first function is a function to improve data transmission performance.

[0016] The preset scenario includes a combination of one or more of the following scenarios:

[0017] The first electronic device has a preset application running, and the data frame to be sent is a data frame of the preset application; the first electronic device has a preset function running, and the data frame to be sent is a data frame of the preset function.

[0018] In one possible design, before detecting the preset scenario, the method further includes: receiving a second instruction input by a user, the second instruction being used to set the preset application.

[0019] In one possible design, the first condition includes any one or more of the following: the channel busyness of the first network is less than a first threshold, the packet loss rate of the first electronic device is less than a second threshold, the retransmission rate of the first electronic device is less than a third threshold, the number of devices in the first cluster is less than a fifth threshold, the service priority of the first electronic device is higher than a fourth threshold, and the Received Signal Strength Indication (RSSI) of the first electronic device is higher than a sixth threshold.

[0020] The first condition is one that indicates the discovery window has idle temporal resources. In other words, the technical solution of this application embodiment allows electronic devices to send data frames using the discovery window if it is determined that the discovery window has idle temporal resources. This avoids technical problems such as data frame loss caused by discovery window congestion and fully utilizes the temporal resources of the discovery window, thus improving data transmission performance.

[0021] In one possible design, the data frames sent by the first electronic device within the discovery window satisfy one or more of the following conditions: the data volume is less than the seventh threshold, the transmission rate is less than the eighth threshold, and the number of transmissions is less than the ninth threshold.

[0022] In this method, the amount of data sent, the sending rate, and the number of times the device sends data during the discovery window can be dynamically adjusted by adjusting the values ​​of various thresholds, so that the amount of data sent, the sending rate, and the number of times the device sends data are matched with the current network conditions, thereby achieving higher data transmission performance.

[0023] In a second aspect, a data transmission method is provided, applied to a second electronic device or a component (such as a chip system) capable of realizing the function of the second electronic device, wherein the second electronic device joins a first cluster and is a master device; the network in which the first cluster is located is a first network, the method comprising: determining first indication information and sending the first indication information to the first electronic device, the first indication information being used to indicate that the first electronic device is allowed to send data frames within a discovery window.

[0024] In one possible design, determining the first indication information includes: determining the first indication information if a first condition is met that allows the first electronic device to send a data frame within a discovery window.

[0025] In one possible design, the first condition includes any one or more of the following: the channel busyness of the first network is less than a first threshold, the packet loss rate of the first electronic device is less than a second threshold, the retransmission rate of the first electronic device is less than a third threshold, the number of devices in the first cluster is less than a fifth threshold, the service priority of the first electronic device is higher than a fourth threshold, and the Received Signal Strength Indication (RSSI) of the first electronic device is higher than a sixth threshold.

[0026] Thirdly, a first electronic device is provided, which joins a first cluster, the network in which the first cluster is located is a first network, and the device includes:

[0027] The processor is used to determine whether there are data frames to be sent within the discovery window;

[0028] A transceiver is used to send data frames within the discovery window.

[0029] In one possible design, the processor is also used to determine whether a first condition is met that allows the first electronic device to send a data frame within the discovery window;

[0030] A transceiver for sending data frames within a discovery window, including: sending data frames within a discovery window if a first condition is met.

[0031] In one possible design, the transceiver is also used to receive first indication information from a second electronic device, the first indication information indicating permission to send data frames within a discovery window; the second electronic device is the master device.

[0032] A transceiver for sending data frames within a discovery window, including: sending data frames within a discovery window according to first indication information.

[0033] In one possible design, the processor is configured to determine that a data frame to be sent exists within the discovery window, including: detecting that a data frame to be sent already exists within the time period corresponding to the discovery window, or detecting that a new data frame to be sent has arrived within the time period corresponding to the discovery window.

[0034] In one possible design, the processor is further configured to receive a first instruction input by a user, the first instruction being used to instruct the activation of a first function, the first function being a function to improve data transmission performance.

[0035] In one possible design, the processor is further configured to detect that a preset scenario is in progress and activate a first function; the first function is a function to improve data transmission performance.

[0036] The preset scenario includes a combination of one or more of the following scenarios:

[0037] The first electronic device has a preset application running, and the data frame to be sent is a data frame of the preset application; the first electronic device has a preset function running, and the data frame to be sent is a data frame of the preset function.

[0038] In one possible design, the processor is further configured to receive a second instruction input by the user, the second instruction being configured to set the preset application.

[0039] In one possible design, the first condition includes any one or more of the following: the channel busyness of the first network is less than a first threshold, the packet loss rate of the first electronic device is less than a second threshold, the retransmission rate of the first electronic device is less than a third threshold, the number of devices in the first cluster is less than a fifth threshold, the service priority of the first electronic device is higher than a fourth threshold, and the Received Signal Strength Indication (RSSI) of the first electronic device is higher than a sixth threshold.

[0040] In one possible design, the data frames sent by the first electronic device within the discovery window satisfy one or more of the following conditions: the data volume is less than the seventh threshold, the transmission rate is less than the eighth threshold, and the number of transmissions is less than the ninth threshold.

[0041] Fourthly, a second electronic device is provided, which joins the first cluster and is a master device; the network where the first cluster is located is a first network, and the device includes:

[0042] Processor, used to determine the first instruction information;

[0043] A transceiver is used to send a first indication message to a first electronic device, the first indication message being used to indicate that the first electronic device is allowed to send data frames within a discovery window.

[0044] In one possible design, the processor is configured to determine the first indication information by: determining the first indication information if a first condition is satisfied that allows the first electronic device to send a data frame within a discovery window.

[0045] In one possible design, the first condition includes any one or more of the following: the channel busyness of the first network is less than a first threshold, the packet loss rate of the first electronic device is less than a second threshold, the retransmission rate of the first electronic device is less than a third threshold, the number of devices in the first cluster is less than a fifth threshold, the service priority of the first electronic device is higher than a fourth threshold, and the Received Signal Strength Indication (RSSI) of the first electronic device is higher than a sixth threshold.

[0046] Fifthly, an electronic device is provided, comprising: a processor, a memory, and a Wi-Fi module, wherein the memory and the Wi-Fi module are coupled to the processor, the memory being used to store computer program code, the computer program code including computer instructions, wherein when the processor reads the computer instructions from the memory, the electronic device performs a method as described in any of the foregoing aspects and any possible implementation thereof.

[0047] Sixthly, an apparatus is provided, included in an electronic device, having the function of implementing the behavior of the electronic device in any of the above aspects and possible implementations. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes at least one module or unit corresponding to the above function. For example, a communication module or unit, a control module or unit, etc.

[0048] A seventh aspect is to provide a computer-readable storage medium including computer instructions that, when executed on an electronic device, cause the electronic device to perform the methods described in the foregoing aspects and any possible implementation thereof.

[0049] Eighth aspect, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to perform the methods described in the foregoing aspects and any of their possible implementations.

[0050] Ninth aspect: A chip system is provided, including a processor, which, when executing instructions, performs methods as described in the foregoing aspects and any possible implementation thereof.

[0051] A tenth aspect provides a data transmission system comprising a first electronic device (or a chip system implementing the functions of the first electronic device) and a second electronic device (or a chip system implementing the functions of the second electronic device) in any possible design of any of the above aspects. Attached Figure Description

[0052] Figure 1 This is a schematic diagram of the system architecture provided in the embodiments of this application;

[0053] Figure 2A A schematic diagram of the scheduling cycle provided in the embodiments of this application;

[0054] Figure 2B Example diagram of the data transmission method provided in the embodiments of this application;

[0055] Figure 3 , Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;

[0056] Figure 5 Example diagram of the data transmission method provided in the embodiments of this application;

[0057] Figure 6A , Figure 6B , Figure 7 A schematic diagram of the interface provided in an embodiment of this application;

[0058] Figure 8 A flowchart illustrating the data transmission method provided in this application embodiment;

[0059] Figure 9 A schematic diagram of the software and hardware queues for data frames and management frames provided in the embodiments of this application;

[0060] Figure 10 Example diagram of the data transmission method provided in the embodiments of this application;

[0061] Figure 11 A schematic diagram of the frame format provided in the embodiments of this application;

[0062] Figure 12 A flowchart illustrating the data transmission method provided in this application embodiment;

[0063] Figure 13 Example diagram of the data transmission method provided in the embodiments of this application;

[0064] Figures 14-16 A flowchart illustrating the data transmission method provided in this application embodiment;

[0065] Figures 17-19 A schematic diagram of the frame format provided in the embodiments of this application;

[0066] Figures 20-23 A flowchart illustrating the data transmission method provided in this application embodiment;

[0067] Figure 24 A schematic diagram of the frame format provided in the embodiments of this application;

[0068] Figure 25 , Figure 26 A schematic diagram of the interface provided in an embodiment of this application;

[0069] Figure 27 This is a schematic diagram of the core structure of the electronic device provided in the embodiments of this application;

[0070] Figure 28 This is a schematic diagram of a chip system provided in an embodiment of this application. Detailed Implementation

[0071] like Figure 1 The diagram shown is a structural schematic of a communication system provided in an embodiment of this application. The communication system includes electronic devices 100 and 700. In this embodiment, electronic devices 100 and 700 may be devices supporting the WLAN Sensing Protocol (or NAN protocol).

[0072] Devices that support the WLAN Sensing protocol can enable WLAN Sensing. Once enabled, electronic devices can discover their neighboring devices and join the cluster where those neighboring devices reside. For example... Figure 1As shown, electronic devices 100 to 700 can form a cluster. As one possible implementation, devices within the same cluster share a set of NAN parameters. Optionally, the NAN parameters include, but are not limited to, the NAN cluster identifier (ID).

[0073] It's important to note that devices in a cluster can act as either master or non-master devices. As one possible implementation, the master device in the cluster can be determined through an election among the devices. Optionally, the device with the highest master ranking level value is chosen as the master. It's understandable that for the same device, it can be a master in some situations and a slave in others; a device's role in a cluster is not fixed. Furthermore, the master device can be either an access point or a site. Similarly, a slave device can be either an access point or a site.

[0074] Optionally, the device's main character level value is related to one or more parameters such as battery level and device type.

[0075] Typically, after the master device in the cluster is determined, it can perform a series of operations corresponding to the master device. Slave devices in the cluster then perform the corresponding operations. For example, the operations corresponding to the master device include, but are not limited to: sending beacon frames, which may carry time synchronization function (TSF) clock information. The operations corresponding to the slave device include, but are not limited to: upon receiving a beacon frame from the master device, extracting the TSF clock information, and completing time synchronization with the master device based on the TSF clock information. Optionally, the slave device can achieve time synchronization with the master device based on the TSF clock information and a locally estimated delay (e.g., the local delay received from the antenna port for final processing). Of course, the slave device can synchronize time in other ways as well, which are not limited here.

[0076] Subsequently, Figure 1 Devices outside the cluster shown can discover and join. Figure 1 The cluster shown. As one possible implementation, electronic device 800 (not in...) Figure 1 (As shown in the image) After enabling the WLAN sensing function, it can search for beacon frames. If the electronic device detects a beacon from... Figure 1 The beacon frame of the master device (e.g., an electronic device) in the cluster shown can be used by electronic device 800 to synchronize with the cluster. In this way, electronic device 800 joins the cluster. Figure 1 The cluster shown.

[0077] In the embodiments of this application, such as Figure 1 The cluster shown can also be called a domain. Devices in this cluster can include those that have established data connections with other devices, and those that have not. Typically, devices with established data connections can exchange data frames and management frames. Devices without established data connections can exchange management frames, but not data frames.

[0078] Optionally, devices that have established data connections can form an island (referred to as a data cluster in the NAN protocol). For example, such as... Figure 1 In the cluster shown, assuming electronic devices 300-700 synchronize with the same electronic device, then electronic devices 300-700 form a cluster. If device 100 and device 300 establish a data connection within the cluster, then device 100 and device 300 form an island (other devices can later join this island). If device 400 and device 500 establish data connections, and device 400 and device 600 establish data connections, then devices 400, 500, and 600 can form an island. Devices 700 and 200 do not establish data connections with other devices, and therefore are not on an island.

[0079] Typically, in the time domain, devices within the same cluster are scheduled according to the same scheduling cycle and the same discovery window. For example, Figure 2A As shown, a scheduling cycle typically includes a discovery window (DW). There are gaps (GAPs) between discovery windows of different scheduling cycles. These GAPs are used to transmit data and can be called service time slots or working time slots. In some schemes, devices within a cluster can exchange management frames (frames other than data frames are collectively referred to as management frames) within the discovery window of a scheduling cycle, and exchange data frames outside the discovery window. That is, the discovery window is typically used to exchange management frames other than data frames. Management frames include, but are not limited to, any one or more of the following frames: beacon frames and period notification frames (PNFs).

[0080] As one possible implementation, the master device can broadcast window parameters. These parameters include any two of the following: discovery window length, scheduling period, and service time slot length. After synchronizing with the master device, other devices within the cluster periodically switch to the discovery window to interact with management frames according to the window parameters. Optionally, within the discovery window of the scheduling period, devices within the cluster can interact with management frames on the same channel. Outside the discovery window of the scheduling period, devices on the same island can interact with data frames on the same channel, and devices on different islands can interact with data frames on different channels. For example, ... Figure 2B It shows Figure 1 The diagram shows the time-domain and frequency-domain locations of the management frames for each device in the cluster. Figure 1 Each device in the cluster shown can transmit management frames on the same common channel 36 within the discovery window of the scheduling period. Figure 2B It also shows Figure 1 The time-domain and frequency-domain locations of data frames from some devices in the cluster are shown. Figure 2B Therefore Figure 1 Devices 100 and 300 in island 1 shown interact with each other using channel 40. Figure 1 The following example illustrates how devices 400, 500, and 600 on island 2 interact with data frames using channel 149.

[0081] In some schemes, the time-domain and / or frequency-domain locations of data frames and management frames exchanged between devices within a cluster can be other than those listed above. For example, devices on different islands can use the same channel to exchange data frames. For instance, island 1 uses channel 10 to exchange data frames, and island 2 also uses channel 10 to exchange data frames.

[0082] In the above scheme, the fastest time to send a data frame is within the non-discovery window of the current scheduling period, still based on... Figure 2B For example, for devices within a cluster, the fastest time to send a data frame is at the end of the discovery window of the first scheduling cycle, i.e., time t1. This can potentially lead to service delays. For services with high latency, service delays will severely impact WLAN performance, thereby reducing user experience.

[0083] To improve the WLAN performance of terminals, in this embodiment, devices within the cluster can not only exchange management frames within the discovery window, but also exchange data frames according to service requirements within the discovery window. This allows for the utilization of idle time-domain resources within the discovery window to transmit data frames, thereby improving the utilization rate of time-domain resources and avoiding waste of idle WLAN time-domain resources. Furthermore, since data frame transmission is no longer limited to the end of the discovery window, the transmission timing can be advanced to within the discovery window, thus reducing service latency. In summary, the technical solution of this embodiment comprehensively improves WLAN transmission performance.

[0084] For example, the electronic device in this application may be a mobile phone, tablet computer, personal computer (PC), personal digital assistant (PDA), smartwatch, netbook, wearable electronic device, augmented reality (AR) device, virtual reality (VR) device, in-vehicle device, smart car, smart speaker, robot, etc. This application does not impose any special restrictions on the specific form of the electronic device.

[0085] The terms "first" and "second," etc., used in the specification and drawings of this application are used to distinguish different objects or to distinguish different treatments of the same object. The terms "first" and "second," etc., can distinguish identical or similar items with substantially the same function and effect. For example, "first device" and "second device" are merely to distinguish different devices and do not limit their order of execution. Those skilled in the art will understand that the terms "first" and "second," etc., do not limit the quantity or execution order, and that "first" and "second," etc., do not necessarily imply that they are different.

[0086] "At least one" means one or more.

[0087] "Multiple" refers to two or more.

[0088] "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "OR" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0089] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.

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

[0091] In the specification and drawings of this application, the terms "of", "corresponding", and "corresponding" are sometimes used interchangeably. It should be noted that when the distinction is not emphasized, they have the same meaning.

[0092] The system architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of this application and do not constitute a limitation on the technical solutions provided in this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in this application are also applicable to similar technical problems.

[0093] Taking mobile phones as an example, Figure 3A schematic diagram of the electronic device is shown. The electronic device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include pressure sensors, gyroscope sensors, barometric pressure sensors, magnetic sensors, accelerometers, distance sensors, proximity sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors (capable of detecting ambient light intensity), bone conduction sensors, etc.

[0094] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device. In other embodiments of this application, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0095] Processor 110 may include one or more processing modules, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing modules may be independent devices or integrated into one or more processors.

[0096] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.

[0097] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0098] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0099] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to a touch sensor, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to a touch sensor through the I2C interface, enabling the processor 110 and the touch sensor to communicate via the I2C bus interface, thus realizing the touch function of the electronic device.

[0100] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.

[0101] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0102] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.

[0103] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the electronic device to capture images. The processor 110 and the display screen 194 communicate via the DSI interface to enable the electronic device to display images.

[0104] The GPIO interface can be configured via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0105] USB port 130 is a USB standard compliant interface, which can be a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic devices, and can also be used for data transfer between electronic devices and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other terminals, such as AR devices.

[0106] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a limitation on the structure of the electronic device. In other embodiments, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0107] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via a USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.

[0108] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

[0109] The wireless communication function of electronic devices can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0110] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.

[0111] The mobile communication module 150 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G in electronic devices. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0112] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0113] The wireless communication module 160 can provide solutions for wireless communication applications in electronic devices, including WLAN (such as Wi-Fi), Bluetooth, GNSS, frequency modulation (FM), near-field communication (NFC), and infrared (IR). The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0114] In some embodiments of this application, the processor 110 is used to determine that there is a data frame to be sent within the discovery window, and to control the sending module (such as a WLAN module) to send the data frame to be sent within the discovery window.

[0115] In some embodiments, antenna 1 of the electronic device is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling the electronic device to communicate with networks and other devices via wireless communication technology. Wireless communication technologies may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies. GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).

[0116] Electronic devices implement display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connecting the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0117] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device may include one or N displays 194, where N is a positive integer greater than 1.

[0118] Electronic devices can achieve shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.

[0119] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.

[0120] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device may include one or N cameras 193, where N is a positive integer greater than 1.

[0121] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when an electronic device is selecting a frequency, a DSP can perform a Fourier transform on the frequency energy.

[0122] Video codecs are used to compress or decompress digital video. Electronic devices can support one or more video codecs. This allows the electronic device to play or record video in various encoded formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0123] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.

[0124] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.

[0125] Internal memory 121 can be used to store executable program code, including instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of the electronic device (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of the electronic device by running instructions stored in internal memory 121 and / or instructions stored in memory located within the processor.

[0126] Electronic devices can implement audio functions such as music playback and recording through audio modules 170, speakers 170A, receivers 170B, microphones 170C, headphone jacks 170D, and application processors.

[0127] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.

[0128] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. Electronic devices can listen to music or make hands-free calls through the speaker 170A.

[0129] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When an electronic device answers a phone call or voice message, the receiver 170B can be brought close to the ear to hear the voice.

[0130] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic devices can have at least one microphone 170C. In some embodiments, electronic devices can have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic devices can have three, four, or more microphones 170C, enabling sound signal collection, noise reduction, sound source identification, and directional recording, among other functions.

[0131] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.

[0132] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. The electronic device can receive button input and generate key signal inputs related to user settings and function control of the electronic device.

[0133] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.

[0134] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0135] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to establish contact with the electronic device. The electronic device can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, and other SIM cards. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The types of cards can be the same or different. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The electronic device interacts with the network through the SIM card to achieve functions such as calls and data communication. In some embodiments, the electronic device uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device and cannot be separated from it.

[0136] In other embodiments, the electronic device in this application can also provide wireless internet access functionality, such as a wireless router or a customer pre-installed equipment (CPE). For example, when the electronic device is a router, such as... Figure 4 As shown, the electronic device may include a processor 201, a memory 203, a communication module 202, and an antenna (not shown). Figure 4 (shown in), power module (not shown in) Figure 4 (As shown in the image). The communication module includes a Wi-Fi module and an internet access module for connecting to the internet. The Wi-Fi module can be used to establish a Wi-Fi connection with electronic devices such as mobile phones. In this way, the mobile phone can use the router's internet access module to access the internet.

[0137] For other details, please refer to the description of the relevant structures in the electronic device in section 3; they will not be repeated here.

[0138] The technical solutions involved in the following embodiments can all be implemented in electronic devices with the above-described hardware and software architectures.

[0139] For example, such as Figure 5 The diagram illustrates an application example of the transmission method according to an embodiment of this application. Devices within the cluster can exchange data frames not only during service time slots (i.e., gaps) but also within discovery windows. Figure 2B Compared to the transmission method shown, Figure 5 In the transmission method shown, on the one hand, it can utilize the idle time-domain resources within the discovery window to transmit data frames, thereby improving the utilization rate of WLAN time-domain resources. On the other hand, the timing of data frame transmission can be determined by the end of the discovery window (e.g., the end time of the discovery window). Figure 2B As shown in t1), it is moved to the discovery window earlier (e.g., ...). Figure 5 As shown in t2), this reduces the latency of WLAN services. Therefore, the technical solution of this application embodiment can comprehensively improve the transmission performance of WLAN.

[0140] In some embodiments of this application, the WLAN transmission performance enhancement function can be enabled by default on electronic devices. WLAN transmission performance enhancement can refer to allowing data frames to be transmitted within the discovery window during WLAN transmission.

[0141] Alternatively, in other embodiments, a switch can be provided in the electronic device, allowing the user to manually turn on or off the function provided in this application to improve the WLAN transmission performance of the electronic device. For example, as... Figure 6A (1) and Figure 6A As shown in (2), a switch control 501 can be set in the settings page of the "Settings" application 501 for the user to turn on or off the WLAN transmission enhancement function (i.e., the first function to improve data transmission performance) provided in this application embodiment. For example, as... Figure 6B As shown in (1), in response to a user's action such as clicking on the settings application 501, the electronic device displays as shown in (1). Figure 6B The settings interface shown in (2) responds to user actions such as clicking the WLAN switch 503 in the settings interface. The electronic device displays as shown in (2). Figure 6B The WLAN settings interface shown in (3) includes a switch 504, which can be used to turn on or off the WLAN transmission performance enhancement function of this embodiment. After receiving the user's instruction to turn on switch 504 (first instruction), the WLAN transmission enhancement function can be enabled.

[0142] For example, in some embodiments, the WLAN transmission performance enhancement function can be enabled in the settings interface of different applications, such as in the settings interface of the Huawei Video application.

[0143] For example, taking video calling via MeeTime as an example, if the video call service is already enabled... Figure 6B When the switch 504 shown in (3) is in use, the mobile phone can send data frames to the other party both inside and outside the discovery window when making a call, such as sending video image data frames and audio data frames to the other party both inside and outside the discovery window, so as to improve resource utilization.

[0144] As another example, in a situation where something has already been opened, such as Figure 6B When switch 504 is shown in (3), if the first condition is met during a mobile phone call, data frames are allowed to be sent within the discovery window. For a detailed description of the first condition, please refer to the following embodiments.

[0145] Alternatively, in other embodiments, the electronic device, upon detecting a preset scenario, activates a WLAN transmission enhancement function, i.e., employs the method provided in this application embodiment to allow data frames to be sent within a discovery window, thereby improving the WLAN transmission performance of the electronic device. The preset scenario may include, but is not limited to, a single condition or a combination of the following conditions: the electronic device has a preset application running; the data frame to be sent is a data frame of the preset application; the electronic device has a preset function of the preset application running; and the data frame to be sent is a data frame of the preset function.

[0146] Optionally, the default applications are low-latency applications, such as instant messaging applications and games. These default applications can be set by the electronic device or by the user. For example, electronic devices may have WLAN transmission enhancement enabled by default for certain types of applications.

[0147] In this way, once a preset application (such as a live video streaming software) is detected to be open, the data frame of the preset application can be sent in a timely manner within the discovery window without waiting for the discovery window to close. This ensures low latency for the service and avoids the waste of time domain resources caused by waiting for the discovery window to close.

[0148] Optionally, the preset functions of the default application include, but are not limited to, low-latency service functions. Low-latency service functions include, but are not limited to, voice call functions, video call functions, screen mirroring functions, etc.

[0149] In this embodiment, after detecting a preset scenario, the first electronic device can automatically enable the WLAN transmission performance enhancement function or prompt the user to enable it. For applications that enable the WLAN transmission enhancement function, the data transmission method provided in this embodiment can be used to improve the transmission performance of the application during the transmission (e.g., sending and / or receiving) of data frames.

[0150] For example, see Figure 7 As shown in (3), the user can trigger the phone to pop up control 603 by clicking control 601. This control can be used to select how to set the corresponding WLAN transmission enhancement function when the target application is launched. If the user selects "Automatically use WLAN transmission enhancement function when the target application is launched", then after the phone detects that the target application has been launched, the technical solution of this application embodiment can be used. That is, if the target application has a data frame to be sent, the sending of the data frame can be allowed in the discovery window.

[0151] Optionally, electronic devices may also provide an entry point for setting target applications (or preset applications). (Still using...) Figure 7 For example, in (3), the mobile phone can display control 602. If the user's operation, such as clicking control 602, is detected, the mobile phone can jump to... Figure 7 Interface 604 is shown in (4). Through interface 604, the user can receive the second command input by the user and set the target application. Subsequently, the data frames of the target application can be sent within the discovery window, which can reduce the service latency of the target application.

[0152] It should be noted that the above-mentioned settings entry provided by the electronic device to the user for setting up the application to enable WLAN transmission enhancement function is only an example, and the settings entry (including but not limited to settings through the interface) may also be other.

[0153] In other embodiments, the first electronic device may automatically enable or prompt the user to enable a function that improves WLAN transmission performance after detecting an operation for enabling Wi-Fi (such as turning on a Wi-Fi switch).

[0154] This application does not limit how to specifically enable the function to improve WLAN transmission performance.

[0155] Optionally, to improve data transmission performance between different devices within the cluster, WLAN transmission enhancement functions can be enabled on multiple devices in the cluster using any of the methods described above. For example, both the master and slave devices in the cluster can have their WLAN transmission enhancement functions enabled.

[0156] Example 1

[0157] The following is a detailed description of the method for transmitting data in a WLAN provided in the embodiments of this application, such as... Figure 8 As shown, the method may include the following steps:

[0158] S101, The first electronic device determines that there is a data frame to be sent in the discovery window.

[0159] The first electronic device can be either a master device or a slave device in the first cluster; there are no restrictions here. The network in which the first cluster is located is the first network.

[0160] As one possible implementation, the first electronic device can store data generated by the upper-layer application in a storage area such as a queue, and retrieve the corresponding data from the queue and send it when needed. Taking a queue as an example of a storage frame area, optionally, in this embodiment, data frames and management frames can be stored in different queues. Optionally, the queue may include software queues and hardware queues. For example, Figure 9 An example of the queues used in embodiments of this application is shown. The first electronic device can store data frames generated by the upper-layer application in a hardware queue of data frames. In some examples, when the hardware queue is full of data frames, the first electronic device stores the data frames generated by the upper-layer application in a software queue of data frames. In some examples, when the software queue of data frames is also full, subsequently generated data frames may be discarded. Similarly, the first electronic device can also store management frames to be sent in a queue corresponding to the management frame. The queue corresponding to the management frame can also be divided into a software queue and a hardware queue. The working principles of the software queue and hardware queue of the management frame can be referred to the software queue and hardware queue of the data frame.

[0161] It should be noted that the presence of pending data frames within the discovery window can mean either that a pending data frame already exists in the data frame queue within the time period corresponding to the discovery window, or that a new pending data frame arrives in the data frame queue within the time period corresponding to the discovery window. In this case, the first electronic device can execute step S102, that is, send the pending data frame within the discovery window, in order to indicate resource utilization and reduce service latency.

[0162] S102, The first electronic device sends the data frame to be sent within the discovery window.

[0163] For example, such as Figure 10 (2) illustrates the relationship between queue scheduling and discovery window in an embodiment of this application. Wherein, Figure 10 Frame 1, Frame 2, and Frame 3 in the table refer to data frames. It can be seen that the scheduling of the data frame queue is not paused within the discovery window. Optionally, switching to the discovery window does not pause the scheduling of the software and hardware queues for data frames. That is, if there are data frames to be sent in the software or hardware queue, they can be directly scheduled for transmission within the discovery window. Figure 10In the solution shown in (1) (the prior art solution), the data frame queue is suspended from scheduling within the discovery window, and scheduling is only resumed after the discovery window ends. This prevents data frames from being sent in a timely manner within the discovery window, resulting in service latency and wasting idle resources within the discovery window. Therefore, compared to the prior art, the data transmission method of this application, by allowing data frames to be sent within the discovery window, can not only minimize service latency but also improve resource utilization, thereby achieving higher WLAN performance.

[0164] Furthermore, compared to the prior art where queue scheduling is paused at the discovery window, which is highly likely to cause queue overflow and data frames to be discarded, in this embodiment, since the data frame scheduling is not paused, it can be considered that the data frame scheduling is not interrupted. Therefore, the data frames to be sent can be taken out of the queue and sent in a timely manner, providing more storage area for the queue, thereby reducing the probability of queue overflow and reducing the data frame discarding caused by queue overflow.

[0165] For example, with Figure 1 Taking device 200 as the master device and device 200 as the first electronic device as an example, if device 200 determines that there is a data frame to be sent in the current data frame queue and that it is currently within the discovery window, it can send the data frame in a timely manner within the discovery window. This can improve resource utilization and reduce service latency. However, in the prior art, if device 200 determines that there is a data frame to be sent in the current data frame queue and that it is currently within the discovery window, device 200 must wait for the discovery window to end before it can send the data frame, resulting in lower resource utilization and higher service latency.

[0166] For another example, with Figure 1 Taking device 100 as a slave device and device 100 as the first electronic device as an example, if device 100 determines that there is a data frame to be sent in the current data frame queue, and is currently in the discovery window (e.g., ... Figure 10 Within the discovery window 1 shown in (2), a data frame to be sent can be sent within that discovery window. If device 100 determines that there is a data frame to be sent in the current data frame queue, and it is currently outside the discovery window (e.g., ...), ... Figure 10 If (2) is shown in GAP1, then the data frame to be sent can be sent within GAP1. That is to say, if the device determines that there is a data frame to be sent in the data frame queue, it can directly send the data frame to be sent according to the preset strategy, without having to determine whether to allow sending the data frame based on whether it is currently in the discovery window.

[0167] Optionally, data frames and management frames can be distinguished by the 2-bit Type field in the Wi-Fi MAC frame format. Optionally, 10 represents a data frame, 00 represents a management frame, 01 represents a control frame, and 11 represents an extension frame. Management frames, control frames, and extension frames can be collectively referred to as management frames. Figure 11 An exemplary MAC frame format is shown. The type field in the bold box can be used to distinguish between data frames and management frames. It is understood that this is merely an example of how to distinguish between data frames and management frames; in actual implementation, other arbitrary bit fields from other frame formats can also be used. Due to space limitations, this application embodiment will not exhaustively list all possible cases.

[0168] Example 2

[0169] This application also provides a data transmission method. Figure 12 An exemplary process of Embodiment 2 is shown. For example... Figure 12 As shown, before step S102 in Embodiment 1, step S201 can be executed to determine whether sending data frames in the discovery window is allowed. If sending data frames in the discovery window is allowed, the first electronic device executes step S102. If sending data frames in the discovery window is not allowed (prohibited), the first electronic device executes step S202 to send data frames after the discovery window ends.

[0170] Optionally, the first electronic device's determination of whether to allow sending data frames within the discovery window can be implemented as follows: the first electronic device determines whether a first condition for allowing the first electronic device to send data frames within the discovery window is met. If the first condition is met, then sending data frames within the discovery window is allowed; if the first condition is not met, then sending data frames within the discovery window is not allowed. Alternatively, the first electronic device's determination of whether to allow sending data frames within the discovery window can be implemented as follows: another electronic device (such as a second electronic device within the cluster) determines whether to allow the first electronic device to send data frames within the discovery window. If allowed, the second electronic device notifies the first electronic device that sending data frames within the discovery window is allowed (first indication information); if not allowed, the second electronic device notifies the first electronic device that sending data frames within the discovery window is not allowed.

[0171] Optionally, the second electronic device determines whether the first electronic device is allowed to send data frames within the discovery window. This can be achieved by the second electronic device determining whether a first condition is met. If the first condition is met, the second electronic device notifies the first electronic device that sending data frames within the discovery window is allowed. If the first condition is not met, the second electronic device notifies the first electronic device that sending data frames within the discovery window is not allowed.

[0172] Optionally, the first condition includes any one or more of the following conditions: the channel busyness of the discovery window is less than the first threshold, the packet loss rate of the network where the cluster is located is less than the second threshold, the retransmission rate of the network where the cluster is located is less than the third threshold, the number of devices in the cluster is less than the fifth threshold, the received signal strength indication (RSSI) is higher than the sixth threshold, and the service priority of the data frame to be sent is higher than the fourth threshold.

[0173] Optionally, the aforementioned thresholds can be preset, such as those set at the factory, or they can be set during subsequent communication. This application does not limit the method of setting the thresholds or their specific values.

[0174] Typically, when the number of devices in a cluster is small, the number of management frames exchanged between devices within the discovery window is also small. These management frames may only occupy a small portion of the time-domain resources within the discovery window. In this case, there may be a large amount of idle time-domain resources within the discovery window. In this embodiment, if the first electronic device determines that there are data frames to be sent, and the number of devices in the cluster is less than the fifth threshold, it can send data frames using the idle time-domain resources within the discovery window. For example, based on the Wi-Fi carrier sensing mechanism, when an idle channel is detected, a data frame is sent within the discovery window. In this way, the utilization rate of time-domain resources within the discovery window can be improved, air interface resources can be avoided, and by sending data frames in a timely manner within the discovery window, the latency of data frames can be reduced, thereby reducing service latency.

[0175] Conversely, if the first electronic device determines that it has a data frame to send, and the number of devices in the cluster is greater than or equal to the fifth threshold (indicating strong air interface contention), then sending the data frame within the discovery window is not allowed. In other words, the data frame to be sent needs to be sent after the current discovery window ends. This avoids the loss of management frames caused by air interface contention.

[0176] In some scenarios, a low packet loss rate indicates a good network condition, and within the discovery window, the level of competition between devices is low. In such cases, there may be a significant amount of idle temporal resources within the discovery window. Considering this, in this embodiment, if the first electronic device determines that the network packet loss rate is less than a second threshold, it allows the transmission of data frames within the discovery window to efficiently utilize idle temporal resources. Conversely, if the first electronic device determines that the network packet loss rate is greater than or equal to the second threshold, it does not allow the transmission of data frames within the discovery window to avoid excessive competition for resources within the discovery window.

[0177] In some scenarios, when a data frame to be sent has a high service priority, it often needs to be sent first to meet service performance requirements. Optionally, high-priority services may include, but are not limited to, low-latency services. For example, low-latency services include, but are not limited to, any one or more of the following: games, online classes, instant messaging, live streaming, red envelope giveaways, screen mirroring, IoT services, and industrial IoT services.

[0178] In this embodiment, if the first electronic device determines that there is a data frame to be sent, and the service priority of the data frame to be sent is higher than (greater than) the fourth threshold, then the first electronic device is allowed to send the data frame to be sent within the discovery window to meet service requirements as much as possible. Conversely, if the first electronic device determines that there is a data frame to be sent, and the service priority of the data frame to be sent is less than or equal to the fourth threshold, then the first electronic device is not allowed to send the data frame to be sent within the discovery window.

[0179] In some scenarios, a strong received signal strength indicator (RSSI) indicates a good network condition. In such cases, the level of competition between devices within the discovery window is often low, and there may be many idle temporal resources within the discovery window. Considering this, in this embodiment, if the first electronic device determines that a data frame to be transmitted exists and detects that the RSSI is higher than the sixth threshold, then the transmission of the data frame to be transmitted is permitted within the discovery window. Conversely, if the first electronic device determines that a data frame to be transmitted exists and detects that the RSSI is less than or equal to the sixth threshold, then the transmission of the data frame to be transmitted is not permitted within the discovery window.

[0180] Optionally, the first electronic device or other devices in the cluster may periodically or otherwise statistically analyze the values ​​of each parameter in the first condition, and the first electronic device may determine whether to allow the transmission of data frames within the discovery window based on the statistical values.

[0181] Taking packet loss rate as an example, the first electronic device can detect the network's packet loss rate over a period of time within the discovery window, such as the packet loss rate in the first half of the discovery window. If the packet loss rate in the first half of the discovery window is less than a threshold, it can be inferred that the packet loss rate in the second half of the discovery window will also be relatively low. Therefore, the first electronic device allows data frames to be sent in the second half of the discovery window. Conversely, if the packet loss rate in the first half of the discovery window is greater than or equal to the threshold, data frames are not allowed to be sent in the second half of the discovery window.

[0182] Alternatively, the first electronic device determines whether to send a data frame within the current scheduling period's discovery window by judging the packet loss rate within the discovery window of the previous N (N is a positive integer) scheduling periods. For example, if the packet loss rate within the discovery window of the previous scheduling period was less than a threshold, it can be inferred that the packet loss rate within the current discovery window will also be relatively low, and therefore, the first electronic device allows the transmission of a data frame within the current discovery window. Conversely, if the packet loss rate within the previous discovery window was greater than or equal to the threshold, then the transmission of a data frame within the current discovery window is not permitted.

[0183] Alternatively, the first electronic device may determine the packet loss rate of the discovery window network based on other methods. The embodiments of this application do not limit the specific implementation method for determining the packet loss rate within the discovery window.

[0184] For example, if a mobile phone determines that there is a data frame to be sent (a data frame that needs to be sent within the discovery window) within the discovery window, and the current packet loss rate of the cluster network to which the mobile phone is located is low, then the mobile phone can send the data frame within the discovery window.

[0185] For another example, if the mobile phone determines that there is a data frame to be sent (a data frame that needs to be sent within the discovery window) within the discovery window, and the current retransmission rate of the cluster network to which the mobile phone is located is low, then the mobile phone can send the data frame within the discovery window.

[0186] For another example, if the mobile phone determines that there is a data frame to be sent in the discovery window, and the service priority of the data frame is high (such as the red envelope grabbing service), then the mobile phone can send the data frame in the discovery window.

[0187] For another example, if the mobile phone determines that there is a data frame to be sent within the discovery window, and the current RSSI of the cluster network to which the mobile phone is located is relatively high, then the mobile phone can send the data frame within the discovery window.

[0188] For another example, if a mobile phone determines that there is a data frame to be sent within the discovery window, and the data frame has a high service priority (such as a red envelope grabbing service), and the number of devices in the cluster is currently small, then the mobile phone can send the data frame within the discovery window.

[0189] For another example, if the MeeTime application enables the WLAN transmission enhancement function implemented in this application, then when the number of devices in the cluster is small, MeeTime data can be sent within the discovery window.

[0190] For another example, if the MeeTime app enables the WLAN transmission enhancement function implemented in this application, and assuming that voice calls are a high-priority service, then when a user makes a voice call through the MeeTime app, the electronic device can send voice data in the discovery window.

[0191] It is understood that, in addition to the conditions listed above, the first condition can also be any other condition that indicates the discovery window has idle temporal resources. The embodiments of this application do not limit the specific content of the first condition.

[0192] For example, such as Figure 13 As shown, during discovery window 1, there are data frames 1, 2, and 3 waiting to be sent in the data frame queue. At this time, if the first condition is met (e.g., the number of devices in the cluster is relatively small), the first electronic device can schedule the sending of data frames in a timely manner within discovery window 1, such as scheduling the sending of data frame 1. During discovery window 2, there are data frames 3, 4, and 5 waiting to be sent in the data frame queue. At this time, if the first condition is not met (e.g., the number of devices in the cluster is relatively large), the first electronic device cannot schedule the sending of data frames within discovery window 2 and must wait until discovery window 2 ends before scheduling the sending of data frames.

[0193] Compared with the default setting in Embodiment 1 that allows sending data frames within the discovery window, the technical solution in Embodiment 2 can dynamically adjust whether sending data frames within the discovery window is allowed based on a first condition, so that sending data frames within the discovery window can be allowed under suitable conditions.

[0194] Optionally, the first condition (the condition used to determine whether to allow sending data frames within the discovery window) can be determined by the first electronic device itself, or by other devices in the cluster. The determination result of the first condition, such as an indication message indicating whether to allow the first electronic device to send data frames within the discovery window, can then be sent to the first electronic device. In this way, the first electronic device can determine whether to allow sending data frames within the discovery window. The following describes these two methods of determining the first condition.

[0195] Optionally, the first electronic device, or other devices within the cluster, can determine the first condition periodically or using other strategies. For example, it can be determined whether the first condition is met once per scheduling cycle. Figure 13As shown, within two scheduling cycles, if the first condition is met in the first scheduling cycle, the first electronic device can send a data frame within the discovery window. If the first condition is not met in the second scheduling cycle, the first electronic device must wait for the discovery window to end before sending a data frame. When the detection cycle is short, the scheduling strategy within different discovery windows can be adjusted in a timely manner, which can further reduce service latency and adjust resource utilization in a timely manner.

[0196] As another example, the first condition can be checked every L (L is a positive integer) scheduling cycles. This application does not limit the specific cycle or method for checking the first condition. When the detection cycle is long, the complexity of detecting the first condition can be reduced.

[0197] Example 3

[0198] This application also provides a data transmission method in which another device determines a first condition and sends the determination result of the first condition, such as an indication message indicating whether the first electronic device is allowed to send data frames within a discovery window, to the first electronic device. Figure 14 As shown, the method includes:

[0199] S301. The second electronic device determines whether the first condition is met. If the first condition is met, step S302 is executed; if the first condition is not met, step S303 is executed.

[0200] For a detailed description of the first condition, please refer to the above embodiments.

[0201] S302, The second electronic device sends a first instruction message to the first electronic device.

[0202] As one possible implementation, the second electronic device broadcasts the first instruction information within the discovery window. Correspondingly, the first electronic device receives the first instruction information within the discovery window.

[0203] The first indication information is used to indicate that the first electronic device is allowed to send data frames within the discovery window.

[0204] S303, the second electronic device sends a fourth instruction message to the first electronic device.

[0205] As one possible implementation, the second electronic device broadcasts a fourth instruction message within the discovery window. Correspondingly, the first electronic device receives the fourth instruction message within the discovery window.

[0206] The fourth indication information is used to indicate that data frames are not allowed to be sent within the sending window.

[0207] S101, The first electronic device determines that there is a data frame to be sent in the discovery window.

[0208] In this embodiment, after receiving indication information from the second electronic device, the first electronic device can determine whether to allow the transmission of data frames within the discovery window based on the indication information, and then transmit the data frames accordingly. In some cases, the indication information indicates that the transmission of data frames within the discovery window is permitted, in which case the first electronic device performs steps S201a and S102. In other cases, the indication information indicates that the transmission of data frames within the discovery window is permitted, in which case the first electronic device performs steps S201b and S202.

[0209] S201a. The first electronic device determines, based on the first instruction information, that it is permissible to send a data frame within the discovery window.

[0210] Step S201a can be considered as a branch of step S201 above.

[0211] S102, The first electronic device sends a data frame within the discovery window.

[0212] S201b: The first electronic device determines, based on the fourth instruction information, that it is not allowed to send data frames within the discovery window.

[0213] Step S201b can be considered as another branch of step S201 above.

[0214] S202, The first electronic device sends a data frame after the discovery window ends.

[0215] It is understandable that if it is determined that sending data frames within the discovery window is not allowed, the first electronic device must wait for the discovery window to end before sending data frames.

[0216] In other embodiments, the first electronic device may further determine whether to allow the second electronic device to send data frames within the discovery window. If yes, a second indication message is sent to the second electronic device to indicate that the second electronic device is allowed to send data frames within the discovery window; if no, a third indication message is sent to the second electronic device to indicate that the second electronic device is not allowed to send data frames within the discovery window.

[0217] In other embodiments, the first electronic device may further determine whether a second condition is met that allows the second electronic device to send data frames within the discovery window; if the second condition is met, a second indication message is sent to the second electronic device, the second indication message indicating that sending data frames within the discovery window is allowed; if the second condition is not met, a third indication message is sent to the second electronic device, the third indication message indicating that sending data frames within the discovery window is not allowed.

[0218] Optionally, the second condition includes any one or more of the following: the channel busyness of the first network is less than the first threshold, the packet loss rate of the second electronic device is less than the second threshold, the retransmission rate of the second electronic device is less than the third threshold, the number of devices in the first cluster is less than the fifth threshold, the service priority of the second electronic device is higher than the fourth threshold, and the RSSI of the second electronic device is higher than the sixth threshold.

[0219] For example, Figure 15 The interactive flow of the data transmission method in this application embodiment is shown when the first condition is that the number of devices in the cluster is less than a fifth threshold. Among them, Figure 14 Step S301 can be implemented as follows Figure 15 S301a-S301c. For example... Figure 15 The method includes:

[0220] S301a, The first electronic device sends the first frame to the second electronic device.

[0221] Accordingly, the second electronic device receives the first frame from the first electronic device. Optionally, the first frame carries the identifier of the cluster to which the first electronic device belongs.

[0222] S301b, the second electronic device determines the number of devices in its cluster based on one or more first frames.

[0223] It is understood that the second electronic device can receive the first frame from all other devices in the cluster except itself, and can determine the number of devices in the cluster based on the cluster identifier in these first frames. For example, if the identifier of the cluster where the second electronic device is located is 10, and it receives first frames from 10 devices, these first frames indicating that all 10 devices are in the cluster with identifier 10, then the second electronic device can determine that the number of devices in the cluster is 11 (including the second electronic device itself).

[0224] It should be noted that the second electronic device can be a master device or a slave device, and the first electronic device can also be a master device or a slave device.

[0225] For example, if the second electronic device is the master device and the first electronic device is the slave device, then the first frame may be, but is not limited to, a periodic announcement frame, the second frame may be, but is not limited to, a beacon frame, and the third frame may be, but is not limited to, a beacon frame. The second electronic device can receive periodic announcement frames from all other devices in the cluster except itself, and can determine the number of devices in the cluster based on the cluster identifier in these periodic announcement frames.

[0226] For example, if the second electronic device is a slave device, then the first electronic device can be other slave devices and the master device within the cluster. The first frame can be, but is not limited to, a periodic announcement frame or a beacon frame; the second frame can be, but is not limited to, a periodic announcement frame; and the third frame can be, but is not limited to, a periodic announcement frame. The second electronic device can receive periodic announcement frames from all other slave devices within the cluster except itself, and receive beacon frames from the master device. It can also determine the number of devices within the cluster based on the cluster identifier in the periodic announcement frames and beacon frames.

[0227] S301c: The second electronic device determines whether the number of devices in the cluster is less than the fifth threshold. If yes, proceed to step S302a. If no, proceed to step S303a.

[0228] S302a, The second electronic device sends the second frame.

[0229] The second frame is used to indicate that data frames can be sent within the discovery window.

[0230] It's understandable that when the number of devices in a cluster is small, the devices typically use fewer resources, resulting in a higher probability of resource idleness. To improve resource utilization, devices in the cluster can be allowed to send data frames within a discovery window.

[0231] As one possible implementation, the second electronic device broadcasts a second frame during the discovery window. Correspondingly, other devices within the cluster (such as...) Figure 15 The first electronic device shown receives the second frame in the discovery window.

[0232] S101, The first electronic device determines that there is a data frame to be sent in the discovery window.

[0233] S201a, The first electronic device determines, based on the second frame, that it is permissible to send a data frame within the discovery window.

[0234] It is understood that after the first electronic device receives the second frame from the second electronic device, it can determine whether it is allowed to send a data frame within the discovery window based on the indication of the second frame, and can perform the following step S102.

[0235] S102, The first electronic device sends a data frame within the discovery window.

[0236] S303a, The second electronic device sends the third frame.

[0237] The third frame indicates that data frames are not allowed to be sent within the discovery window.

[0238] As one possible implementation, the second electronic device broadcasts a third frame within the discovery window. Correspondingly, other devices within the cluster (such as the first electronic device) can receive the third frame within the discovery window.

[0239] S201b: The first electronic device determines, based on the third frame, that it is not allowed to send data frames within the discovery window.

[0240] S202, The first electronic device sends a data frame after the discovery window ends.

[0241] Figure 15 This paper only illustrates one possible implementation for determining the number of devices in a cluster. Other methods can also be used to determine the number of devices in a cluster. Due to space limitations, this application will not exhaustively list all implementation methods.

[0242] The following example uses the second electronic device as the master device and the first electronic device as the slave device. Figure 15 The corresponding methods are illustrated with examples. For example... Figure 16 As shown, the method includes:

[0243] S401, The master device sends a beacon frame.

[0244] It should be noted that, Figure 16 The example shown only includes two slave devices in the cluster, namely slave devices A and B. The cluster may also include other slave devices, not listed here. Figure 16 As shown in the image.

[0245] Optionally, the master device broadcasts beacon frames during the discovery window. Correspondingly, slave devices in the cluster receive beacon frames during the discovery window. For example, Figure 16 In this process, both slave devices A and B can receive beacon frames from the master device.

[0246] Optionally, the beacon frame carries master election attributes, which include the cluster identifier (ID). This beacon frame can be used to indicate the cluster to which the master device belongs. Optionally, the cluster ID can be, but is not limited to, the basic service set identifier (BSSID) of the master device in the cluster.

[0247] For example, Figure 17 An example of a possible frame format for a beacon frame is shown. The beacon frame includes one or more custom attribute fields (One or More HiD2D Attributes). One or more attributes include election attributes. The election attributes carry the master device's BSSID (Master BSSID).

[0248] S301a1, Send a periodic announcement frame (an example of the first frame) from device B.

[0249] Optionally, slave device B broadcasts a periodic announcement frame within the discovery window. Correspondingly, the master device receives the periodic announcement frame from slave device B within the discovery window. Other slave devices in the cluster also receive the periodic announcement frame from slave device B within their discovery windows. For example, slave device A receives the periodic announcement frame from slave device B.

[0250] Optionally, the periodic announcement frame sent by the device carries master election attributes, which include the cluster ID. This periodic announcement frame can be used to indicate the cluster to which the device belongs. Optionally, the cluster ID can be, but is not limited to, the BSSID of the master device in the cluster.

[0251] For example, Figure 18 An example is shown of a possible frame format for a periodic declaration frame, and an example is shown of a possible format for election attributes.

[0252] It should be noted that, in the embodiments of this application, mentioning a message or field as indicating a certain meaning does not mean that the message or field is exclusively used to indicate that meaning. The message or field may also have other uses.

[0253] S301a2, Send a periodic announcement frame from device A.

[0254] S301b1. The master device determines the number of devices in its cluster based on one or more periodic announcement frames.

[0255] As one possible implementation, the master device matches the cluster ID in the periodic announcement frame to obtain the number of devices in the cluster.

[0256] For example, if the cluster ID (e.g., BSSID) of the master device is 11, the cluster ID of slave device A is 11, and the cluster ID of slave device B is 11, then the master device determines that slave devices A and B are both devices within the cluster, and the number of devices within the cluster is 2 (excluding the master device) or 3 (including the master device).

[0257] S301c: The master device determines whether the number of devices in the cluster is less than the fifth threshold. If yes, proceed to step S302a1; otherwise, proceed to step S303a1.

[0258] S302a1, The master device sends a beacon frame (an example of the second frame).

[0259] As one possible implementation, the master device broadcasts beacon frames within the discovery window. Correspondingly, the slave device receives beacon frames from the master device within the discovery window. For example, Figure 16 In this process, both slave devices A and B can receive beacon frames from the master device.

[0260] The beacon frame carries indication information. This indication information is used to indicate whether data frames can be sent within the discovery window.

[0261] For example, such as Figure 19 The beacon frame carries one or more HiD2DAttributes fields, including radio resource management (RRM) attributes. The RRM attributes carry an RRM control field, which indicates whether data frame transmission is permitted within the discovery window. Optionally, the indication information can be the field value of the RRM control field.

[0262] For example, in some examples, such as Figure 19 As shown, the RRM control field occupies 1 byte (8 bits), and indication information can be represented by 1 bit in the RRM control field. For example, as shown in Table 1, the second bit of the RRM control field can be used to represent indication information. In some examples, if the second bit of the RRM control field is 1, it indicates that sending data frames within the discovery window is allowed; if the second bit of the RRM control field is 0, it indicates that sending data frames within the discovery window is not allowed. Alternatively, if the second bit of the RRM control field is 0, it indicates that sending data frames within the discovery window is allowed; if the second bit of the RRM control field is 1, it indicates that sending data frames within the discovery window is not allowed.

[0263] Table 1 RRM Control Fields in Beacon Frames

[0264]

[0265] It is understood that the indication information can also be represented by any bit from the third to the eighth bit of the RRM control field. The embodiments of this application do not limit the specific implementation of the indication information.

[0266] S101. Device B determines that there is a data frame to be sent in the discovery window.

[0267] In this embodiment of the application, after receiving a beacon frame from the master device, the slave device B can parse the beacon frame to obtain indication information. If the indication information indicates that data frames can be sent within the discovery window, the slave device B can perform the following steps S201a and S102.

[0268] S201a. Based on the beacon frame, device B determines whether it is allowed to send data frames within the discovery window.

[0269] As one possible implementation, device B determines whether it is permissible to send data frames within the discovery window based on the indication information in the beacon frame.

[0270] S102, Device B sends a data frame within the discovery window.

[0271] S303a1, The master device sends a beacon frame (an example of the third frame).

[0272] This beacon frame carries indication information. This indication information is used to indicate that data frames are not allowed to be sent within the discovery window.

[0273] As one possible implementation, the master device broadcasts beacon frames within the discovery window. Correspondingly, each slave device receives beacon frames within its discovery window.

[0274] It is understandable that after receiving a beacon frame from the master device, the slave device B can parse the beacon frame and obtain the indication information. If the indication information indicates that data frames are not allowed to be sent within the discovery window, the slave device B can perform the following steps S201b and S202.

[0275] S201b: Based on the beacon frame, device B determines that data frames are not allowed to be sent within the discovery window.

[0276] S202, Device B sends a data frame after the discovery window ends.

[0277] Example 4

[0278] This application also provides a data transmission method in which a first electronic device determines whether a first condition is met according to a certain strategy. The following describes this data transmission method using the example that the first condition is that the number of devices in the cluster is less than a fifth threshold. Figure 20 As shown, the method includes:

[0279] S501, The second electronic device sends the fourth frame to the first electronic device.

[0280] Correspondingly, the first electronic device receives the fourth frame from the second electronic device.

[0281] Optionally, the fourth frame carries the cluster identifier.

[0282] S101, The first electronic device determines that there is a data frame to be sent in the discovery window.

[0283] S502, the first electronic device determines the number of devices in its cluster based on one or more fourth frames.

[0284] The first electronic device can be a master device or a slave device, and the second electronic device can be a master device or a slave device.

[0285] In some examples, if the first electronic device is a slave device, the fourth frame can be a periodic announcement frame from other slave devices in the cluster, as well as a beacon frame from the master device in the cluster. The first electronic device determines the number of devices in its cluster based on the periodic announcement frames from all other slave devices in the cluster and the beacon frame from the master device in the cluster.

[0286] In other examples, if the first electronic device is the master device, the fourth frame can be a periodic announcement frame of a slave device within the cluster, and the first electronic device determines the number of devices in the cluster based on the cluster identifier carried in these periodic announcement frames.

[0287] S503. The first electronic device determines whether the number of devices in the cluster is less than the fifth threshold. If yes, then execute steps S201c and S102; if no, then execute steps S201d and S202.

[0288] S201c, The first electronic device determines that it is permitted to send a data frame within the discovery window.

[0289] S102, The first electronic device sends a data frame within the discovery window.

[0290] S201d, The first electronic device determines that it is not allowed to send data frames within the discovery window.

[0291] S202, The first electronic device sends a data frame after the discovery window ends.

[0292] The following example uses the first electronic device as the slave device. Figure 20 The corresponding implementation examples will be described. For example... Figure 21 The method includes:

[0293] S501a, The master device sends a beacon frame.

[0294] Optionally, the master device carries the cluster identifier.

[0295] One possible implementation is that the master device broadcasts beacon frames within the discovery window. Correspondingly, slave devices within the cluster receive beacon frames within the discovery window.

[0296] It should be noted that, Figure 21 and the following Figure 22 The example shown uses slave devices A and B in the cluster. Other slave devices may also be included in the cluster, but they are not explicitly shown in the diagram.

[0297] For example, Figure 21 In this process, both slave devices A and B can receive beacon frames from the master device.

[0298] S501b, Send a periodic announcement frame from device A.

[0299] Optionally, the periodic announcement frame carries the cluster's identifier.

[0300] As one possible implementation, the slave device broadcasts a periodic announcement frame within the discovery window. Correspondingly, the master device in the cluster receives this periodic announcement frame within the discovery window. Other slave devices in the cluster also receive this periodic announcement frame within the discovery window.

[0301] For example, Figure 21 In the example, device A broadcasts a periodic announcement frame (carrying a cluster identifier), which can be received by both slave device B and the master device within the cluster. Similarly, slave device B also broadcasts a periodic announcement frame (carrying a cluster identifier), which can be received by both slave device A and the master device.

[0302] S101. Device B determines that there is a data frame to be sent in the discovery window.

[0303] S502a: The slave device B determines the number of devices in its cluster based on the received beacon frames and periodic announcement frames.

[0304] For example, if the identifier of the cluster where device B is located is 10, and it receives a beacon frame from the master device of cluster identifier 10, and also receives 9 periodic announcement frames from the slave devices of cluster identifier 10, then device B determines that the number of devices in its cluster is 11.

[0305] S503. Determine from device B whether the number of devices in the cluster is less than the fifth threshold. If yes, execute steps S201c and S102; otherwise, execute steps S201d and S202.

[0306] S201c, Device B determines that it is allowed to send data frames within the discovery window.

[0307] S102, Device B sends a data frame within the discovery window.

[0308] S201d, Device B determines that sending data frames within the discovery window is not allowed.

[0309] S202, Device B sends a data frame after the discovery window ends.

[0310] The following example uses the first electronic device as the main device. Figure 20 The corresponding implementation examples will be described. For example... Figure 22 The method includes:

[0311] S601, The master device sends a beacon frame.

[0312] Optionally, the master device carries the cluster identifier.

[0313] One possible implementation is that the master device broadcasts beacon frames within the discovery window. Correspondingly, slave devices within the cluster receive beacon frames within the discovery window.

[0314] For example, Figure 22 In this process, both slave devices A and B can receive beacon frames from the master device.

[0315] S501c, Send a periodic announcement frame from device A.

[0316] Optionally, the periodic announcement frame carries the cluster's identifier.

[0317] As one possible implementation, the slave device broadcasts a periodic announcement frame within the discovery window. Correspondingly, the master device in the cluster receives this periodic announcement frame within the discovery window. Other slave devices in the cluster also receive this periodic announcement frame within the discovery window.

[0318] For example, Figure 22 In the process, device A broadcasts a periodic announcement frame (carrying a cluster identifier), which can be received by both slave device B and the master device within the cluster.

[0319] S501d, Send a periodic announcement frame from device B.

[0320] Optionally, the periodic announcement frame carries a cluster identifier.

[0321] For example, device B broadcasts a periodic announcement frame. Both device A and the master device can receive the periodic announcement frame from device B.

[0322] S101. The master device determines that there is a data frame to be sent in the discovery window.

[0323] S502b: The master device determines the number of devices in its cluster based on the received periodic announcement frames.

[0324] For example, if the identifier of the cluster where the master device is located is 10, and the master device receives 10 periodic announcement frames from slave devices with the cluster identifier 10, then the master device determines that the number of devices in its cluster is 11.

[0325] S503. The master device determines whether the number of devices in the cluster is less than the fifth threshold. If yes, then execute steps S201c and S102; otherwise, execute steps S201d and S202.

[0326] S201c, The master device determines that data frames can be sent within the discovery window.

[0327] S102. The master device sends a data frame within the discovery window.

[0328] S201d, The master device determines that data frames are not allowed to be sent within the discovery window.

[0329] S202. The master device sends a data frame after the discovery window ends.

[0330] The above primarily uses determining the number of devices within a cluster as an example to illustrate the method for determining the first condition. For specific implementations of other methods for determining the first condition, please refer to existing technologies. For instance, taking a second electronic device as the master device and a first electronic device as the slave device, the slave device can carry its service priority and / or service type and / or RSSI in its periodic announcement frame (PNF). The master device determines whether the first condition is met based on the service priority and / or service type and / or RSSI. If the first condition is met, it instructs the slave device to send data frames within the discovery window. Another example is that the first electronic device can detect the network's packet loss rate and retransmission rate, and determine whether the first condition is met based on these rates. Yet another example is that the first electronic device can identify the service type of a data frame using deep packet inspection (DPI), access control lists (ACLs), port information, etc., and then determine the service priority.

[0331] Example 5

[0332] This application also provides a data transmission method that allows some devices within a cluster to send data frames within a discovery window. For example... Figure 23 As shown, the method includes:

[0333] S701, The second electronic device determines the device that is allowed to send data frames within the discovery window.

[0334] Optionally, the second electronic device is a master device. In other embodiments, the second electronic device may also be a slave device. This application does not limit the role of the second electronic device.

[0335] Understandably, the second electronic device can decide which devices are allowed to send data frames within the discovery window. Optionally, the second electronic device can, by default, allow all devices within the cluster to send data frames within the discovery window.

[0336] Alternatively, the second electronic device may determine whether a second condition is met that allows the first electronic device to send data frames within the discovery window. If met, the first electronic device is allowed to send data frames within the discovery window. Optionally, the second condition may include, but is not limited to, any one or more of the following: the channel busyness of the first network where the cluster resides is less than a first threshold; the packet loss rate of the first electronic device is less than a second threshold; the retransmission rate of the first electronic device is less than a third threshold; the number of devices in the first cluster is less than a fifth threshold; the RSSI of the first electronic device is higher than a sixth threshold; and the service priority of the first electronic device is higher than a fourth threshold.

[0337] Optionally, the channel of the first network where the cluster resides can refer to a common channel within the discovery window, which can be used to transmit management frames between devices. The channel busyness of the first network can refer to the busyness of this common channel.

[0338] S702, the second electronic device sends the fifth frame to the first electronic device.

[0339] Correspondingly, the first electronic device receives the fifth frame from the second electronic device.

[0340] Optionally, the fifth frame is used to indicate devices that are allowed to send data frames within the discovery window.

[0341] For example, taking the second electronic device as the master device and the fifth frame as the beacon frame, such as... Figure 24 The beacon frame carries one or more HiD2D attributes. These attributes include the RRM attribute. The RRM attribute's indication fields include the Device Number field, which indicates the number of devices allowed to send data frames in the discovery window. The Media Access Control Address field indicates the MAC address of the devices allowed to send data frames in the discovery window.

[0342] Alternatively, in some other embodiments, Figure 24 In the RRM control field shown, a 1-bit indicator is used to indicate that data frames are allowed to be sent within the discovery window. The Device Number (Device Cnt) field is omitted or deleted. The MAC addresses of the devices that are allowed to send data frames within the discovery window are listed after the RRM control field.

[0343] S101, The first electronic device determines that there is a data frame to be sent in the discovery window.

[0344] S201e, the first electronic device determines, based on the fifth frame, that it is permissible to send a data frame within the discovery window.

[0345] It is understandable that if the first electronic device determines that it is permissible to send data frames within the discovery window, then S102 is executed.

[0346] S102, The first electronic device sends a data frame within the discovery window.

[0347] For example, the first electronic device receives Figure 24 After receiving the beacon frame shown, the system parses it and reads the MAC address field. If the MAC address field indicates the device's own MAC address, it means that the device is authorized to send data frames within the discovery window. Therefore, the first electronic device can promptly send data frames within the discovery window to improve resource utilization.

[0348] S201e, the first electronic device determines, based on the fifth frame, that sending data frames within the discovery window is not permitted.

[0349] For example, the first electronic device receives Figure 24 After the beacon frame shown, the beacon frame is parsed and the MAC address field is read. If the MAC address indicated by the MAC address field does not include its own MAC address, it means that it is not allowed to send data frames in the discovery window, and the first electronic device needs to execute S202.

[0350] S202, The first electronic device sends a data frame after the discovery window ends.

[0351] In other implementations, the data frames sent by the first electronic device within the discovery window meet one or more of the following conditions: data volume is less than the seventh threshold, transmission rate is less than the eighth threshold, and number of transmissions is less than the ninth threshold. This avoids discovery window congestion caused by the first electronic device sending too much data within the discovery window, thus maintaining network performance stability.

[0352] Optionally, the seventh, eighth, and ninth thresholds can be preset, such as those set at the factory, or dynamically determined through interactions between devices. Alternatively, the seventh, eighth, and ninth thresholds can be determined based on the current network conditions. For example, a smaller seventh threshold is used when there are many devices in the cluster, and a larger threshold is used when there are many devices in the cluster. In this method, the amount of data, transmission rate, and number of transmissions sent by the device during the discovery window can be dynamically adjusted by changing the values ​​of each threshold, ensuring that these parameters match the current network conditions and achieving higher data transmission performance.

[0353] Optionally, embodiments of this application can automatically enable the WLAN transmission enhancement function. After enabling the WLAN transmission enhancement function, the electronic device can send data frames within the discovery window. This implementation method can improve WLAN transmission performance without the user's awareness.

[0354] Optionally, in other embodiments, the electronic device displays a prompt interface after enabling the WLAN transmission enhancement function to indicate that the WLAN transmission enhancement function has been enabled. For example, such as... Figure 25 As shown in (1), the phone is searching for screen mirroring devices. The phone determines that screen mirroring is a high-priority service and automatically enables the WLAN transmission enhancement function. The phone can also display as follows: Figure 25 The interface shown in (2) is used to prompt the user that the WLAN transmission enhancement function has been enabled.

[0355] In other embodiments, the electronic device presents a prompt interface before enabling the WLAN transmission enhancement feature, asking the user whether to enable the WLAN transmission enhancement feature. For example, such as... Figure 26 As shown in (1), the mobile phone is searching for screen mirroring devices. The mobile phone has determined that screen mirroring is a high-priority service and displays the following: Figure 26 The interface shown in (2) includes a control 601 for prompting the user whether to enable the WLAN transmission enhancement function. When the user instructs the user to enable the WLAN transmission enhancement function, the mobile phone can send data frames within the discovery window.

[0356] The fields and frames in this application embodiment are all exemplary examples. In the actual implementation of the technical solution, the information used can also be encapsulated in other fields of other frames.

[0357] The interfaces in the embodiments of this application are all exemplary examples, and the embodiments of this application do not limit the specific presentation method and effect of the interface.

[0358] The above technical solutions can be applied to communication between devices within a cluster, or to communication between devices in different clusters. This application does not impose any limitations on these applications.

[0359] It should be noted that some operations in the processes of the above method embodiments may be optionally combined, and / or the order of some operations may be optionally changed. Furthermore, the execution order between the steps of each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described herein. Additionally, it should be pointed out that the process details involved in one embodiment of this document are similarly applicable to other embodiments, or different embodiments may be combined.

[0360] For example, Figure 14 In this process, there are no restrictions on the execution order between steps S101 and S302.

[0361] Furthermore, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments may be optional and can be deleted in certain use cases. Or, other possible steps may be added to the method embodiments.

[0362] Furthermore, the above-described method embodiments can be implemented individually or in combination.

[0363] For the accompanying drawings in this application that are not described in detail, please refer to the relevant textual descriptions in other accompanying drawings. For example, Figure 7 (1) Figure 7 For the textual description of the accompanying drawings (2), please refer to the textual description of other similar drawings. This application will not repeat the similar textual descriptions in its embodiments.

[0364] Other embodiments of this application provide an apparatus, which may be the aforementioned electronic device (first electronic device or second electronic device). The apparatus may include a memory and one or more processors. The memory and processors are coupled. The memory stores computer program code, which includes computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the mobile phone in the above method embodiments. The structure of the electronic device can be referred to... Figure 4 or Figure 3 The electronic device shown.

[0365] The core structure of this electronic device can be represented as follows: Figure 27 The structure shown may include: a processing module 1301, an input module 1302, a storage module 1303, and a communication module 1304.

[0366] Processing module 1301 may include at least one of a central processing unit (CPU), an application processor (AP), or a communication processor (CP). Processing module 1301 may perform operations or data processing related to the control and / or communication with at least one of other components of the user electronic device.

[0367] Input module 1302 is used to acquire user-inputted instructions or data and transmit the acquired instructions or data to other modules of the electronic device. For example, the input module can acquire user input operations and generate input signals based on the acquired input operations, and transmit the input signals to processing module 1301. If the electronic device is a mobile phone, in this embodiment, the input module can be used to receive user-inputted setting instructions and / or perform other steps.

[0368] Storage module 1303 may include volatile memory and / or non-volatile memory. The storage module is used to store at least one related instruction or data from other modules of the user terminal device.

[0369] Communication module 1304 is used to support communication between electronic devices and other electronic devices. For example, the communication module can be connected to a network via wireless or wired communication to communicate with other personal terminals or network servers. Wireless communication can employ at least one of the following cellular communication protocols: Long Term Evolution (LTE), LTE-A Advanced, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), Wi-Fi, or Global System for Mobile Communications (GSM). Wireless communication may include, for example, short-range communication. Short-range communication may include at least one of Wi-Fi, Bluetooth, Near Field Communication (NFC), Magnetic Stripe Transmission (MST), or GNSS.

[0370] This application also provides a chip system that can be applied in the aforementioned first electronic device or second electronic device. For example... Figure 28 As shown, the chip system includes at least one processor 1101 and at least one interface circuit 1102. The processor 1101 and the interface circuit 1102 are interconnected via lines. For example, the interface circuit 1102 can be used to receive signals from other devices (e.g., the memory of the first electronic device 100). As another example, the interface circuit 1102 can be used to send signals to other devices (e.g., the processor 1101). Exemplarily, the interface circuit 1102 can read instructions stored in the memory and send those instructions to the processor 1101. When the instructions are executed by the processor 1101, the first electronic device can perform the various steps performed by the first electronic device 100 (e.g., a mobile phone) in the above embodiments. Of course, the chip system may also include other discrete components, which are not specifically limited in this application embodiment.

[0371] This application also provides an apparatus included in a first electronic device or a second electronic device, which has the function of implementing the behavior of the first electronic device or the second electronic device in any of the methods described above. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes at least one module or unit corresponding to the above function. For example, a detection module or unit, and a determination module or unit, etc.

[0372] This application also provides a computer-readable storage medium including computer instructions that, when executed on a first electronic device or a second electronic device, cause the first electronic device or the second electronic device to perform any of the methods described in the above embodiments.

[0373] This application also provides a computer program product that, when run on a computer, causes the computer to perform any of the methods described in the above embodiments.

[0374] It is understood that the aforementioned electronic devices (first electronic device, second electronic device, etc.) include hardware structures and / or software modules corresponding to the execution of each function in order to achieve the above-mentioned functions. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this invention.

[0375] This application embodiment can divide the above-mentioned electronic device into functional modules according to the method example described above. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0376] Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0377] In the embodiments of this application, the functional units can be integrated into one processing module, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units can be implemented in hardware or as software functional units.

[0378] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as flash memory, portable hard disk, read-only memory, random access memory, magnetic disk, or optical disk.

[0379] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A data transmission method, characterized in that, The method, applied to a first electronic device, wherein the first electronic device is joined to a first cluster, and the network in which the first cluster is located is a first network, includes: It was confirmed that a data frame to be sent existed within the detected window; If a first condition is met that allows the first electronic device to send a data frame within the discovery window, the data frame is sent within the discovery window, wherein the first condition includes the number of devices in the first cluster being less than a fifth threshold.

2. The method according to claim 1, characterized in that, Determining that a data frame to be sent exists within the discovery window includes: detecting that a data frame to be sent already exists within the time period corresponding to the discovery window, or detecting that a new data frame to be sent has arrived within the time period corresponding to the discovery window.

3. The method according to claim 1 or 2, characterized in that, Before sending the data frame within the discovery window, the method further includes: receiving a first instruction input by a user, the first instruction being used to instruct the activation of a first function, the first function being a function to improve data transmission performance.

4. The method according to claim 1 or 2, characterized in that, Before sending the data frame within the discovery window, the method further includes: detecting that a preset scenario is in progress and activating a first function; the first function is a function to improve data transmission performance. The preset scenario includes a combination of one or more of the following scenarios: The first electronic device has a preset application running, and the data frame to be sent is a data frame of the preset application; the first electronic device has a preset function running, and the data frame to be sent is a data frame of the preset function.

5. The method according to claim 4, characterized in that, Before detecting the preset scenario, the method further includes: receiving a second instruction input by a user, the second instruction being used to set the preset application.

6. The method according to claim 1, 2, or 5, characterized in that, The first condition also includes any one or more of the following: the channel busyness of the first network is less than the first threshold, the packet loss rate of the first electronic device is less than the second threshold, the retransmission rate of the first electronic device is less than the third threshold, the service priority of the first electronic device is higher than the fourth threshold, and the received signal strength index (RSSI) of the first electronic device is higher than the sixth threshold.

7. The method according to claim 1, 2, or 5, characterized in that, The data frames sent by the first electronic device within the discovery window meet one or more of the following conditions: the data volume is less than the seventh threshold, the sending rate is less than the eighth threshold, and the number of sending times is less than the ninth threshold.

8. A data transmission method, characterized in that, The method is applied to a second electronic device, which is joined to a first cluster and is a master device; the network in which the first cluster is located is a first network. The method includes: If a first condition is met that allows the first electronic device to send a data frame within the discovery window, a first indication is determined, wherein the first condition includes the number of devices in the first cluster being less than a fifth threshold. The first indication information is sent to the first electronic device, the first indication information being used to indicate that the first electronic device is allowed to send the data frame within the discovery window.

9. The method according to claim 8, characterized in that, The first condition also includes any one or more of the following: the channel busyness of the first network is less than the first threshold, the packet loss rate of the first electronic device is less than the second threshold, the retransmission rate of the first electronic device is less than the third threshold, the service priority of the first electronic device is higher than the fourth threshold, and the received signal strength index (RSSI) of the first electronic device is higher than the sixth threshold.

10. A first electronic device, characterized in that, The first electronic device joins the first cluster, the network in which the first cluster is located is the first network, and the first electronic device includes: The processor is used to determine whether there are data frames to be sent within the discovery window; A transceiver is configured to transmit the data frame within the discovery window if a first condition is met that allows the first electronic device to transmit a data frame within the discovery window, the first condition including that the number of devices in the first cluster is less than a fifth threshold.

11. The device according to claim 10, characterized in that, The processor is configured to determine that a data frame to be sent exists within the discovery window, including: detecting that a data frame to be sent already exists within the time period corresponding to the discovery window, or detecting that a new data frame to be sent has arrived within the time period corresponding to the discovery window.

12. The device according to claim 10 or 11, characterized in that, The processor is further configured to receive a first instruction input by a user, the first instruction being used to instruct the activation of a first function, the first function being a function to improve data transmission performance.

13. The device according to claim 10 or 11, characterized in that, The processor is also configured to detect that a preset scenario is in which a first function is activated; the first function is to improve data transmission performance. The preset scenario includes a combination of one or more of the following scenarios: The first electronic device has a preset application running, and the data frame to be sent is a data frame of the preset application; the first electronic device has a preset function running, and the data frame to be sent is a data frame of the preset function.

14. The device according to claim 13, characterized in that, The processor is also configured to receive a second instruction input by the user, the second instruction being configured to set the preset application.

15. The device according to claim 10, 11, or 14, characterized in that, The first condition also includes any one or more of the following: the channel busyness of the first network is less than the first threshold, the packet loss rate of the first electronic device is less than the second threshold, the retransmission rate of the first electronic device is less than the third threshold, the service priority of the first electronic device is higher than the fourth threshold, and the received signal strength index (RSSI) of the first electronic device is higher than the sixth threshold.

16. The device according to claim 10, 11, or 14, characterized in that, The data frames sent by the first electronic device within the discovery window meet one or more of the following conditions: the data volume is less than the seventh threshold, the sending rate is less than the eighth threshold, and the number of sending times is less than the ninth threshold.

17. A second electronic device, characterized in that, The second electronic device joins the first cluster and is a master device; the network where the first cluster is located is the first network, and the second electronic device includes: The processor is configured to determine first indication information if a first condition is met that allows the first electronic device to send a data frame within a discovery window, the first condition including that the number of devices in the first cluster is less than a fifth threshold. A transceiver is configured to send the first indication information to the first electronic device, the first indication information being configured to indicate that the first electronic device is permitted to send the data frame within the discovery window.

18. The device according to claim 17, characterized in that, The first condition also includes any one or more of the following: the channel busyness of the first network is less than the first threshold, the packet loss rate of the first electronic device is less than the second threshold, the retransmission rate of the first electronic device is less than the third threshold, the service priority of the first electronic device is higher than the fourth threshold, and the received signal strength index (RSSI) of the first electronic device is higher than the sixth threshold.

19. A computer-readable storage medium, characterized in that, Includes computer instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-9.

20. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Electronic device and method for providing service by electronic device

    US20210051462A1