Networking device communication method and electronic device
By setting timing correspondences for secondary devices to receive and send messages at different times within a communication window, the method reduces topology changes and resource overhead in mobile scenarios with multiple networking devices, improving network stability and efficiency.
Patent Information
- Application Number
- JP2025540827
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-13
- Filing Date
- 2024-01-04
- Publication Date
- 2026-01-23
AI Technical Summary
Current short-range wireless communication technologies like Bluetooth and Wi-Fi face high maintenance costs due to frequent topology changes in mobile scenarios, especially when the number of networking devices is large and continuously changing.
A networking device communication method where a primary device sets a timing correspondence for secondary devices to receive and send broadcast messages at different timings within a communication window, reducing frequent topology changes and resource overhead.
This approach minimizes topology changes and reduces resource overhead by allowing secondary devices to receive and send messages at optimized timings, enhancing network stability and efficiency in mobile scenarios.
Smart Images

Figure 2026502551000001_ABST
Abstract
Description
[Technical Field]
[0001] The present application relates to the field of electronic devices, and more particularly to networking device communication methods and electronic devices. [Background technology]
[0002] With the proliferation of electronic devices, each user typically owns multiple electronic devices simultaneously, including mobile phones, tablet computers, smart screens, personal computers (PCs), smart speakers, smart cockpits, and the like. As these devices are updated, various device applications emerge. Some device applications require maintaining real-time awareness and communication with surrounding devices to ensure service performance. However, for current short-range wireless communication technologies such as Bluetooth and wireless fidelity (Wi-Fi), the networking topologies of these technologies are mainly star, tree, or mesh topologies. Especially in mobile scenarios, the networking topology changes frequently, leading to high maintenance costs. This is not conducive to large-scale development or application.
[0003] Therefore, in a further method, when the quantity of networking devices is large and continuously changes with mobile scenarios, frequent topology changes can be avoided and resource overhead can be reduced. Summary of the Invention
[0004] The present application provides a networking device communication method and an electronic device to avoid frequent topology changes and reduce resource overhead when the quantity of networking devices is large and continuously changes with mobile scenarios.
[0005] According to a first aspect, a networking device communication method is provided, including: a first device determines a correspondence between a device identity (ID) of a second device and a first timing, the first device and the second device belonging to the same network, the first device being a primary device in the network, and the second device being a secondary device in the network; the first device sends the correspondence between the device ID of the second device and the first timing to the second device, and the correspondence between the device ID of the second device and the first timing indicates to the second device that the second device will receive a broadcast message at a non-first timing during the communication window of the first device; the device identity may be a device ID, a media access control (MAC) address, an internet protocol (IP) address, or another identity capable of representing a device; the communication window of the first device may include multiple timings, and the duration included in one timing may be several milliseconds or several slots, which is not a limitation of the present application. For example, the communication window of the first device may include timing 1, timing 2, and timing 3, and the durations of the three timings are equal to or less than the duration of the communication window of the first device. The first timing may be any one of timing 1, timing 2, and timing 3. For example, when the first timing is timing 2, the non-first timings are timing 1 and timing 3, and the second device receiving the broadcast message at the non-first timings during the communication window of the first device means that the second device receives the broadcast message at timing 1 and timing 3 during the communication window of the first device.
[0006] According to the technical solution of the present application, a primary device in a network sets a timing corresponding to a secondary device in a communication window, allowing the secondary device to receive broadcast messages at a different timing, which can avoid frequent topology changes and reduce resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0007] With respect to the first aspect, in some implementations of the first aspect, the correspondence between the device ID of the second device and the first timing further indicates to the second device to send a broadcast message at the first timing during the communication window of the first device.
[0008] According to the technical solution of the present application, a primary device in a network sets a corresponding timing for a secondary device in a communication window, allowing the secondary device to send a broadcast message at a corresponding timing and receive the broadcast message at another timing, thereby avoiding frequent topology changes and reducing resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0009] Regarding the first aspect, in some implementations of the first aspect, the first device determining a correspondence between a device ID of a second device and a first timing includes: the first device receiving first information from the second device, the first information indicating that the second device sends data at an idle timing during a communication window; and determining a correspondence between the device ID of the second device and the first timing, the first timing being the idle timing.
[0010] With regard to the first aspect, in some implementations of the first aspect, before sending the response, the method further includes: the first device receiving second information from the second device, the second information indicating that the second device requests access to the network, and the first device sending third information to the second device, the third information indicating that the second device has gained access to the network.
[0011] Regarding the first aspect, in some implementations of the first aspect, before receiving the second information from the second device, the method further includes: the first device sends fourth information to the second device, the fourth information including a network identification and a weight of the first device in the network, and the network identification and the weight of the first device in the network are used to determine whether the second device requests access to the network. The network identification includes at least one of a universally unique identifier (UUID), an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a preconfigured identifier. For example, the network identification may be several numbers entered for creating a face-to-face group, a pre-shared identifier, or an identifier specified by a protocol.
[0012] Regarding the first aspect, in some implementations of the first aspect, before sending the correspondence to the second device, the method further includes: the first device sends information regarding a communication window of the first device to the second device, where the information regarding the communication window indicates a start instant of the communication window and a duration of the communication window.
[0013] According to a second aspect, a networking device communication method is provided, including: a second device receives a correspondence between a device identity ID of the second device and a first timing from a first device, the first device and the second device belong to the same network, the first device is a primary device in the network, and the second device is a secondary device in the network; and the second device receives a broadcast message at a non-first timing in a communication window of the first device based on the correspondence between the device ID of the second device and the first timing.
[0014] According to the technical solution of the present application, a primary device in a network sets a timing corresponding to a secondary device in a communication window, allowing the secondary device to receive broadcast messages at a different timing, which can avoid frequent topology changes and reduce resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0015] Regarding the second aspect, in some implementations of the second aspect, the method further includes: the second device sends a broadcast message at a first timing during the communication window of the first device based on a correspondence between a device ID of the second device and the first timing.
[0016] According to the technical solution of the present application, a primary device in a network sets a corresponding timing for a secondary device in a communication window, allowing the secondary device to send a broadcast message at a corresponding timing and receive the broadcast message at another timing, thereby avoiding frequent topology changes and reducing resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0017] Regarding the second aspect, in some implementations of the second aspect, before receiving the response from the first device, the method further includes: the second device sends data at idle timing during a communication window of the first device, and the idle timing is used by the first device to determine the first timing.
[0018] Regarding the second aspect, in some implementations of the second aspect, before receiving the response, the method further includes: the second device sending second information to the first device, the second information being used to request access to the network; and the second device receiving third information from the first device, the third information indicating that the second device has gained access to the network.
[0019] Regarding the second aspect, in some implementations of the second aspect, before sending the second information to the first device, the method further includes: the second device receives fourth information from the first device, the fourth information including a network identification and a weight of the first device in the network; the second device determines to request access to the network based on the network identification and the weight of the first device in the network; the network identification includes at least one of a universally unique identifier (UUID), an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a preconfigured identifier; when the network identity owned by the second device matches the network identity of the first device, the second device and the first device may form the same network; matching network identities includes, but is not limited to, the above-described network identification information being the same, and may alternatively be the devices having the same mapping relationship. For example, the network identities of at least two devices may be understood to match when the devices have the same account, are in the same conference room, or have the same numbers sent and entered in a specific manner. In another example, the network identification information may be some numbers entered to create a face-to-face group, a pre-shared identifier, or an identifier specified in a protocol. The numbers or identifiers of at least two devices may be the same, which may be understood to match the network identities of the at least two devices.
[0020] Regarding the second aspect, in some implementations of the second aspect, determining by the second device to request access to the network based on the network identification information and the weight of the first device in the network includes: the second device determining that the network identification information matches the network identification information of the second device and that the weight of the first device in the network is greater than the weight of the second device in the network; the second device determining to request access to the network.
[0021] Regarding the second aspect, in some implementations of the second aspect, before sending the second information, the method further includes: the second device receiving, from the first device, information regarding the communication window of the first device, the information regarding the communication window indicating a start moment of the communication window and a duration of the communication window; and the second device synchronizing with the first device based on the information regarding the communication window.
[0022] According to a third aspect, an electronic device is provided, comprising: a processing module configured to determine a correspondence between a device identity ID of a second device and a first timing, wherein the first device and the second device belong to the same network, the first device being a primary device in the network, and the second device being a secondary device in the network; and a transceiver module configured to send the correspondence between the device ID of the second device and the first timing to the second device, wherein the correspondence between the device ID of the second device and the first timing indicates to the second device to receive a broadcast message at a non-first timing during a communication window of the first device.
[0023] With respect to the third aspect, in some implementations of the third aspect, the correspondence between the device ID of the second device and the first timing further indicates to the second device to send a broadcast message at the first timing during the communication window of the first device.
[0024] With regard to the third aspect, in some implementations of the third aspect, the transceiver module is specifically configured to receive first information, the first information indicating that the second device sends data at an idle timing during a communication window of the first device, and the processing module is specifically configured to determine a correspondence between a device ID of the second device and the first timing, the first timing being the idle timing.
[0025] With regard to the third aspect, in some implementations of the third aspect, the transceiver module is further configured to receive second information, the second information indicating that the second device requests access to the network, and the transceiver module is further configured to send third information, the third information indicating that the second device has gained access to the network.
[0026]
[0013] With regard to the third aspect, in some implementations of the third aspect, the transceiver module is further configured to send fourth information, the fourth information including a network identification and a weight of the first device in the network, and the network identification and the weight of the first device in the network are used to determine whether the second device requests access to the network. The network identification includes at least one of a universally unique identifier UUID, an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a pre-configured identifier.
[0027] With regard to the third aspect, in some implementations of the third aspect, the transceiver module is further configured to send information regarding a communication window of the first device, wherein the information regarding the communication window indicates a start moment of the communication window and a duration of the communication window.
[0028] According to a fourth aspect, an electronic device is provided, including a transceiver module configured to receive a correspondence between a device identity ID of a second device and a first timing from a first device, the first device and the second device belonging to the same network, the first device being a primary device in the network, and the second device being a secondary device in the network, and the transceiver module is further configured to receive a broadcast message at a non-first timing during a communication window of the first device based on the correspondence between the device identity ID of the second device and the first timing.
[0029] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver module is further configured to send a broadcast message at a first timing during the communication window of the first device based on a correspondence between a device ID of the second device and the first timing.
[0030] With respect to the fourth aspect, in some implementations of the fourth aspect, the transceiver module is further configured to send data at idle timing during a communication window of the first device, the idle timing being used by the first device to determine the first timing.
[0031] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver module is further configured to send second information, where the second information is used to request access to the network, and the transceiver module is further configured to receive third information, where the third information indicates that the second device has gained access to the network.
[0032]
[0013] With regard to the fourth aspect, in some implementations of the fourth aspect, the transceiver module is further configured to receive fourth information, the fourth information including a network identification and a weight of the first device in the network, and the processing module is further configured to determine to request access to the network based on the network identification and the weight of the first device in the network. The network identification includes at least one of a universally unique identifier UUID, an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a pre-configured identifier.
[0033] With respect to the fourth aspect, in some implementations of the fourth aspect, the processing module is particularly configured to: determine that the network identification information matches the network identification information of the second device and that a weighting of the first device in the network is greater than a weighting of the second device in the network; and determine to request access to the network.
[0034] Regarding the fourth aspect, in some implementations of the fourth aspect, the transceiver module , th The processing module is further configured to receive information regarding a communication window of the first device, the information regarding the communication window indicating a start moment of the communication window and a duration of the communication window, and the processing module is configured to synchronize with the first device based on the information regarding the communication window.
[0035] According to a fifth aspect, a chip is provided, the chip including a processor and a data interface, the processor reads instructions stored in a memory through the data interface to perform a method according to any one of the implementations of the first and second aspects.
[0036] Optionally, in the implementation, the chip may further include a memory, the memory storing instructions, and the processor configured to execute the instructions stored in the memory, such that when the instructions are executed, the processor is configured to perform a method according to any one of the implementations of the first and second aspects.
[0037] According to a sixth aspect, there is provided a computer program storage medium, the computer-readable medium storing program code, which, when run on a computer, enables the computer to execute instructions for any one of the possible implementations of the first and second aspects.
[0038] According to a seventh aspect, there is provided a computer program product comprising instructions, which when run on a computer, enable the computer to carry out a method according to any one of the implementations of the first and second aspects.
[0039] According to an eighth aspect, an electronic device is provided, comprising a module for performing any one of the possible implementations of the first and second aspects.
[0040] According to a ninth aspect, a communication device is provided, configured to perform a method according to any one of the possible implementations of the first and second aspects.
[0041] According to a tenth aspect, there is provided a communication device, the device including a processor and a memory. The processor is coupled to the memory. The memory is configured to store a computer program. The processor is configured to execute the computer program stored in the memory to enable the communication device to perform a method according to any one of the possible implementations of the first and second aspects.
[0042] According to an eleventh aspect, there is provided a communications device. The device includes a processor, a memory, and a transceiver. The memory is configured to store a computer program. The processor is configured to execute the computer program stored in the memory to enable the device to perform a method according to any one of the possible implementations of the first and second aspects.
[0043] According to a twelfth aspect, there is provided a communication device, the communication device including at least one processor and a communication interface. The communication interface is used by the communication device to exchange information with another communication device. When program instructions are executed in the at least one processor, the communication device is enabled to implement a method according to any one of the possible implementations of the first and second aspects.
[0044] According to a thirteenth aspect, there is provided a processor, the processor including at least one circuit configured to perform a method according to any one of the first and second aspects.
[0045] According to a fourteenth aspect, there is provided a chip system, the chip system including at least one processor, wherein when program instructions are executed in the at least one processor, the chip system is capable of implementing a method according to any one of the possible implementations of the first and second aspects.
[0046] According to a fifteenth aspect, a communication system is provided. The communication system includes a first device and a second device. The first device and the second device belong to the same network. The first device is a primary device in the network. The second device is a secondary device in the network. The first device is configured to send a correspondence between a device ID of the second device and a first timing. The second device is configured to receive a broadcast message at a non-first timing during a communication window of the first device based on the correspondence between the device ID of the second device and the first timing.
[0047] With regard to the fifteenth aspect, in some implementations of the fifteenth aspect, the second device is further configured to send a broadcast message at a first timing during the communication window of the first device based on a correspondence between the device ID of the second device and the first timing.
[0048] With regard to the fifteenth aspect, in some implementations of the fifteenth aspect, the second device is further configured to send data at idle timing during a communication window of the first device, and the first device is particularly configured to determine the first timing based on the idle timing.
[0049] With regard to the fifteenth aspect, in some implementations of the fifteenth aspect, the second device is further configured to send second information, where the second information is used to request access to the network, and the first device is further configured to send third information, where the third information indicates that the second device has gained access to the network.
[0050] Regarding the fifteenth aspect, in some implementations of the fifteenth aspect, the first device is further configured to send fourth information, where the fourth information includes a network identification and a weight of the first device in the network. The network identification includes at least one of a universally unique identifier UUID, an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a preconfigured identifier. When a network identity owned by the second device matches a network identity of the first device, the second device and the first device may form the same network.
[0051] In some implementations of the fifteenth aspect, the first device is further configured to send information about a communication window of the first device, the information about the communication window indicating a start moment of the communication window and a duration of the communication window, and the second device is further configured to synchronize with the communication window of the first device based on the information about the communication window of the first device. [Brief explanation of the drawings]
[0052] [Figure 1] FIG. 1 is a diagram of current interactions between networking devices. [Figure 2] 1 is a diagram of the current Wi-Fi basic service set (BSS) topology. [Figure 3] 1 is a diagram of the current topology of piconets and scatternets; [Figure 4] 1 illustrates a system architecture to which a networking device communication method according to an embodiment of the present application is applicable; [Figure 5] 1 is a diagram of a hardware structure of an electronic device according to an embodiment of the present application; [Figure 6] Specific application scenarios according to the present application are presented. [Figure 7]FIG. 1 is a diagram of a new Sparklink short-range protocol architecture according to an embodiment of the present application. [Figure 8] 1 is a schematic flowchart of a networking device communication method according to an embodiment of the present application; [Figure 9] 1 is a schematic flowchart of a specific example of a networking device communication method according to an embodiment of the present application; [Figure 10] 1 is a schematic flowchart of a SparkLink access method according to an embodiment of the present application; [Figure 11] 2 is a schematic flowchart of a bus access method according to an embodiment of the present application; [Figure 12] FIG. 2 illustrates a bitmap format of an Association ID according to an embodiment of the present application. [Figure 13] 4 is a schematic flowchart of another specific example of a networking device communication method according to an embodiment of the present application. [Figure 14] 10 is a schematic flowchart of yet another specific example of a networking device communication method according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0053] The technical solutions of the present application are described below with reference to the accompanying drawings.
[0054] The terms used in the following embodiments are intended to describe specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims of this application, the singular terms "an," "a," "the," "above," and "this" are also intended to include expressions such as "one or more," unless the context clearly dictates otherwise. In the following embodiments of this application, "at least one" and "one or more" should be further understood to mean one, two, or more. The term "and / or" describes an association relationship between associated objects and indicates that three relationships may exist. For example, A and / or B may indicate that only A is present, both A and B are present, and only B is present, and A and B may be singular or plural. The character " / " typically indicates an "or" relationship between associated objects.
[0055] References to "an embodiment," "some embodiments," etc. described herein mean that one or more embodiments of the present application include the particular feature, structure, or characteristic described with reference to the embodiment. Thus, statements such as "in an embodiment," "in some embodiments," "in some other embodiments," and "in other embodiments" appearing in different places herein do not necessarily mean to refer to the same embodiment. Instead, these statements mean "one or more, but not all, of the embodiments," unless specifically emphasized otherwise. The terms "including," "comprising," and "having" and variations thereof all mean "including but not limited to," unless specifically emphasized otherwise.
[0056] Figure 1 is a diagram of current interactions between networking devices. As shown in Figure 1, Wi-Fi Aware™ (awareness) is a neighbor awareness networking (NAN) protocol that can quickly discover, connect to, and exchange data with other Wi-Fi devices without traditional network infrastructure, Internet connectivity, or GPS signals, thereby extending Wi-Fi capabilities. Wi-Fi Aware™ establishes independent point-to-point Wi-Fi connections based on a user's current location and preferences to provide a pervasive experience in the present moment. In an interactive network, devices in the network send sync beacons and service discovery frames within a discovery window (DW) and discovery beacons beyond the DW.
[0057] In the above interactive network, devices based on the same communication protocol form a network. Therefore, unrelated devices with different accounts, in different scenarios, or the like form a network, and slot resources cannot be accurately divided for each node device. In addition, each node device needs to monitor the carrier. This may cause communication conflicts and unnecessary power consumption.
[0058] Figure 2 is a diagram of the current Wi-Fi basic service set (BSS) topology. Wi-Fi is a network with a central core. One network interface controller can only be added to one BSS. As shown in Figure 2, the BSS includes an access point (AP) and other nodes (stations) (e.g., Node 1, Node 2, and Node 3) and has a star topology. The AP is a network manager responsible for node access. Communication between nodes must be carried out through the AP.
[0059] Figure 3 is a diagram of the current topology of piconets and scatternets. Bluetooth is a point-to-point (ad hoc) network that includes piconets and scatternets. As shown in Figure 3, a piconet includes a primary device and a secondary device, and a scatternet includes multiple piconets. A piconet needs to be established for communication between nodes. When there are a large number of devices, establishing a piconet consumes a large amount of resources, such as connection resources, power resources, and air interface resources. In a distributed scenario, each node needs to synchronize data with another node. In this case, a complete graph topology is required. A complete graph of N nodes requires N(N-1) / 2 connections.
[0060] The networks shown in Figures 2 and 3 have the following drawbacks:
[0061] (1) A connection heartbeat must be maintained between any two nodes that communicate directly with each other. Relay nodes perform the forwarding, leading to high power consumption for devices.
[0062] (2) Communication between multiple devices needs to be completed through multiple hops, leading to long communication delays.
[0063] (3) When an AP serving as a relay point is disconnected, the entire network is disconnected, leading to poor mobility performance.
[0064] (4) To maintain heartbeat between any two points, slots must be independently occupied, leading to low channel utilization.
[0065] Based on the above reasons, the present application proposes a networking device communication method and an electronic device to avoid frequent topology changes and reduce resource overhead when the quantity of networking devices is large and continuously changes with mobile scenarios.
[0066] 4 shows a system architecture to which the networking device communication method according to an embodiment of the present application is applicable. As shown in FIG. 4, in this embodiment of the present application, the networking devices may include mobile phones, headsets, computers, watches, portable computers, head units, etc. These devices are connected together through a wireless bus to form a device network.
[0067] 5 is a diagram of a hardware structure of an electronic device according to an embodiment of the present application. The electronic device 500 shown in FIG. 5 is only an example, and the electronic device 500 may include more or fewer components than those shown in the figure, may combine two or more components, or may have a different component configuration. The components shown in the figure may be implemented in hardware, including one or more signal processing circuits and / or application specific integrated circuits, software, or a combination of hardware and software.
[0068] The electronic device 500 may include a processor 510, an external memory interface 520, an internal memory 521, a universal serial bus (USB) interface 530, a charging management module 540, a power management module 541, a battery 542, an antenna 1, an antenna 2, a mobile communication module 550, a wireless communication module 560, an audio module 570, a speaker 570A, a receiver 570B, a microphone 570C, a headset jack 570D, a sensor module 580, a button 590, a motor 591, an indicator 592, a camera 593, a display 594, a subscriber identity module (SIM) card interface 595, and the like. The sensor module 580 may include a pressure sensor 580A, a gyroscope sensor 580B, a barometric pressure sensor 580C, a magnetic sensor 580D, an acceleration sensor 580E, a distance sensor 580F, an optical proximity sensor 580G, a fingerprint sensor 580H, a temperature sensor 580J, a touch sensor 580K, an ambient light sensor 580L, a bone conduction sensor 580M, and the like.
[0069] The processor 510 may include one or more processing units. For example, the processor 510 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent components or may be integrated into one or more processors. In some embodiments, the electronic device 500 may alternatively include one or more processors 510. The controller may generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and instruction execution. In some other embodiments, a memory may be further disposed in the processor 510 to store instructions and data. For example, the memory in the processor 510 may be a cache. The memory may store instructions or data being used or cyclically used by the processor 510. When the processor 510 needs to use the instructions or data again, the processor may retrieve the instructions or data directly from the memory, which avoids repeated accesses and reduces the waiting time of the processor 510, thus improving the data processing or instruction execution efficiency of the electronic device 500.
[0070] In some embodiments, the processor 510 may include one or more interfaces. The 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 SIM card interface, a USB interface, etc. The USB interface is an interface that conforms to the USB standard specifications and may specifically be a mini USB interface, a micro USB interface, a USB Type-C interface, etc. The USB interface may be used to connect a charger to charge the electronic device 500 or may be configured to transmit data between the electronic device 500 and a peripheral device. The USB interface may alternatively be used to connect a headset to play audio through the headset.
[0071] It can be understood that the inter-module interface connection relationships shown in this embodiment of the present application are merely illustrative examples and do not constitute limitations on the structure of the electronic device 500. In some other embodiments of the present application, the electronic device 500 may alternatively use an interface connection mode different from that in the above embodiment, or may use a combination of multiple interface connection modes.
[0072] The wireless communication functionality of the electronic device 500 may be implemented by Antenna 1, Antenna 2, a mobile communication module 550, a wireless communication module 560, a modem processor, a baseband processor, etc.
[0073] Antenna 1 and Antenna 2 are configured to transmit and receive electromagnetic signals. Each of the antennas in electronic device 500 may be configured to cover one or more communication frequency bands. To improve antenna utilization, different antennas may be further reused. For example, Antenna 1 may be reused as a diversity antenna for a wireless local area network. In some other embodiments, antennas may be used in combination with tuning switches.
[0074] The mobile communication module 550 may provide a solution applied to the electronic device 500 for wireless communication, such as 2G / 3G / 4G / 5G. The mobile communication module 550 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 550 may receive electromagnetic waves through the antenna 1, perform processing, such as filtering or amplification, on the received electromagnetic waves, and send the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 550 may further amplify signals modulated by the modem processor and convert the amplified signals into electromagnetic waves for emission through the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 550 may be disposed in the processor 510. In some embodiments, at least some functional modules of the mobile communication module 550 may be disposed in the same component as at least some modules of the processor 510.
[0075] The wireless communication module 560 may provide a solution applied to the electronic device 500 for wireless communication, such as a wireless local area network (WLAN) (e.g., a wireless fidelity (Wi-Fi) network), Bluetooth (BT), a global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC) technology, or infrared (IR) technology. The wireless communication module 560 may be one or more components integrating at least one communication processor module. The wireless communication module 560 receives electromagnetic waves through the antenna 2, performs frequency modulation and filtering on the electromagnetic wave signals, and sends the processed signals to the processor 510. The wireless communication module 560 may further receive signals to be sent from the processor 510, perform frequency modulation and amplification on the signals, and convert the processed signals into electromagnetic waves for emission through the antenna 2.
[0076] The electronic device 500 implements display functionality through a GPU, a display 594, an application processor, etc. The GPU is a microprocessor for image processing and is connected to the display 594 and the application processor. The GPU is configured to perform mathematical and geometric calculations for graphics rendering. The processor 510 may include one or more GPUs that execute program instructions to generate or modify display information.
[0077] Display 594 is configured to display images, videos, etc. Display 594 includes a display panel. In some embodiments, electronic device 500 may include one or N displays 594, where N is a positive integer greater than 1.
[0078] The electronic device 500 may implement image capture functionality through an ISP, a camera 593, a video codec, a GPU, a display 594, an application processor, etc. The camera 593 is configured to capture still or video images. An optical image of an object is generated through a lens and projected onto a photosensitive element. The photosensitive element converts the optical signal into an electrical signal, which is then sent to the ISP, which converts the electrical signal 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 an image signal in a standard format, e.g., RGB or YUV. In some embodiments, the electronic device 500 may include one or N cameras 593, where N is a positive integer greater than 1.
[0079] The speaker 570A, also referred to as a "loudspeaker," is configured to convert electrical audio signals into sound signals. The electronic device 500 may be used to listen to music or answer calls in hands-free mode through the speaker 570A.
[0080] The Microphone 570C is a (mike) " or "Mike (mic) " and is configured to convert an acoustic signal into an electrical signal.
[0081] In some embodiments, the electronic device may be a portable electronic device that further includes other functions, such as a personal digital assistant function and / or a music player function, e.g., a mobile phone, a tablet computer, a wearable electronic device with wireless communication capabilities (e.g., a smart watch), a video player, a headset, a speaker, or a camera. Exemplary embodiments of a portable electronic device include, but are not limited to, a portable electronic device with iOS®, Android®, Microsoft®, or another operating system installed. The portable electronic device may alternatively be another portable electronic device, e.g., a laptop computer. It should be further understood that in some other embodiments, the electronic device may alternatively not be a portable electronic device, but may be a desktop computer, a television, a speaker, a camera, etc.
[0082] FIG. 6 illustrates a specific application scenario according to the present application. The embodiments of the present application may be particularly applied to a new Sparklink short-range protocol architecture. As shown in FIG. 6, the new Sparklink short-range protocol architecture may include an access layer, a host, and an application (APP). The access layer may support multiple access technologies simultaneously. A normalized host protocol is located above the access layer. The host may dynamically schedule the access technologies supported by the access layer according to the corresponding requirements of the application.
[0083] In particular, as shown in Figure 7, a host may include a basic application layer and a basic service layer. The basic application layer may be responsible for adapting to different service requirements of upper layer applications (e.g., service requirement 1, service requirement 2, ..., and service requirement 5) and routing data to the basic service layer based on one or more of inter-layer primitives, ports, application identification (AID), and internet protocol (IP) addresses.
[0084] A port may be a channel in the basic application layer, which may register a port for a service of an application and send data of the service to the basic service layer through the port.
[0085] The application identification may be the identification of the mapping between the service function set and the quality of service (QoS) flow in the application layer. Different service function sets may be distinguished by business identification (BID). Based on different types of services, the basic application layer may include multiple different service function sets (also described as service modules or service frameworks), and the different service function sets may include classified data processing for the services.
[0086] For example, as shown in Figure 7, the basic application layer may include a basic communication framework, a generic awareness framework, a generic video framework, a generic audio framework, a generic data framework, and an in-vehicle control framework. The generic awareness framework may include processing of awareness data. The generic video framework may include processing of video, e.g., encoding and decoding. The generic audio framework may include processing of audio, e.g., encoding and decoding. The generic data framework may include processing of file data, e.g., encryption and compression. The in-vehicle control framework may include processing of in-vehicle control data.
[0087] 7, the basic service layer may include multiple modules or functional units, including, but not limited to, a device discovery module, a service discovery module, a connection management module, a QoS management module, a security management module, a measurement management module, a multi-domain coordination module, a fifth-generation mobile communication technology (5G) convergence module, etc., to implement functions such as creating, adding, deleting, or releasing a transmission channel (TC), controlling a logical channel (LC) (e.g., selecting an access technology), and adapting to the service requirements (e.g., traffic, rate, audio quality, and resolution) of the basic application layer. The basic service layer is compatible with multiple access layer technologies supported by the access layer, e.g., SLB access technology and SLE access technology, and ensures the ability to be compatible with more access technologies in the future.
[0088] In particular, the device discovery module may be configured to discover a device when a connection to the device is not established. The service discovery module may be configured to discover a device and operate services on it. The connection management module may be configured to manage transmission channels, including creating, adding, deleting, or releasing transmission channels. The QoS management module may be configured to manage and negotiate the QoS of transmission. The security management module is responsible for secure connections at the basic service layer. The measurement management module may be configured to configure underlying measurements and scheduling for power control, etc. In scenarios where multiple domains (subnets) exist, the multi-domain coordination module may implement information exchange between domains and implement interference avoidance and load balancing among the multiple domains. The 5G convergence module may be configured to establish a channel with cellular 5G remote management capabilities and implement devices with cellular 5G remote control capabilities through authentication and verification mechanisms.
[0089] A transmission channel may be a channel in the basic service layer, and a logical channel (also described as a logical link) may be a channel in the access layer. One logical channel corresponds to one access technology. When a communication device needs to send or broadcast data, the basic application layer of the communication device may send the data to the basic service layer through a port, the basic service layer may send the data to the access layer through a transmission channel, and the access layer may send or broadcast the data through a logical channel. When a communication device needs to receive or scan data, the access layer of the communication device may send the received or scanned data to the basic service layer through a logical channel, and the basic service layer may send the data to the basic application layer through a transmission channel and a port.
[0090] For example, as shown in Figure 7, the basic application layer may send non-IP (non-IP) data carrying an AID to the basic service layer through a port, or may send IP data carrying an IP 5-tuple to the basic service layer through a port. The basic service layer may send data sent by the basic application layer to the access layer through a transmission channel according to the transmission and control adaptation protocol, or may send data sent by the basic application layer to the access layer through a transmission channel according to the IP protocol, or may send data sent by the basic application layer to the access layer through a transmission channel in transparent data transmission mode. Through the ultra path interconnect (UPI), it can be determined whether data should be sent according to the transmission and control adaptation protocol, or whether data should be sent according to the IP protocol, or whether data should be sent in transparent data transmission mode.
[0091] In addition, transmissions in the basic service layer may be classified into control plane transmissions and service plane transmissions. Correspondingly, transmission channels in the basic service layer may include control channels and service channels. The control channels are used to transmit control plane data, and the service channels are used to transmit service plane data.
[0092] The service channel may include a unicast service channel, a multicast service channel, and a broadcast service channel. The unicast service channel is a service channel for transmitting unicast services and can implement point-to-point transmission. The multicast service channel is a service channel for transmitting multicast services and can implement point-to-group transmission. The multicast service channel has underlying feedback (acknowledgment) and has a specific underlying reliability. The broadcast service channel is a service channel for transmitting broadcast services and can implement connectionless transmission. The broadcast service channel does not have underlying feedback (acknowledgment), and reliability needs to be guaranteed through multiple transmissions.
[0093] It should be noted that one or more ports in the basic application layer may correspond to the same transmission channel in the basic service layer, and one or more transmission channels in the basic service layer may correspond to the same logical channel in the access layer. In addition, a logical channel provides a basis for establishing a transmission channel in the basic service layer, and the transmission channel in the basic service layer is only available after the logical channel is successfully established.
[0094] As shown in FIG. 7, the access layer may be responsible for processing the underlying logical channels, e.g., establishing, reconfiguring, or deleting logical channels, to meet the service requirements (e.g., reliable data and real-time data) of the basic service layer. The logical channels may be used to transmit services between two communication devices. The access layer may include multiple access technologies, including, but not limited to, the access technology of the Sparklink Basic (SLB) short-range wireless communication system, the access technology of the Sparklink Low Energy (SLE) short-range wireless communication system, and other access technologies, such as Bluetooth Low Energy (BLE) technology and other Sparklink Alliance access technologies in the future.
[0095] For example, as shown in FIG. 7, the access layer may include a data link layer and a physical layer. The data link layer may be configured to implement functions such as resource management, access control, data segmentation, concatenation, and reordering to ensure reliable data transmission. The physical layer may provide the data link layer with a physical connection through a transmission medium to transparently transmit bit streams. In some embodiments, the data link layer may further include a link control layer and a medium access layer. The link control layer mainly implements link control protocol (LCP) interactions over control links based on links established between nodes to implement functions such as physical / logical link management and device behavior control. The medium access layer is responsible for allocating radio resources and providing data transmission services to the link control layer.
[0096] Optionally, for a communication device that supports two access technologies (e.g., supports both SLB access technology and SLE access technology), the access layer of the communication device may implement SLB access and SLE access, respectively, through different modules.
[0097] Based on the above description, host protocols (or described as upper layer protocols), including a basic application layer and a basic service layer, can be adapted to the underlying access layer to support different service requirements. In particular, the host protocols may be provided for a service function set to initiate service requests and transmit and control service data.
[0098] 8 is a schematic flowchart of a networking device communication method according to an embodiment of the present application. A first device 801 and a second device 802 belong to the same network. The first device 801 is a primary device in the network. The second device 802 is a secondary device in the network.
[0099] Optionally, the method may include the following S810: The first device sends fourth information, where the fourth information includes identification information of the network and a weight of the first device in the network.
[0100] In response, the second device receives the fourth information. The second device may determine whether to access the network based on the network identification information and the weight of the first device in the network. For example, when the second device determines that the network identification information matches the network identification information of the second device and the weight of the first device in the network is greater than the weight of the second device in the network, the second device determines to request access to the network.
[0101] The network identification information includes at least one of a universally unique identifier (UUID), an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a preconfigured identifier. When the network identity owned by the second device matches the network identity of the first device, the second device and the first device may form the same network. Matching of the device's network identities includes, but is not limited to, the devices having the same network identification information as described above. Alternatively, the devices may have the same mapping relationship. For example, the network identities of at least two devices may match when the devices have the same account, are in the same conference room, or are sent and entered in a specific manner. In another example, the network identification information may be several numbers entered to create a face-to-face group, a pre-shared identifier, or an identifier specified in a protocol. The numbers or identifiers of at least two devices being the same may be understood as the network identities of the at least two devices matching. The first device sending the fourth information may be sending the fourth information in the form of a broadcast message. Receiving the fourth information by the second device may be receiving the fourth information by scanning the received broadcast message.
[0102] Optionally, the method may further include the following S820: the first device sends information about a communication window of the first device, where the information about the communication window of the first device indicates a start instant of the communication window and a duration of the communication window.
[0103] In response, the second device receives information regarding the communication window of the first device.
[0104] The first device sending the information regarding the communication window of the first device may be sending the information regarding the communication window in the form of a broadcast message, and the second device receiving the information regarding the communication window of the first device may be receiving the information regarding the communication window by scanning the received broadcast message.
[0105] Optionally, the method may further include the following step S830: The second device synchronizes with the first device based on the information about the communication window of the first device.
[0106] The first device may send multiple different communication window offsets by sending broadcast messages. Specifically, the content carried in each broadcast may indicate one communication window, and the opportunity and channel of a subsequent communication window may be inferred based on the communication window. The second device may scan the received broadcast messages to obtain the communication window offset and synchronize with the communication window of the first device based on the information about the communication window obtained in S820.
[0107] Optionally, the method may further include the following step S840: The second device sends second information, where the second information is used to request access to the network.
[0108] In response, the first device receives the second information sent by the second device.
[0109] The second information may include identification information of the network and a device ID of the second device, and the second information may be carried in the access request message.
[0110] Optionally, the method may further include the following S850: The first device sends third information, where the third information indicates that the second device has gained access to the network.
[0111] In response, the second device receives the third information sent by the first device.
[0112] The third information may be carried in the access response message.
[0113] Furthermore, the method may include the following step S860: The first device determines a correspondence between the device ID of the second device and the first timing.
[0114] The first device may determine the correspondence between the device ID of the second device and the first timing in the following two ways.
[0115] Method 1:
[0116] The first device receives first information from the second device, the first information indicating that the second device will send data at an idle timing during a communication window, and the first device determines a correspondence between a device ID of the second device and the first timing, where the first timing may be the idle timing or another timing determined for the second device by the first device.
[0117] Method 2:
[0118] The first device independently determines a correspondence between the device ID of the second device and the first timing. For example, the first device may determine the corresponding timing for the second device based on a sequence in which the second device accesses the network. In another example, the first device may determine the corresponding timing for the second device based on a weight of the second device in the network.
[0119] S870: The first device sends the correspondence between the device ID of the second device and the first timing.
[0120] Correspondingly, the second device receives from the first device a correspondence between the device ID of the second device and the first timing.
[0121] The correspondence between the device ID of the second device and the first timing may indicate to the second device that it will receive a broadcast message at a non-first timing during the communication window of the first device. The first timing may be understood as a time sequence within the communication window. A communication window may be divided into multiple timings according to the time sequence. The duration of one timing may be several milliseconds or several slots. This is not limited in the present application. For example, the communication window of the first device may include timing 1, timing 2, and timing 3, each of which may include a specific duration, and the total duration of the three timings may be equal to or less than the duration of the communication window of the first device. The first timing may be any one of timing 1, timing 2, and timing 3. For example, when the first timing is timing 2, the non-first timings are timing 1 and timing 3. Receiving a broadcast message at a non-first timing during the communication window of the first device means that the second device receives a broadcast message at timing 1 and timing 3 during the communication window of the first device.
[0122] Optionally, the correspondence between the device ID of the second device and the first timing may further indicate to the second device to send a broadcast message at the first timing during the communication window of the first device.
[0123] The correspondence and the third information may be carried in the same message or the same signaling, or the third information is the correspondence. In other words, S850 and S870 may be performed simultaneously, or S850 and S870 are one step. In this case, the second device receiving the correspondence from the first device indicates that the second device has successfully gained access to the network to which the first device belongs.
[0124] Optionally, the first device may further determine a validity period of the correspondence and send the validity period to the second device. The validity period may indicate that the correspondence between the device ID of the second device and the first timing is valid within this validity period. The validity period may be one or more periodicities, or one or more milliseconds, or the correspondence remains valid until the next time the correspondence is received. This is not limited in the present application.
[0125] Optionally, the method may further include the following step S880: The second device sends a broadcast message at a first timing during a communication window of the first device.
[0126] Correspondingly, other devices in the network (including the first device) may receive the broadcast message from the second device at a first time during the communication window of the first device.
[0127] The second device may further receive the broadcast message at a non-first timing during the communication window of the first device.
[0128] According to the technical solution of the present application, a primary device (e.g., a first device) in a network sets a timing for a secondary device (e.g., a second device) to send a broadcast in a communication window, allowing the secondary device to send a broadcast message at a corresponding timing and receive the broadcast message at another timing, thereby avoiding frequent topology changes and reducing resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0129] 9 shows a specific example of a networking communication method according to an embodiment of the present application. In this embodiment of the present application, the prerequisite for a first device to determine timing for a second device is as follows: the first device and the second device belong to the same network, the first device is a primary device in the network, and the second device is a secondary device in the network. Therefore, the first device and the second device need to complete a network access process first.
[0130] As shown in FIG. 9, the networking devices may include a mobile phone 200, a headset 300, and a head unit 400. Each of the networking devices has its own weight, which may be carried in a broadcast message. For example, the mobile phone 200 has the highest weight, the head unit 400 has a medium weight, and the headset 300 has the lowest weight. Devices in the same group may perform networking to form the same network. Alternatively, devices in a network may be devices with the same mapping relationship, such as devices with the same account, devices in the same conference room, or devices where the same authentication number is sent and entered in a specific manner. Before devices perform networking, a primary device needs to be elected first. The device with the highest weight is PrimaryIn this case, one device becomes a primary device, and another device becomes a secondary device. Specifically, the mobile phone 200, the headset 300, and the head unit 400 form a network, with the mobile phone 200 being the primary device (first device) and the headset 300 and the head unit 400 being secondary devices (second devices). In order to synchronize with the primary device, the secondary device synchronizes with the communication window of the primary device in terms of opportunity and channel. Optionally, when the weight of a new device accessing the network is greater than the weight of the current primary device, the devices in the current network may synchronize with the communication window of the new primary device in order to synchronize with the new primary device.
[0131] A specific example of the networking communication method provided in this embodiment of the present application may include a discovery state 101 and a synchronization state 102. The discovery state 101 may include steps S810 and S820 shown in Figure 8, and the synchronization state 102 may include steps S830 to S880 shown in Figure 8.
[0132] Before entering the discovery state 101, the mobile phone 200, the headset 300, and the head unit 400 have not discovered each other. For example, as shown in FIG. 9 , the mobile phone 200 being discovered by the headset 300 means that the broadcast 202 sent by the mobile phone 200 is received within the scan window 302 of the headset 300, and the broadcast 202 includes fourth information, which includes the identification information of the network of the mobile phone 200 and the weight of the mobile phone 200 in the network, thereby allowing the headset 300 to obtain the fourth information. That is, the mobile phone 200 may perform S810 in FIG. 8 to send the fourth information, and the headset 300 receives the fourth information, thereby allowing the mobile phone 200 to be discovered by the headset 300.
[0133] Optionally, the broadcast 202 sent by the mobile phone 200 may further include information regarding the communication window of the mobile phone 200. The information regarding the communication window of the mobile phone 200 indicates the start instant of the communication window and the duration of the communication window. For example, as shown in FIG. 9, the information regarding the communication window 104 of the mobile phone 200 may include a communication window offset 204, which may indicate a time offset from the broadcast 202 to the communication window 104. The headset 300 may record the time when the broadcast 202 is received and further perform scanning based on the time when the broadcast 202 is received and the communication window offset 204 carried in the broadcast 202 to obtain a communication window anchor 107. The communication window anchor 107 indicates the start opportunity of the communication window 104 of the broadcaster (here, the mobile phone 200). Each communication window has its own anchor, and different broadcasts may carry different communication window offsets. Specifically, the communication window offset carried in each broadcast may indicate one communication window, and the opportunity and channel for a subsequent communication window may be inferred based on the communication window. In addition, the broadcast 202 may further carry channel information to indicate the operating channel for the communication window 104. That is, the mobile phone 200 may perform S820 of FIG. 8 to send information regarding the communication window of the mobile phone 200, and the headset 300 receives information regarding the communication window of the mobile phone 200.
[0134] Similarly, the broadcast 401 sent by the head unit 400 may also be received within the scan window 302 of the headset 300, thereby allowing the head unit 400 to be discovered by the headset 300. The broadcast 401 may include the network identification information of the head unit 400 and information about the communication window of the head unit 400. For details, please refer to the above description. The details will not be described again here. In this way, the headset 300 completes discovery of the mobile phone 200 and the head unit 400.
[0135] Optionally, the mobile phone 200 or the head unit 400 may discover the other two devices in the same manner. In this way, the mobile phone 200, the headset 300, and the head unit 400 can complete mutual discovery between the devices. For example, the discovery state 101 may last for a period of time to maximize the assurance that devices within communication range are fully discovered and to avoid jitter during synchronization with the primary device.
[0136] After the discovery state 101 ends, the synchronization state 102 is entered. Each device discovers surrounding devices and may compare the weight of the device with the largest weight among the surrounding devices. If the device is the device with the largest weight, no access process is performed; otherwise, the device accesses the device with the largest weight. In this specification, the mobile phone 200 is the device with the largest weight. Therefore, the headset 300 and the head unit 400 access the network of the mobile phone 200. Before accessing the network of the mobile phone 200, the headset 300 and the head unit 400 may perform step S830 shown in FIG. 8, specifically, synchronize with the mobile phone 200 separately based on information about the communication window of the mobile phone 200 obtained from the broadcasts 202 and 203. The information about the communication window of the mobile phone 200 includes, but is not limited to, the communication window offsets 204 and 205, the anchor 107 of the communication window 104, the communication window length 105, the communication window interval 106, and channel information.
[0137] An example in which the head unit 400 accesses the mobile phone 200's network is used for explanation. In this case, the mobile phone 200 may be the first device shown in FIG. 8 , the head unit 400 may be the second device shown in FIG. 8 , and the headset 300 has gained access to the mobile phone 200's network before the head unit 400 accesses the mobile phone 200's network. During the initial access, the head unit 400 may first receive a broadcast in at least one communication window, for example, communication window 403, to obtain a current idle communication timing without sending any data. As shown in FIG. 9 , since a synchronization process has been completed between the communication window 403 of the head unit 400 and the communication window 104 of the mobile phone 200, both the communication window 403 of the head unit 400 and the communication window 104 of the mobile phone 200 are divided into timings 207, 208, and 209 in terms of timing, and each of the timings may include a short period of time within the communication window. The primary device, i.e., mobile phone 200, is arranged to send broadcast 206 in its communication window 104 at time 207, and headset 300, which has gained access to the network, is arranged to send broadcast 303 in its communication window 308 at time 208. Because headset 300 has gained access to the network, communication window 308 and communication window 104 have the same timing configuration. Timing 209 may be idle timing, which is timing not allocated for use by any device.
[0138] The communication duration of a timing is variable and is at least one slot or a few milliseconds. When the timing for the current device's communication arrives, the device may send a variable-length broadcast frame or may send multiple broadcast frames until the broadcast frame carries a reverse order field indicating the specific order of the broadcast frames from the last. When the reverse order field is 0, communication for the current timing ends. Optionally, a more data (MD) field may be used instead. When MD is 1, the current timing has not ended and there are still broadcast frames to be sent. When MD is 0, communication for the current timing ends and the next timing arrives. This mechanism allows each device to send data of different lengths to other devices in the network.
[0139] After the communication window 403 has elapsed, the head unit 400 may determine that the timing 209 is idle based on the correspondence between the timing and the device identity received from the mobile phone 200 and by monitoring the carrier of the timing 209, and may specifically send a broadcast 404 at the timing 209 during the next communication window. The broadcast 404 may include second information. The second information indicates that the head unit 400 requests access to the network of the mobile phone 200. The second information may specifically include identification information of the network of the mobile phone 200 and the device ID of the head unit 400. That is, the head unit 400 performs step S840 shown in FIG. 8 to send the second information to the mobile phone 200, and the second information is used to request access to the network of the mobile phone 200.
[0140] Optionally, the broadcast 404 may further include first information, which indicates that the head unit 400 sends data to the mobile phone 200 at the timing 209 when the head unit 400 is in an idle state.
[0141] In a possible implementation, after receiving the broadcast 404 from the head unit 400, the mobile phone 200 may perform step S850 shown in FIG. 8, specifically, send third information to the head unit 400 to indicate that the head unit 400 has successfully gained access to the mobile phone 200's network.
[0142] In another possible implementation, after receiving the broadcast 404 from the head unit 400, the mobile phone 200 may skip step S850 shown in FIG. 8 and directly perform step S860 to determine the correspondence between the first timing and the device ID of the head unit 400. For example, the mobile phone 200 may re-determine the correspondence between the timing and the device identity to obtain an updated correspondence. The updated correspondence includes the correspondence between the first timing and the device ID of the head unit 400. The first timing may be the timing 209 that was in an idle state and previously used by the head unit 400, or may be another possible timing. After determining the correspondence between the first timing and the device ID of the head unit 400, the mobile phone 200 may send a broadcast 210 in the communication window 215, where the broadcast 210 includes the correspondence between the first timing and the device ID of the head unit 400. That is, the mobile phone 200 performs step S870 shown in FIG. 8. The head unit 400 further determines that the timing of the head unit 400 is synchronized with the primary device based on the correspondence between the first timing and the device ID of the head unit 400, and only receives broadcast messages from other devices in the network (e.g., the mobile phone 200 and the headset 300) at non-first timings based on the correspondence, but does not send broadcast messages. Optionally, the head unit 400 may further send broadcast messages to other devices in the network (e.g., the mobile phone 200 and the headset 300) at the first timing based on the correspondence. That is, the head unit 400 performs step S880 shown in FIG. 8 .
[0143] As a primary device in the network, the mobile phone 200 may change the correspondence between timing and device ID multiple times based on actual cases. For example, after a device in the network leaves the network, the mobile phone 200 may re-update the correspondence between timing and device ID. After receiving the corresponding re-updated correspondence between timing and device ID, the head unit 400 as a secondary device in the network changes the corresponding timing based on the correspondence.
[0144] In this embodiment of the present application, the end instant of the communication window is usually later than the end instant of the last non-idle timing to reserve idle timing for a new device to join the network. After a new device joins the network, the communication window may be extended to reserve at least one idle timing again. Due to clock offsets due to various factors, the clocks need to be periodically synchronized with the primary device (e.g., mobile phone 200). For example, after receiving broadcast 210, headset 300 and head unit 400 may calculate communication offsets 211 and 212, respectively. Noise may be removed from the offsets by using a filter algorithm or the like, and the processed offsets are then compared with the actually received communication window anchor (calculated based on the occasion when the broadcast was received from the primary device) to obtain a difference to correct the synchronization error. Finally, mobile phone 200, headset 300, and head unit 400 communicate with each other in a network including communication window 214, communication window 306, and communication window 406. A broadcast 213 sent by the mobile phone 200 may be received by the headset 300 in its communication window 306 and by the head unit 400 in its communication window 406. A broadcast 305 sent by the headset 300 may be received by the mobile phone 200 in its communication window 214 and by the head unit 400 in its communication window 406. A broadcast 405 sent by the head unit 400 may be received in the communication window 214 of the mobile phone 200 and in the communication window 406 of the head unit 400. In this way, each broadcast of a device can be received by other devices in the network, forming a bus communication mechanism.
[0145] According to the technical solution of the present application, a primary device in a network sets a timing for secondary devices to send broadcasts in a communication window, allowing the secondary devices to send broadcast messages at corresponding timings and receive broadcast messages at other timings, thereby avoiding frequent topology changes and reducing resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0146] 10 is a schematic flowchart of a Spark Link access method according to an embodiment of the present application. The broadcast end corresponds to a first device (primary device), and the receiving end corresponds to a second device (secondary device). The specific process of Spark Link access may be as follows:
[0147] (1) The broadcast end sends an accessible extended broadcast frame, which carries resource configuration information for configuring a requesting node, request information, request resources, response resources, and role information of the managing (grant, G) node and the managed (terminal, T) node.
[0148] (2) If the receiving end receives an accessible extended broadcast frame, the receiving end sends one or more access request frames in one or more of the access request windows configured by using the extended broadcast frame, and the access request frames carry access request information. If the GT role flag field in the access request information indicates that the access initiating end expects to be a G node, the access request frame may carry basic access information or corresponding transmission indication information. If the access initiating end expects to configure system management frames, the access request frame may carry basic access information, or if the access initiating end expects not to configure system management frames, the access request frame may carry corresponding transmission indication information.
[0149] (3) The broadcast end enables a receiving window for receiving, the quantity of which is equal to the total quantity of the access request windows and the length of which is equal to the maximum length of the access request. If an access request frame is received in one of the request windows, it returns an access response frame in the corresponding response window, and the access response frame carries access response information. If the GT role flag field in the access request information carried in the access request frame indicates that the access device expects to be a T node, and the request response type field in the request response information indicates that the request is accepted, the access response frame further carries basic access information or corresponding transmission indication information. In particular, if the broadcast end configures a system management frame, the access response frame further carries basic access information, or if the broadcast end does not configure a system management frame, the access response frame further carries corresponding transmission indication information.
[0150] (4) The receiving end receives an access response frame in the corresponding time window. If the connection initiating device receives the access response frame in the corresponding time window and the access response type field in the access response information carried in the access response frame indicates that the request is accepted, the connection initiating device assumes the G role or the T role based on the indication of the GT role flag field in the access request information carried in the previously sent access request frame. If the access initiating end assumes the G role, the access initiating end sends a system management frame based on the indication of the basic access information carried in the access request frame, or begins transmitting data over the asynchronous data link based on the asynchronous data link configuration indicated by the transmit indication information carried in the access request frame. If the access initiating end assumes the T role, the access initiating end receives a system management frame based on the indication of the basic access information carried in the access response frame, or begins transmitting data over the asynchronous data link based on the asynchronous data link configuration indicated by the transmit indication information carried in the access response frame.
[0151] (5) The establishment of the G / T asynchronous data link indicates that the access initiating end has gained access to the broadcast end. Depending on whether a system management frame is configured, the initial scheduling point of the asynchronous link is determined based on the offset assigned by the system management frame or the configuration in the transmission indication information.
[0152] In the above Sparklink access method, the receiving end and the broadcasting end form a network, for example, the broadcasting end becomes a primary device in the network, and the receiving end becomes a secondary device in the network.
[0153] 11 is a schematic flowchart of a bus access method according to an embodiment of the present application. As shown in FIG. 11, the broadcasting end 500 corresponds to a first device (primary device), and the receiving end 600 corresponds to a second device (secondary device). The broadcasting end 500 may add fourth information to the basic broadcast frame 501, where the fourth information includes a network identity ID and weight 510. After receiving the basic broadcast frame 501 within the discovery window 601 and parsing the basic broadcast frame 501, Reception The endpoint 600 may choose to access the network. Reception The end 600 needs to obtain information about the receiving window 503 from the extended broadcast frame 502 , which information about the receiving window 503 indicates the start moment of the receiving window 503 and the duration of the receiving window 503 . Reception The end 600 synchronizes with the broadcast end based on information about the receive window 503 . Reception The end 600 sends an access request frame 603, which carries second information, and the second information includes an identity 610 of a target network that the receiving end 600 wants to access.
[0154] After receiving the access request frame 603, the broadcast end 500 may process the carried requested network identity 610. If the request is accepted, the broadcast end 500 sends an access response frame 504 and assigns an AID 511, where the AID is Reception The access response frame 504 identifies a timing number corresponding to the device ID of the end 600, for example, timing 207, timing 208, and timing 209 in FIG. 9. KuThe AID includes third information indicating that the access of the G node has been obtained. For example, FIG. 12 shows a bitmap format of an AID according to an embodiment of the present application. Each of the bits represents a node. In this bitmap, the first bit indicates a primary device (G node), and another bit indicates a secondary device (T node). It should be understood that the 24-bit indication shown in FIG. 12 is only an example and may be flexibly changed based on different application scenarios. This is not limited in the present application. When a source address is indicated, only one bit is 1. When a destination address is indicated, multiple bits may be 1.
[0155] Optionally, enter the corresponding timing number Reception After allocating to the end 600, the broadcast end 500 may further send a system management frame 505, where the system management frame 505 includes corresponding transmission indication information. Reception The end station 600 receives the system management frame 505 and transmits data based on the corresponding transmission indication information.
[0156] In the above bus access method, the receiving end 600 and broadcast end 500completes the network access process, and the broadcasting end 500 becomes a primary device in the network, and the receiving end 600 becomes a secondary device in the network. After the network access process is completed, a network synchronization process is performed. As shown in FIG. 13, 710 indicates a G node (primary device), and 720, 730, and 740 indicate T nodes (secondary devices). Based on the assignment of the access response frame 504 in the access process shown in FIG. 11, the first bit in FIG. 12 is used by the primary device, the second bit is assigned to T1, and the fifth bit is sequentially assigned to T4. Communication window 700 and communication window 701 are two exemplary communication windows. In addition to sending a broadcast at its own timing opportunity, each of the devices needs to enter a receiving state within another communication window time to receive a broadcast from another device in the network (cluster). 710 indicates a G node, which sends a broadcast 711 (sent to the cluster by G) to another device in the network at the first timing. 720 shows the T1 node, which sends broadcast 721 (sent to the cluster by T1) to other devices in the network at the second time instant. Similarly, 710 and 740 send broadcast 731 and broadcast 741 to other devices in the network at the third and fourth times instants, respectively.
[0157] According to the technical solution of the present application, a primary device in a network sets a timing for secondary devices to send broadcasts in a communication window, allowing the secondary devices to send broadcast messages at corresponding timings and receive broadcast messages at other timings, thereby avoiding frequent topology changes and reducing resource overhead when the number of networking devices is large and continuously changes with mobile scenarios.
[0158] In an embodiment of the present application, the receive window may include two types of events, for example, a data transmission event 820 and a data acknowledgment event 821 shown in FIG. 14. As shown in FIG. 13, the data transmission event 820 may include, among other things: the G node 710 sends a broadcast 711 to the network, the T1 node 720 sends a broadcast 721 to the network, the T2 node 730 sends a broadcast 731 to the network, and the T3 node 740 sends a broadcast 741 to the network. The data acknowledgment event 821 is used to feed back to another node in the network the status of whether the data transmission event has been successfully received, and includes, among other things: the G node 710 sends acknowledgment information 712 to indicate a flag, for example, an acknowledgement character (ACK), indicating whether the broadcast 721, the broadcast 731, and the broadcast 741 have been received by the G node 710. T1 node 720 sends acknowledgement information 722 to indicate flags indicating whether broadcast 711 and broadcasts 731 and 741 were received by T1 node 720. Correspondingly, T2 node 730 and T3 node 740 send acknowledgement information 732 and acknowledgement information 742, respectively. If 712 indicates that broadcast 721 was not successfully received or that the T1 node did not successfully receive broadcast 712, the T1 node may retransmit the data content of broadcast 721 in the next event group. In this way, devices in the network can feedback whether the data was successfully received in a timely manner after another device has finished sending its data. This helps improve the reliability of information transmission.
[0159] It should be understood that the sequence numbers of the above processes do not mean the execution sequence, and the execution sequence of the processes should be determined based on the functions and internal logic of the processes, and should not be construed as any limitation on the implementation process of the embodiments of the present application.
[0160] It should be further understood that in the embodiments of the present application, unless otherwise specified or unless a logical contradiction occurs, the terms and / or descriptions in different embodiments are consistent and may be cross-referenced, and the technical features in different embodiments may be combined into a new embodiment based on the internal logical relationships between the technical features.
[0161] An embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions for implementing the method performed by the discovery device or broadcast device in the above method embodiment.
[0162] For example, when the computer program is executed by a computer, it enables the computer to implement the methods performed by the discovery device or broadcast device in the above method embodiments.
[0163] An embodiment of the present application further provides a computer program product including instructions, which, when executed by a computer, implement the method performed by the discovery device or broadcast device in the above method embodiments.
[0164] For a description of the related content and beneficial effects of any one of the above-provided devices, please refer to the corresponding method embodiments provided above, and the details will not be described again herein.
[0165] In the embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. The described device embodiments are merely examples. For example, the division into units is merely a logical functional division, and other divisions may be used in actual implementations. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electrical, mechanical, or other forms.
[0166] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, specifically, may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual requirements to achieve the objectives of the solutions of the embodiments.
[0167] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, or each of the units may exist physically alone, or two or more units may be integrated into one unit.
[0168] When a function is implemented in the form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may essentially, or a portion of a contribution to the prior art, or a portion of the technical solution may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some instructions for instructing a computing device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method in the embodiments of the present application. The storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or a compact disk.
[0169] The above description is merely a specific implementation of the present application and is not intended to limit the scope of protection of the present application. Any variations or replacements that are easily understood by those skilled in the art within the technical scope disclosed in the present application shall fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the scope of protection of the claims.
Claims
1. 1. A networking device communication method, comprising: determining, by a first device, a correspondence between a device identity ID of a second device and a first timing, wherein the first device and the second device belong to the same network, the first device is a primary device in the network, and the second device is a secondary device in the network; sending, by the first device, to the second device, the correspondence between the device ID of the second device and the first timing, wherein the correspondence between the device ID of the second device and the first timing indicates to the second device that it will receive a broadcast message at a non-first timing during a communication window of the first device; A networking device communication method comprising:
2. 2. The method of claim 1, wherein the correspondence between the device ID of the second device and the first timing further indicates to the second device to send a broadcast message at the first timing during the communication window of the first device.
3. determining, by the first device, the correspondence between the device ID of the second device and the first timing, receiving, by the first device, first information from the second device, the first information indicating that the second device will send data during idle timings in the communication window of the first device; determining, by the first device, the correspondence between the device ID of the second device and the first timing, the first timing being the idle timing; 3. The method of claim 1 or 2, comprising:
4. The method comprises: receiving, by the first device, second information from the second device, the second information indicating that the second device requests access to the network; sending, by the first device, third information to the second device, the third information indicating that the second device has gained access to the network; The method of claim 1 , further comprising:
5. The method comprises: sending fourth information by the first device to the second device, the fourth information including an identification of the network and a weight of the first device in the network, the identification of the network and the weight of the first device in the network being used to determine whether the second device will request access to the network; the identification information of the network includes at least one of a universally unique identifier UUID, an identity ID, a username, a user number, a user serial number, a locally stored identifier, or a pre-configured identifier; The method of claim 4.
6. The method comprises: sending, by the first device, information regarding the communication window of the first device to the second device, the information regarding the communication window indicating a start instant of the communication window and a duration of the communication window; The method of claim 1 , further comprising:
7. 1. A networking device communication method, comprising: receiving, by a second device, from a first device, a correspondence between a device identity ID of the second device and a first timing, wherein the first device and the second device belong to the same network, the first device is a primary device in the network, and the second device is a secondary device in the network; receiving, by the second device, a broadcast message at a non-first timing during a communication window of the first device based on the correspondence between the device ID of the second device and the first timing; A networking device communication method comprising:
8. The method comprises: sending, by the second device, a broadcast message at the first timing during the communication window of the first device based on the correspondence between the device ID of the second device and the first timing; The method of claim 7 further comprising:
9. The method comprises: sending data by the second device at idle timings during the communication window of the first device, the idle timings being used by the first device to determine the first timings; 9. The method of claim 7 or 8, further comprising:
10. The method comprises: sending, by the second device, second information to the second device, the second information being used to request access to the network; receiving, by the second device, third information from the first device, the third information indicating that the second device has gained access to the network; 10. The method of claim 7, further comprising:
11. The method comprises: receiving, by the second device, fourth information from the first device, the fourth information including an identification of the network and a weight of the first device in the network, the identification of the network including at least one of a universally unique identifier UUID, an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a pre-configured identifier; determining, by the second device, to request access to the network based on the identification of the network and the weight of the first device in the network; The method of claim 10 further comprising:
12. determining, by the second device, to request access to the network based on the identification information of the network and the weight of the first device in the network, determining, by the second device, that the identification information of the network matches the identification information of the network of the second device and that the weight of the first device in the network is greater than the weight of the second device in the network; determining, by the second device, a request to access the network; The method of claim 11 , comprising:
13. The method comprises: receiving, by the second device, information about the communication window of the first device, the information about the communication window indicating a start instant of the communication window and a duration of the communication window; synchronizing, by the second device, with the first device based on the information regarding the communication window; 13. The method of any one of claims 7 to 12, further comprising:
14. A communication system comprising a first device and a second device, the first device and the second device belonging to the same network, the first device being a primary device in the network, and the second device being a secondary device in the network; the first device is configured to send to the second device a correspondence between a device ID of the second device and a first timing; the second device is configured to receive a broadcast message at a non-first timing during a communication window of the first device based on the correspondence between the device ID of the second device and the first timing. Communication system.
15. the second device is further configured to send a broadcast message at the first timing during the communication window of the first device based on the correspondence between the device ID of the second device and the first timing. The system of claim 14.
16. the second device is further configured to send data during idle timings in the communication window of the first device; the first device is specifically configured to determine the first timing based on the idle timing; 16. A system according to claim 14 or 15.
17. the second device is further configured to send second information to the first device, the second information being used to request access to the network; the first device is further configured to send third information to the second device, the third information indicating that the second device has gained access to the network.
17. A system according to any one of claims 14 to 16.
18. the first device is further configured to send fourth information to the second device, the fourth information including an identification of the network and a weight of the first device in the network; the identification information of the network includes at least one of a universally unique identifier UUID, an identity ID, a username, a user number, a user serial number, a locally stored identifier, and a pre-configured identifier; The second device is further configured to determine that the identification information of the network matches the identification information of the network of the second device and that the weight of the first device in the network is greater than the weight of the second device in the network, and to request access to the network.
18. A system according to any one of claims 14 to 17.
19. the first device is further configured to send information about the communication window of the first device to the second device, the information about the communication window indicating a start moment of the communication window and a duration of the communication window; the second device is further configured to synchronize with the first device based on the information regarding the communication window.
19. A system according to any one of claims 14 to 18.
20. 14. An electronic device, wherein the communication apparatus comprises a processor and a memory, the memory configured to store a computer program, and the processor configured to run the computer program to enable the electronic device to perform the method of any one of claims 1 to 6, or to enable the electronic device to perform the method of any one of claims 7 to 13.
21. 14. A computer-readable storage medium, the computer-readable storage medium comprising a computer program or instructions, the computer program or instructions, when run on a computer, performing the method of any one of claims 1 to 6 or performing the method of any one of claims 7 to 13.
22. A chip system comprising a processor, the processor configured to call computer programs or instructions from a memory and run the computer programs or instructions to enable a communication device in which the chip system is installed to implement the method of any one of claims 1 to 6, or to enable a communication device in which the chip system is installed to implement the method of any one of claims 7 to 13.
Citation Information
Patent Citations
Radio communication game system
JP2004135778A
System and method for handling long-duration asynchronous data in asynchronous time slots
JP2006505147A
Low-latency opportunistic channel occupancy time sharing
WO2022093499A2