Device discovery method and apparatus
By dynamically scheduling multiple access technologies and discoverable levels of equipment discovery methods and devices, the problem of diversified power consumption and bandwidth requirements in the BLE protocol architecture is solved, and more device discovery modes and processes are realized, including the ability to discover hidden devices.
Patent Information
- Application Number
- CN202110897345.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-05
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2041-08-05
AI Technical Summary
The existing Bluetooth low power (BLE) protocol architecture only supports a single access technology, and cannot meet the diversified demands of different services or the same service for power consumption and bandwidth in different communication scenarios. There are fewer device discovery modes and processes, which cannot meet the scenario needs of more device discovery and cannot discover hidden devices.
Provide a device discovery method and device, which supports more device discovery modes and processes by dynamically scheduling a variety of access technologies and discoverable levels, including device discovery levels that the device expects to be identified by a specified address or service set, and supports specific services or capabilities, and dynamically scheduling access technology to meet the needs of different services in different communication scenarios.
It realizes dynamic scheduling of access technology according to application needs and service types in different communication scenarios, meets the diversified needs of power consumption and bandwidth, supports more device discovery modes and processes, and can discover hidden devices.
Smart Images

Figure CN115915019B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a device discovery method and apparatus. Background Art
[0002] The existing Bluetooth low energy (BLE) protocol architecture can include a host, a controller, and a host interface controller (HCI) between the host and the controller. The host defines three device discovery modes: non-discoverable mode, limited discovery mode, and general discovery mode. The host also defines two device discovery processes: limited discovery process and general discovery process.
[0003] Specifically, a first device configured in any of the above device discovery modes may send a broadcast message, and a second device configured in any of the above device discovery processes may scan the broadcast message to discover the first device.
[0004] However, the BLE protocol architecture only supports a single BLE access technology, which cannot meet the diverse power consumption and bandwidth requirements of different services, or the same service in different communication scenarios. Furthermore, the BLE protocol architecture supports a limited number of device discovery modes and processes, failing to meet the needs of a wider range of device discovery scenarios. Summary of the Invention
[0005] In view of this, the embodiments of the present application provide a device discovery method and apparatus that can support multiple access technologies to meet the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios. At the same time, it can support more device discovery modes and device discovery processes to meet the requirements of more device discovery scenarios.
[0006] In a first aspect, an embodiment of the present application provides a device discovery method, which may include: a first device obtains request information of a first application; based on the first application, determines the access technology corresponding to the first application; based on the request information, broadcasts a first message through the access technology corresponding to the first application; wherein the request information can be used to indicate the discoverability level of the first device; the first message may include first indication information for indicating the discoverability level of the first device.
[0007] Based on the first aspect, the first device can dynamically schedule multiple access technologies based on the application, meeting the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios. Furthermore, providing the first device with multiple levels of discoverability can support a wider range of device discovery modes and processes, meeting the needs of a wider range of device discovery scenarios.
[0008] In one possible design, the discoverability level includes one or more of the following: the device expects to be discovered by a device with which it has been paired, the device expects to be discovered by a device with a specified address or service set identifier SSID, the device expects to be discovered by a device supporting specific services or capabilities, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
[0009] Based on this possible design, multiple discoverability levels are provided to meet the needs of more device discovery scenarios.
[0010] In one possible design, the first message also includes one or more of the following: identification information of a previously paired device, a specified address or SSID, and specific services or capabilities.
[0011] In one possible design, the first device determines the access technology corresponding to the first application based on the application requirements and / or service type of the first application.
[0012] Based on this possible design, the first device can dynamically schedule multiple access technologies according to the application requirements and / or service type of the application to meet the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios.
[0013] In one possible design, the first message also includes second indication information for indicating whether the first message is a polling broadcast message.
[0014] In one possible design, when the first message is a polling broadcast message, the first device receives a polling response from the second device; the first device discovers the second device based on the polling response.
[0015] Based on the two possible designs described above, when the first message is a polling broadcast message, the second device can send a polling response to the first device. When the second device is a hidden device (i.e., a device that does not send broadcast messages but only scans and receives polls), the first device can discover the hidden device based on the polling response sent by the hidden device.
[0016] In the second aspect, an embodiment of the present application provides a communication device, which can implement the functions performed by the first device in the above-mentioned first aspect or the possible design of the first aspect, and the functions can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions. For example, a transceiver module and a processing module. The transceiver module is used to obtain request information of the first application; the processing module is used to determine the access technology corresponding to the first application based on the first application; the transceiver module is also used to broadcast a first message through the access technology corresponding to the first application based on the request information; wherein the request information can be used to indicate the discoverability level of the first device; the first message may include first indication information for indicating the discoverability level of the first device.
[0017] In one possible design, the discoverability level includes one or more of the following: the device expects to be discovered by a device with which it has been paired, the device expects to be discovered by a device with a specified address or service set identifier SSID, the device expects to be discovered by a device supporting specific services or capabilities, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
[0018] In one possible design, the first message also includes one or more of the following: identification information of a previously paired device, a specified address or SSID, and specific services or capabilities.
[0019] In one possible design, the processing module is also used to determine the access technology corresponding to the first application based on the application requirements and / or service type of the first application.
[0020] In one possible design, the first message also includes second indication information for indicating whether the first message is a polling broadcast message.
[0021] In one possible design, when the first message is a polling broadcast message, the transceiver module is further used to receive a polling response from the second device; and the processing module is further used to discover the second device based on the polling response.
[0022] It should be noted that the specific implementation method of the communication device can also refer to the behavioral function of the first device in the device discovery method provided by the first aspect or any possible design of the first aspect. The technical effects brought about by the communication device can also refer to the technical effects brought about by any possible design of the above-mentioned first aspect, which will not be repeated here.
[0023] In a third aspect, embodiments of the present application provide a communication device, which may be a first device or a chip or system-on-chip within the first device. The communication device may implement the functions performed by the first device in each of the above aspects or possible designs, and the functions may be implemented in hardware. In one possible design, the communication device may include a transceiver and a processor. The transceiver and processor may be configured to support the communication device in implementing the functions described in the first aspect or any possible design of the first aspect. For example, the transceiver may be configured to obtain request information from a first application; the processor may be configured to determine, based on the first application, the access technology corresponding to the first application; the transceiver may also be configured to broadcast a first message using the access technology corresponding to the first application based on the request information; the request information may be configured to indicate the discoverability level of the first device; and the first message may include first indication information indicating the discoverability level of the first device. In another possible design, the communication device may further include a memory configured to store computer-executable instructions and data necessary for the communication device. When the communication device is in operation, the transceiver and processor execute the computer-executable instructions stored in the memory, causing the communication device to perform the device discovery method described in the first aspect or any possible design of the first aspect.
[0024] Among them, the specific implementation method of the communication device in the third aspect can refer to the behavioral function of the first device in the device discovery method provided by the first aspect or any possible design of the first aspect.
[0025] In fourth aspect, an embodiment of the present application provides a device discovery method, which includes: a second device obtains a first discovery request of a first application; based on the first application, determines the access technology corresponding to the first application; scans the first message broadcast by the first device through the access technology corresponding to the first application; according to the filtering policy corresponding to the first application, filters the first message to determine the device corresponding to the first application; wherein, the first discovery request can be used to request the discovery of the device corresponding to the first application; the first message can include first indication information for indicating the discoverability level of the first device.
[0026] Based on the fourth aspect, the second device can dynamically schedule multiple access technologies based on the application, meeting the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios. Furthermore, providing multiple filtering strategies for the second device can support a wider range of device discovery modes and processes, meeting the needs of a wider range of device discovery scenarios.
[0027] In one possible design, the second device determines the access technology corresponding to the first application based on the application requirements and / or service type of the first application.
[0028] Based on this possible design, the second device can dynamically schedule multiple access technologies according to the application requirements and / or service type of the first application to meet the diverse requirements of power consumption and bandwidth for different services or the same service in different communication scenarios.
[0029] In one possible design, the discoverability level includes one or more of the following: the device expects to be discovered by a device with which it has been paired, the device expects to be discovered by a device with a specified address or service set identifier SSID, the device expects to be discovered by a device supporting a specified service or capability, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
[0030] Based on this possible design, multiple discoverability levels are provided to meet the needs of more device discovery scenarios.
[0031] In one possible design, the first message also includes one or more of the following: identification information of a previously paired device, a specified address or SSID, and specific services or capabilities.
[0032] In one possible design, the filtering strategy includes one or more of the following: discovering previously paired devices, discovering devices with a specified address or SSID, discovering devices that support specific services or capabilities, discovering devices within a specific range, disabling filtering, discovering discoverable devices, and discovering priority devices.
[0033] Based on this possible design, a variety of filtering strategies are provided to support more device discovery modes and device discovery processes, meeting the needs of more device discovery scenarios.
[0034] In one possible design, the first message also includes second indication information for indicating whether the first message is a polling broadcast message.
[0035] In one possible design, when the first message is a polling broadcast message, when the second device determines that the first device is the device corresponding to the first application, the second device sends a polling response to the first device.
[0036] Based on the two possible designs described above, when the first message is a polling broadcast message, the second device can send a polling response to the first device. When the second device is a hidden device (i.e., a device that does not send broadcast messages but only scans and receives polls), the first device can discover the hidden device based on the polling response sent by the hidden device.
[0037] In one possible design, the second device obtains a second discovery request of the second application; wherein the second discovery request is used to request discovery of the device corresponding to the second application; the second device determines whether the first discovery request and the second discovery request overlap; if they overlap, the second device determines the device corresponding to the first application as the device corresponding to the second application; or, the second device merges the first discovery request and the second discovery request into one discovery request; according to the merged discovery request, scans the first message broadcast by the first device through the access technology corresponding to the first application; filters the first message according to the merged filtering policy, and determines the filtered devices as the devices corresponding to the first application and the devices corresponding to the second application, wherein the merged filtering policy is a filtering policy obtained by merging the filtering policy corresponding to the first application and the filtering policy corresponding to the second application, or, the merged filtering policy is the filtering policy corresponding to the merged discovery request.
[0038] Based on this possible design, when the second device obtains discovery requests from multiple applications, the second device can arbitrate and merge the discovery requests from multiple applications to reduce the number of times the second device executes the above device discovery method and reduce the power consumption of the second device.
[0039] In one possible design, the second device determines the first tag based on the first application; wherein, it is found that the tags corresponding to the applications with overlapping requests are the same; the second device filters the first message according to the filtering policy corresponding to the first application, and determines the filtered devices as the devices corresponding to the application indicated by the first tag.
[0040] Based on this possible design, the second device may also set tags for the applications according to the application requirements of each application, and subsequently distribute the device discovery results to each application according to the tags.
[0041] In a fifth aspect, an embodiment of the present application provides a communication device, which can implement the function performed by the second device in the fourth aspect or the possible design of the fourth aspect, and the function can be implemented by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module is used to obtain a first discovery request of the first application; the processing module is used to determine the access technology corresponding to the first application based on the first application; the transceiver module is used to scan the first message broadcast by the first device through the access technology corresponding to the first application; the processing module is used to filter the first message according to the filtering policy corresponding to the first application, and determine the device corresponding to the first application; wherein the first discovery request can be used to request the discovery of the device corresponding to the first application; the first message may include first indication information for indicating the discoverability level of the first device.
[0042] In one possible design, the processing module is used to determine the access technology corresponding to the first application based on the application requirements and / or service type of the first application.
[0043] In one possible design, the discoverability level includes one or more of the following: the device expects to be discovered by a device with which it has been paired, the device expects to be discovered by a device with a specified address or service set identifier SSID, the device expects to be discovered by a device supporting a specified service or capability, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
[0044] In one possible design, the first message also includes one or more of the following: identification information of a previously paired device, a specified address or SSID, and specific services or capabilities.
[0045] In one possible design, the filtering strategy includes one or more of the following: discovering previously paired devices, discovering devices with a specified address or SSID, discovering devices that support specific services or capabilities, discovering devices within a specific range, disabling filtering, discovering discoverable devices, and discovering priority devices.
[0046] In one possible design, the first message also includes second indication information for indicating whether the first message is a polling broadcast message.
[0047] In one possible design, when the first message is a polling broadcast message, when the processing module determines that the first device is the device corresponding to the first application, the transceiver module sends a polling response to the first device.
[0048] In one possible design, the transceiver module is also used to obtain a second discovery request of the second application; wherein the second discovery request is used to request the discovery of the device corresponding to the second application; the processing module is also used to determine whether the first discovery request and the second discovery request overlap; if they overlap, the processing module determines the device corresponding to the first application as the device corresponding to the second application; or, the processing module merges the first discovery request and the second discovery request into one discovery request; the transceiver module scans the first message broadcast by the first device through the access technology corresponding to the first application according to the merged discovery request; the processing module filters the first message according to the merged filtering policy, and determines the filtered devices as the devices corresponding to the first application and the devices corresponding to the second application, wherein the merged filtering policy is a filtering policy obtained by merging the filtering policy corresponding to the first application and the filtering policy corresponding to the second application, or, the merged filtering policy is the filtering policy corresponding to the merged discovery request.
[0049] In one possible design, the processing module is also used to determine the first label based on the first application; wherein, it is found that the labels corresponding to the applications with overlapping requests are the same; the processing module is also used to filter the first message according to the filtering policy corresponding to the first application, and determine the filtered devices as the devices corresponding to the application indicated by the first label.
[0050] It should be noted that the specific implementation method of the communication device can also refer to the behavioral function of the second device in the device discovery method provided by the fourth aspect or any possible design of the fourth aspect. The technical effects brought about by the communication device can also refer to the technical effects brought about by any possible design of the above-mentioned fourth aspect, and will not be repeated here.
[0051] In a sixth aspect, embodiments of the present application provide a communication device, which may be a second device or a chip or system-on-chip in the second device. The communication device may implement the functions performed by the second device in each of the above aspects or possible designs, and the functions may be implemented through hardware. In one possible design, the communication device may include: a transceiver and a processor. The transceiver and processor may be used to support the communication device in implementing the functions involved in the above fourth aspect or any possible design of the fourth aspect. For example: the transceiver may be used to obtain a first discovery request from a first application; the processor may be used to determine the access technology corresponding to the first application based on the first application; the transceiver may also be used to scan a first message broadcast by a first device using the access technology corresponding to the first application; the processor may also be used to filter the first message based on the filtering policy corresponding to the first application to determine the device corresponding to the first application; wherein the first discovery request may be used to request discovery of the device corresponding to the first application; and the first message may include first indication information indicating the discoverability level of the first device. In another possible design, the communication device may also include a memory for storing computer-executable instructions and data necessary for the communication device. When the communication device is running, the transceiver and the processor execute the computer-executable instructions stored in the memory, so that the communication device performs the device discovery method as described in the fourth aspect or any possible design of the fourth aspect.
[0052] Among them, the specific implementation method of the communication device in the sixth aspect can refer to the behavioral function of the second device in the device discovery method provided by the fourth aspect or any possible design of the fourth aspect.
[0053] In the seventh aspect, an embodiment of the present application provides a communication device, which includes one or more processors, and one or more processors are used to run computer programs or instructions. When the one or more processors execute the computer instructions or instructions, the communication device executes the device discovery method as described in the first aspect or any possible design of the first aspect, or executes the device discovery method as described in the fourth aspect or any possible design of the fourth aspect.
[0054] In one possible design, the communication device further includes one or more communication interfaces; the one or more communication interfaces are coupled to one or more processors, and the one or more communication interfaces are used to communicate with other modules outside the communication device.
[0055] In one possible design, the communication device further includes one or more memories, one or more memories coupled to one or more processors, and the one or more memories are used to store the above-mentioned computer programs or instructions. In one possible implementation, the memory is located outside the communication device. In another possible implementation, the memory is located within the communication device. In embodiments of the present application, the processor and memory may also be integrated into a single device, that is, the processor and memory may also be integrated together.
[0056] In an eighth aspect, a communication device is provided, which includes an interface circuit and a logic circuit; the interface circuit is coupled to the logic circuit; the logic circuit is used to execute the device discovery method as described in the first aspect or any possible design of the first aspect, or to execute the device discovery method as described in the fourth aspect or any possible design of the fourth aspect; the interface circuit is used to communicate with other modules outside the communication device.
[0057] In the ninth aspect, a computer-readable storage medium is provided, which stores computer instructions or programs. When the computer instructions or programs are run on a computer, the computer executes the device discovery method as described in the first aspect or any possible design of the first aspect, or executes the device discovery method as described in the fourth aspect or any possible design of the fourth aspect.
[0058] In the tenth aspect, a computer program product comprising computer instructions is provided, which, when run on a computer, enables the computer to execute the device discovery method as described in the first aspect or any possible design of the first aspect, or to execute the device discovery method as described in the fourth aspect or any possible design of the fourth aspect.
[0059] In the eleventh aspect, an embodiment of the present application provides a computer program, which, when running on a computer, enables the computer to execute the device discovery method as described in the first aspect or any possible design of the first aspect, or execute the device discovery method as described in the fourth aspect or any possible design of the fourth aspect.
[0060] Among them, the technical effects brought about by any design method in the seventh to eleventh aspects can refer to the technical effects brought about by any possible design of the first aspect mentioned above, or refer to the technical effects brought about by any possible design of the fourth aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] Figure 1 A flowchart of a limited discovery process provided in an embodiment of the present application;
[0062] Figure 2 A flowchart of a general discovery process provided in an embodiment of the present application;
[0063] Figure 3 A schematic diagram of the architecture of the new Star Flash short-range protocol provided in an embodiment of the present application;
[0064] Figure 4 A schematic diagram of an SLE access technology provided in an embodiment of the present application;
[0065] Figure 5 A schematic diagram of an SLB access technology provided in an embodiment of the present application;
[0066] Figure 6 A structural diagram of a communication device provided in an embodiment of the present application;
[0067] Figure 7 A flowchart of a device discovery method provided in an embodiment of the present application;
[0068] Figure 8 A flowchart of a device discovery method provided in an embodiment of the present application;
[0069] Figure 9 A schematic diagram of a frame structure of broadcast data provided in an embodiment of the present application;
[0070] Figure 10 A schematic diagram of the composition of a communication system provided in an embodiment of the present application;
[0071] Figure 11 A flowchart of a polling broadcast provided in an embodiment of the present application;
[0072] Figure 12 A flowchart of a device discovery method provided in an embodiment of the present application;
[0073] Figure 13 A flowchart of a device discovery method provided in an embodiment of the present application;
[0074] Figure 14 A flowchart of an arbitration and merging method provided in an embodiment of the present application;
[0075] Figure 15 A flowchart of an arbitration and merging method provided in an embodiment of the present application;
[0076] Figure 16 A schematic diagram of the composition of a communication system provided in an embodiment of the present application;
[0077] Figure 17 A schematic diagram of the composition of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0078] The Bluetooth low energy (BLE) protocol architecture may include a host, a controller, and a host interface controller (HCI) between the host and the controller.
[0079] The host can define the device type, device discovery mode, and device discovery process, while the controller can provide the underlying functions required during device discovery, such as sending broadcast messages or scanning for broadcast messages.
[0080] For example, device types may include peripheral devices and central devices. Device discovery modes may include non-discoverable mode, limited discovery mode, and general discovery mode. Device discovery procedures may include limited discovery procedures and general discovery procedures.
[0081] Specifically, during the device discovery process, a peripheral device configured in any of the above device discovery modes may send a broadcast message, and a central device configured in any of the above device discovery processes may scan the broadcast message to discover the peripheral device.
[0082] For example, peripheral devices can be memory-limited or power-sensitive devices such as headphones and watches. Central devices can be mobile phones and computers. Headphones can send broadcast messages, and mobile phones can scan for broadcast messages sent by headphones to discover them.
[0083] Among them, a device configured as non-discoverable mode can send broadcast messages, but cannot configure the flag bits of limited discovery mode and general discovery mode in the broadcast data of the Flags type.
[0084] Among them, the limited discovery mode is generally used for devices that expect to be discovered and connected quickly. Devices configured in this mode need to send broadcast messages and configure the limited discovery mode flag in the Flags type broadcast data.
[0085] Among them, the device configured as the general discovery mode needs to send a broadcast message and needs to configure the general discovery mode flag in the Flags type broadcast data.
[0086] For example, in BLE, a flag bit can be configured in the broadcast data of the Flags type to indicate limited discovery mode or general discovery mode. As shown in Table 1 below, the broadcast data of the Flags type can be 1 byte in length. The value of this byte can be set to 0 to indicate limited discovery mode, and the value of this byte can be set to 1 to indicate general discovery mode:
[0087] Table 1
[0088]
[0089] Among them, the device configured for the limited discovery process can scan the broadcast message and filter out the devices configured for the limited discovery mode during the scanning process.
[0090] For example, Figure 1 As shown, taking the peripheral device including the peripheral device 1 configured in the limited discovery mode and the peripheral device 2 configured in the general discovery mode as an example, the peripheral device 1 can send a broadcast event (limited) to indicate that the peripheral device 1 is configured in the limited discovery mode; the peripheral device 2 can send a broadcast event (general) to indicate that the peripheral device 2 is configured in the general discovery mode; assuming that the central device scans the broadcast event (limited) and the broadcast event (general) during the scan, the central device can filter out the devices configured in the limited discovery mode according to the broadcast event, that is, the central device discovers the peripheral device 1.
[0091] Among them, the device configured for the general discovery process can scan the broadcast message and filter out the devices configured for the limited discovery mode and the devices configured for the general discovery mode during the scanning process, that is, remove the devices configured for the non-discoverable mode.
[0092] For example, Figure 2As shown, taking the peripheral devices including peripheral device 1 configured in limited discovery mode and peripheral device 2 configured in general discovery mode as an example, peripheral device 1 can send a broadcast event (limited) to indicate that peripheral device 1 is configured in limited discovery mode; peripheral device 2 can send a broadcast event (general) to indicate that peripheral device 2 is configured in general discovery mode; assuming that the central device scans the broadcast event (limited) and the broadcast event (general) during the scan, the central device can filter out the devices configured in limited discovery mode and the devices configured in general discovery mode according to the broadcast event, that is, the central device discovers peripheral device 1 and peripheral device 2.
[0093] However, the aforementioned BLE protocol architecture only supports a single BLE access technology and cannot meet the diverse power consumption and bandwidth requirements of different services (e.g., audio services, video services) or the same application in different communication scenarios (e.g., standard audio quality in audio services, lossless audio quality in audio services). Furthermore, the BLE protocol architecture supports fewer device discovery modes and processes, failing to meet the needs of a wider range of device discovery scenarios, such as those requiring discovery only by previously paired devices or those seeking to find devices based on distance.
[0094] In addition, during the device discovery process, the central device needs to scan the broadcast messages sent by the peripheral device in order to discover the peripheral device. When the peripheral device does not send a broadcast message, the peripheral device cannot be discovered. That is, the above-mentioned BLE protocol architecture cannot support the function of discovering hidden devices (that is, devices that do not send broadcast messages and only scan and receive polling).
[0095] Based on the above problems, an embodiment of the present application provides a device discovery method, which may include: a first device obtains request information of a first application; the request information is used to indicate the discoverability level of the first device; the first device determines the access technology corresponding to the first application based on the first application; and based on the request information, broadcasts a first message including first indication information through the access technology corresponding to the first application; the first indication information can be used to indicate the discoverability level of the first device.
[0096] In this embodiment of the present application, the first device can dynamically schedule multiple access technologies based on the application to meet the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios. Furthermore, multiple levels of discoverability are provided for the first device, supporting a wider range of device discovery modes and processes, meeting the needs of a wider range of device discovery scenarios.
[0097] The following describes in detail the implementation of the embodiments of the present application in conjunction with the accompanying drawings.
[0098] The device discovery method provided in the embodiment of the present application can be used in any communication system, which may be a short-range communication system, a cellular communication system (for example, a long term evolution (LTE) system, a new radio access technology (NR)), a world-wide interoperability for microwave access (WiMAX) communication system, and various types of next-generation communication systems (for example, the sixth generation (6G) mobile communication system), etc., without limitation. Among them, the short-range communication system may be a Bluetooth communication system, a low-power Bluetooth communication system, a wireless-fidelity (Wi-Fi) communication system, and various types of next-generation short-range communication systems, etc., without limitation.
[0099] For example, taking the communication system as a short-range communication system, each communication device in the short-range communication system can adopt the Star Flash new short-range protocol. Figure 3 As shown in the figure, the SparkLink new short-range protocol architecture can include an access layer, a host, and applications. The access layer can simultaneously support multiple access technologies, such as SparkLink-Basic (SLB) access technology and SparkLink-Low Energy (SLE) access technology. Above the access layer is a normalized host framework, and the host can schedule the access technology supported by the access layer based on application (APP) requirements.
[0100] Among them, such as Figure 3 As shown, the host may include a basic application layer and a basic service layer.
[0101] Specifically, such as Figure 3 As shown, the basic application layer may include a basic communication service framework module, and the basic service layer may include a device discovery module.
[0102] The basic communication service framework module is responsible for accepting device discovery requests from applications and determining the underlying access technology to be dispatched based on application requirements. Leveraging the services provided by the device discovery module, it selects the appropriate device discovery mode, the required discoverability level, and filtering policies, and issues specific device discovery request configurations to the device discovery module. If the communication device is a scanning device, the basic communication service framework module also receives device discovery results from the device discovery module and distributes them to applications based on application requirements.
[0103] Exemplarily, the basic communication service framework module may determine the underlying access technology that needs to be scheduled based on the quality of service (QoS) capability requirements of the application, the service type, and the like.
[0104] For example, if the application requirement is to play 1080P high-definition audio, and the bandwidth requirement for the underlying transmission channel after the audio data is encoded and compressed is 5Mbps, assuming that the maximum bandwidth supported by the current SLE access technology is 4Mbps and the maximum bandwidth supported by the SLB access technology is approximately 120Mbps, the basic communication service framework module can determine that the SLE access technology cannot meet the requirements for high-definition audio playback, and thus determine that devices that support the SLB access technology need to be discovered, and then call the SLB access technology for device discovery.
[0105] Among them, the device discovery module can define the device discovery mode, provide multiple device discoverability levels and filtering strategies, etc. It can accept the device discovery request issued by the basic communication service framework module, and according to the underlying access technology selected in the device discovery request, encapsulate the device discovery request command and distribute it to the corresponding underlying access technology (such as SLB access technology, SLE access technology, etc.). When the communication device is a scanning device, the device discovery module can also receive the device discovery results reported by the underlying access technology after the underlying access technology completes processing the device discovery request command, filter them according to the filtering strategy, and report the filtered device discovery results to the basic communication service framework module.
[0106] Among them, the underlying access technology is used to receive the device discovery request command sent by the device discovery module. When the communication device is a broadcasting device, the underlying access technology can send a broadcast message according to the device discovery request command to make the current device discovered. When the communication device is a scanning device, the underlying access technology executes the device discovery process according to the device discovery request command sent by the device discovery module, obtains the device discovery result, and reports the device discovery result to the device discovery module. When the underlying access technology supports the filtering function (such as SLE access technology), the underlying access technology can also perform preliminary filtering on the device discovery result based on the filtering strategy, and report the preliminary filtered device discovery result to the device discovery module. Among them, the filtering strategy can be indicated by the basic communication service framework module to the underlying access technology through the device discovery module.
[0107] Among them, the access technology supported by the access layer can be access technologies such as SLB access technology, SLE access technology, etc., or it can be access technologies such as Bluetooth (BT), BLE, wireless local area networks (WLAN), and near field communication technology (NFC).
[0108] Specifically, SLE access technology enables fast discovery and connection, while offering the advantage of low power consumption. When SLE is not connected, the broadcasting device typically selects one or more of three fixed broadcast channels to send a broadcast message at a time. The scanning device then scans the three channels sequentially. Upon receiving a broadcast message, the broadcasting device is discovered. Furthermore, SLE allows the scanning device to continue sending scan requests to the broadcasting device after receiving a broadcast message, requesting the broadcasting device to send more device information.
[0109] For example, Figure 4 As shown, when the SLE access technology is in an unconnected state, the broadcasting device can send broadcast messages (i.e., ADV_EXT_IND) on broadcast channel A, broadcast channel B, and broadcast channel C. Among them, ADV_EXT_IND is the basic broadcast type of the SLE access technology, and the host can configure the broadcasting device to send basic broadcasts on the above three broadcast channels based on the SLE access technology. ADV_EXT_IND can also carry time-frequency pointer information to point to the extended broadcast data (i.e., AUX_ADV_IND) carried on the data channel. The scanning device can select a broadcast channel for scanning within the scanning window. After receiving ADV_EXT_IND, the scanning device can continue to receive AUX_ADV_IND on the data channel according to the time-frequency pointer information, and send a scan request (scan request) to request the broadcasting device to continue to send more device information. The broadcasting device can receive a scan request based on the receiving window. The maximum length of the receiving window can be the length of 15 scan requests, and the length is reconfigurable. After receiving the scan request, the broadcasting device can reply a scan response (scan response) to the scanning device.
[0110] It should be noted that in the SLE access technology, before the broadcaster device establishes a connection with the scanning device, the broadcaster device may send a broadcast message, which may include indication information for indicating that the broadcaster device expects to become a resource scheduling (grant, G) device, or include indication information for indicating that the broadcaster device expects to become a terminal (terminal, T) device. After the scanning device scans the broadcast message, it may send a connection request to the broadcaster device, which may include indication information for indicating that the scanning device expects to become a G device, or include indication information for indicating that the scanning device expects to become a T device. After receiving the connection request, the broadcaster device negotiates with the scanning device according to the connection request to determine that the broadcaster device becomes the T device and the scanning device becomes the G device, and then establishes a connection; or negotiates to determine that the broadcaster device becomes the G device and the scanning device becomes the T device, and then establishes a connection; or the negotiation fails and the connection fails. When the broadcaster device successfully establishes a connection with the scanning device, the device that becomes the G device can schedule resources as a scheduling resource device.
[0111] For example, taking the example of a broadcast message sent by a broadcaster device including indication information for indicating that the broadcaster device desires to become a T device, after the scanning device scans the broadcast message, it can send a connection request to the broadcaster device. Assuming that the connection request includes indication information for indicating that the scanning device desires to become a G device, the broadcaster device can determine that it is a T device and the scanning device is a G device based on the connection request, successfully establish a connection with the scanning device, and the scanning device acts as a resource scheduling device to schedule resources. Assuming that the connection request includes indication information for indicating that the scanning device desires to become a T device, since both the broadcaster device and the scanning device desire to become a T device, the broadcaster device can determine that it is a G device based on the connection request, the scanning device becomes a T device, successfully establish a connection with the scanning device, and the broadcaster device acts as a resource scheduling device to schedule resources; the broadcaster device can also refuse to become a G device, that is, the broadcaster device refuses to establish a connection with the scanning device.
[0112] For another example, taking the case where the broadcast message sent by the broadcaster device includes indication information for indicating that the broadcaster device expects to become a G device, after the scanning device scans the broadcast message, it can send a connection request to the broadcaster device. Assuming that the connection request includes indication information for indicating that the scanning device expects to become a T device, the broadcaster device can determine that it is a G device and the scanning device is a T device based on the connection request, successfully establish a connection with the scanning device, and the broadcaster device acts as a resource scheduling device to schedule resources. Assuming that the connection request includes indication information for indicating that the scanning device expects to become a G device, since both the broadcaster device and the scanning device expect to become a G device, the broadcaster device can determine that it is a T device and the scanning device becomes a G device based on the connection request, successfully establish a connection with the scanning device, and the scanning device acts as a resource scheduling device to schedule resources; the broadcaster device can also refuse to become a T device, that is, the broadcaster device refuses to establish a connection with the scanning device.
[0113] Specifically, SLB access technology is a high-bandwidth access technology. In SLB access technology, devices can be divided into G devices and T devices. G devices can be resource scheduling centers. In SLB access technology, G devices typically send broadcast messages, and T devices scan and receive these messages. G devices do not scan and discover T devices. That is, before SLB access technology is established, the device discovery process is one-way, and only T devices can discover G devices.
[0114] For example, Figure 5 As shown, the G device can periodically send the first synchronization signal (FTS) and second synchronization signal (STS), master information block (MIB) messages, and system information block (SIB) messages on fixed time-frequency domain resources. After the T device receives and synchronizes with the FTS and STS, it completes downlink synchronization and synchronously receives MIB messages, and then receives SIB messages, completing the synchronization process between the G and T devices.
[0115] When implementing it specifically, Figure 3 Communication devices with the protocol architecture shown, such as broadcasting devices and scanning devices, can use Figure 6 The structure shown, or including Figure 6 Parts shown. Figure 6 This is a schematic diagram of the composition of a communication device 600 provided in an embodiment of the present application. The communication device 600 can be a broadcasting device or a chip or system on chip in the broadcasting device; it can also be a scanning device or a chip or system on chip in the scanning device. Figure 6 As shown, the communication device 600 includes a processor 601 , a transceiver 602 and a communication line 603 .
[0116] Furthermore, the communication device 600 may further include a memory 604 , wherein the processor 601 , the memory 604 and the transceiver 602 may be connected via a communication line 603 .
[0117] The processor 601 is a central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 601 may also be other devices with processing functions, such as circuits, devices, or software modules, without limitation.
[0118] Transceiver 602 is used to communicate with other devices or other communication networks. The other communication networks can be Ethernet, radio access networks (RAN), wireless local area networks (WLAN), etc. Transceiver 602 can be a module, circuit, transceiver, or any device capable of achieving communication.
[0119] The communication line 603 is used to transmit information between the components included in the communication device 600.
[0120] The memory 604 is used to store instructions, where the instructions may be computer programs.
[0121] The memory 604 may be a read-only memory (ROM) or other type of static storage device that can store static information and / or instructions, or a random access memory (RAM) or other type of dynamic storage device that can store information and / or instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.
[0122] It should be noted that the memory 604 can exist independently of the processor 601 or can be integrated with the processor 601. The memory 604 can be used to store instructions, program code, or some data. The memory 604 can be located within the communication device 600 or outside the communication device 600, without limitation. The processor 601 is configured to execute the instructions stored in the memory 604 to implement the device discovery method provided in the following embodiments of the present application.
[0123] In one example, the processor 601 may include one or more CPUs, such as Figure 6 CPU0 and CPU1 in.
[0124] As an optional implementation, the communication device 600 includes multiple processors, for example, Figure 6 In addition to the processor 601, a processor 607 may also be included.
[0125] As an optional implementation, the communication apparatus 600 further includes an output device 605 and an input device 606. For example, the input device 606 is a keyboard, a mouse, a microphone, a joystick, and the like, and the output device 605 is a display screen, a speaker, and the like.
[0126] It should be noted that the communication device 600 can be a desktop computer, a portable computer, a network server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system or a computer with a plurality of CPUs. Figure 6 In addition, Figure 7 The structure shown in the figure does not constitute a limitation on the communication device, except Figure 6 In addition to the components shown, the communication device may include more or fewer components than shown, or combine certain components, or arrange the components differently.
[0127] In the embodiment of the present application, the chip system can be composed of chips, or can include chips and other discrete devices.
[0128] In addition, the actions, terms, etc. involved in the various embodiments of this application can refer to each other without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are only examples, and other names can also be used in specific implementations without limitation.
[0129] The following combination Figure 3 The protocol architecture shown in FIG. 1 is used to describe the device discovery method provided in the embodiment of the present application, wherein the first device can be any device in the communication system using the following method: Figure 3 The second device can be any device in the communication system that adopts the protocol architecture shown in FIG. Figure 3 The scanning device of the protocol architecture shown. The first device and the second device described in the following embodiments may both have Figure 6 Parts shown.
[0130] Figure 7 A flowchart of a device discovery method applied to a broadcasting device is provided in an embodiment of the present application. Figure 7 As shown, the method may include:
[0131] Step 701: The first device obtains request information of the first application.
[0132] The request information may be used to indicate the discoverability level of the first device.
[0133] Specifically, the request information may be used to request the first device to announce the discoverability level of the first device. The request information may also be used to request the first device to announce the device information of the first device.
[0134] The device information may include device type, device appearance, device manufacturer information, device name, and other information, without limitation.
[0135] Among them, the discoverability level may include one or more of the following: the device expects to be discovered by a device with which it has been paired, the device expects to be discovered by a device with a specified address or service set identifier (SSID), the device expects to be discovered by a device that supports specific services or capabilities, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
[0136] Specifically, when the first device adopts Figure 3 When the protocol structure is shown, Figure 8 As shown, the above-mentioned discoverability levels can be configured in the device discovery module of the first device. The description of each discoverability level can be found in the following Table 2:
[0137] Table 2
[0138]
[0139] In one example, the request information may include a discoverability level of the first device, and the first device may determine the discoverability level of the first device according to the request information.
[0140] For example, the request information may include that the device expects to be discovered by a previously paired device. The first device may determine, based on the request information, that the discoverability level of the first device is that the device expects to be discovered by a previously paired device.
[0141] In the second example, the request information may include one or more of the following information: identification information of previously paired devices, a designated address or SSID, specific services or capabilities, etc. The first device may determine the discoverability level of the first device based on the request information.
[0142] The identification information of the device may be any identity information that can be used to identify the device, such as the MAC address, IP address, or ID of the device, without limitation.
[0143] For example, taking the request information including the SSID as an example, the first device may determine, based on the SSID, that the discoverability level of the first device is that the device expects to be discovered by a device with a specified address or SSID.
[0144] In a third example, the request information may further include application requirements and / or service types of the first application. The first device may determine the discoverability level of the first device according to the application requirements and / or service types of the first application.
[0145] For example, taking the request information including the application requirements of the first application as an example, assuming that the application requirement of the first application is to play audio, the first device can determine, based on the request information, that the discoverability level of the first device is that the device expects to be discovered by a device supporting specific services or capabilities.
[0146] Based on the above three examples, when the first device adopts Figure 3 When the protocol structure is shown, Figure 8 As shown, the basic communication service framework module in the first device can obtain the request information of the first application and call the discoverability level provided by the device discovery module (such as the basic communication service framework module can obtain the discoverability level provided by the device discovery module by calling the interface provided by the device discovery module), and determine the discoverability level of the first device according to the request information of the first application.
[0147] Optionally, the request information also includes a broadcast mode.
[0148] The broadcast mode can be broadcast or polling broadcast.
[0149] Specifically, when the broadcast mode is broadcast, the first device may use broadcast to notify the discoverability level of the first device. When the broadcast mode is polling broadcast, the first device may use polling broadcast to notify the discoverability level of the first device.
[0150] Optionally, the request information also includes broadcast data.
[0151] The broadcast data may be the transmission power broadcast by the first device, the services supported by the first device, or the status information of the first device, etc., without limitation.
[0152] Exemplarily, the first device may carry broadcast data when notifying the discoverability level of the first device.
[0153] Step 702: The first device determines an access technology corresponding to the first application based on the first application.
[0154] Exemplarily, the first device may determine the access technology corresponding to the first application according to application requirements and / or service type of the first application.
[0155] The application requirement of the first application may be a QoS capability requirement of the first application.
[0156] The service type of the first application can be audio service, video service or call service, etc., without limitation. Furthermore, audio service can be divided into standard audio service, lossless audio service, etc., and video service can be divided into high-definition video service, standard video service, etc.
[0157] Specifically, such as Figure 8 As shown, the basic communication service framework module of the first device can determine the access technology corresponding to the first application based on the first application.
[0158] For example, taking the application requirement of the first application as playing 1080P high-definition audio, and the bandwidth requirement of the underlying transmission channel for the audio data after encoding and compression is 5Mbps, assuming that the maximum bandwidth supported by the current SLE access technology is 4Mbps and the maximum bandwidth supported by the SLB access technology is about 120Mbps, the basic communication service framework module of the first device can determine that the SLB access technology can meet the playback of 1080P high-definition audio, and the SLE access technology cannot meet the playback of 1080P high-definition audio, thereby determining that the access technology corresponding to the first application is SLB access technology.
[0159] For another example, the service type of the first application is the playback standard audio service. Assuming that the playback standard audio service corresponds to the SLE access technology, the basic communication service framework module of the first device can determine that the access technology corresponding to the first application is the SLE access technology.
[0160] Step 703: The first device broadcasts the first message through the access technology corresponding to the first application according to the request information.
[0161] Among them, such as Figure 8 As shown, after the basic communication service framework module of the first device determines the access technology corresponding to the first application, it can indicate the access technology corresponding to the first application to the device discovery module. The device discovery module can then indicate the access technology corresponding to the first application to the access layer, and the access layer determines the first message and broadcasts it.
[0162] Specifically, the basic communication service framework module may indicate the access technology corresponding to the first application in the request information, convert the request information into request information receivable by the device discovery module, and send it to the device discovery module. The device discovery module may determine the access technology corresponding to the first application based on the received request information, encapsulate relevant parameters, convert the received request information into request information receivable by the access layer, and send it to the access layer. The access layer determines the first message based on the request information and broadcasts it.
[0163] For example, if the access technology determined by the basic communication service framework module of the first device is the SLE access technology, the basic communication service framework module can indicate the SLE access technology in the request information, convert the request information into request information that can be received by the device discovery module, and send it to the device discovery module. The device discovery module encapsulates the relevant parameters based on the SLE access technology indicated in the received request information, converts the received request information into request information that can be received by the access layer, and sends it to the access layer. The access layer configures the first message based on the SLE access technology and broadcasts it.
[0164] The first message may include first indication information, and the first indication information may be used to indicate the discoverability level of the first device.
[0165] Specifically, the basic communication service framework module of the first device can also carry the discoverability level of the first device in the request information and send it to the device discovery module, and the device discovery module carries the discoverability level of the first device in the request information and sends it to the access layer, and the access layer determines the first indication information based on the discoverability level of the first device.
[0166] For example, Figure 9 As shown in (a), the first device can carry the first message in the broadcast data payload of the broadcast data for broadcasting.
[0167] Among them, such as Figure 9 As shown in (a) in FIG. 1 , the broadcast data may include a broadcast data packet header and a broadcast data payload.
[0168] Specifically, the first device may add broadcast data of a broadcast attribute type in the broadcast data payload, and configure corresponding bits to indicate the first indication information.
[0169] Exemplarily, taking the case where the length of the broadcast data of the broadcast attribute type is 1 byte, 3 bits thereof may be used as the first indication information to indicate the discoverability level of the first device.
[0170] For example, Figure 9As shown in (b), bits 1 to 3 can be used as the first indication information to indicate the discoverability level of the first device. Referring to Table 3 below, when the bit values of bits 1 to 3 are 000, 001, 010, ..., 101, respectively, the discoverability level of the first device can be indicated as device not discoverable, device generally discoverable, device preferentially discoverable, device expects to be discovered by a previously paired device, device expects to be discovered by a device with a specified address or SSID, and device expects to be discovered by a device supporting specific services or capabilities.
[0171] Table 3
[0172]
[0173] It should be noted that the discoverability level of the first device indicated in the above first message can be mandatory support or optional support. The above Table 3 is only for illustrative purposes and is not limiting.
[0174] Among them, for first devices with relatively simple functional requirements (for example, temperature sensor devices, etc.), only the mandatory supported types are supported, thereby reducing the design complexity of the first device. For first devices with relatively strong functions (for example, true wireless stereo (TWS) headphones), multiple types can be selected to support, including mandatory supported types and optional supported types, to meet more diverse business needs.
[0175] Optionally, the first message further includes one or more of the following information: identification information of a previously paired device, a designated address or SSID, and specific services or capabilities.
[0176] The access layer of the first device may carry the above information in a broadcast data payload.
[0177] Exemplarily, when the discoverability level of the first device is that the device expects to be discovered by a previously paired device, the first message may include identification information of the previously paired device; when the discoverability level of the first device is that the device expects to be discovered by a device with a specified address or SSID, the first message may include the specified address or SSID; when the discoverability level of the first device is that the device expects to be discovered by a device supporting specific services or capabilities, the first message may include specific services or capabilities.
[0178] When the first message includes one or more of the above information, the device receiving the first message can determine whether it is the device expected by the first device based on the first message. If so, it can discover the first device and communicate; otherwise, the first device is not discovered, that is, the first device is removed from the list of discovered devices or the first device is not determined as a discovered device.
[0179] Optionally, the first message also includes second indication information.
[0180] The second indication information may be used to indicate whether the first message is a polling broadcast message.
[0181] Specifically, the first device can determine whether to set the first message as a polling broadcast message based on the broadcast mode indicated by the first application. The first device can also determine whether to set the first message as a polling broadcast message based on the application requirements and / or service type of the first application.
[0182] Exemplarily, taking the case where the length of the broadcast data of the broadcast attribute type is 1 byte, 1 bit thereof may be used as the second indication information to indicate whether the first message is a polling broadcast message.
[0183] For example, Figure 9 As shown in (b) of FIG, bit 0 can be used as the second indication information to indicate whether the first message is a polling broadcast message. For example, bit 0 can be set to 0 to indicate that the first message is a polling broadcast message, and bit 0 can be set to 1 to indicate that the first message is not a polling broadcast message. Alternatively, bit 0 can be set to 1 to indicate that the first message is a polling broadcast message, and bit 0 can be set to 0 to indicate that the first message is not a polling broadcast message.
[0184] For example, Figure 10 As shown, taking the first device as a TWS headset that supports dual connections, the second device includes mobile phone A, mobile phone B and mobile phone C, and the headset has been connected to mobile phone A as an example, when the headset expects to be discovered by a previously paired device, the headset can be configured to carry the first indication information that the device expects to be discovered by a previously paired device in the first message and broadcast it. Assuming that mobile phone C is a device that has been paired with the headset, and mobile phone B has never been paired with the headset, when mobile phone B and mobile phone C scan the first message sent by the headset, mobile phone C can determine that it is a device that has been paired with the headset according to the first message, and then discover the headset and connect to the headset, thereby avoiding the headset being rejected by mobile phone C during the process of establishing a connection with mobile phone C. At the same time, mobile phone B can determine that it has never been paired with the headset (or it can also be described as mobile phone B can recognize that the headset is an undiscoverable device to itself). If mobile phone B attempts to establish a connection with the headset, it will be rejected by the headset, so mobile phone B will not try to establish a connection with the headset.
[0185] Based on the above Figure 7 With the method shown, the first device can dynamically schedule multiple access technologies based on the application, meeting the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios. Furthermore, multiple discoverability levels are provided for the first device, supporting more device discovery modes and processes, meeting the needs of a wider range of device discovery scenarios.
[0186] Further, such as Figure 11 As shown, the second device can scan the first message broadcast by the first device. When the second indication information in the first message scanned by the second device indicates that the first message is a polling broadcast message, the second device can send a polling response to the first device.
[0187] The second device can refer to the following Figure 12 The device discovery method shown scans the first message broadcast by the first device, which will not be described in detail here.
[0188] Specifically, when the second device scans the first message broadcast by the first device, the second device may parse the first message and determine whether the first message is a polling broadcast message according to the second indication information in the first message.
[0189] Optionally, when the second device determines that the first device is the device corresponding to the first application, the second device sends a polling response to the first device.
[0190] Exemplarily, the second device may determine whether the first device is the device corresponding to the first application according to the discoverability level in the scanned first message.
[0191] The polling response may be a scan request, and the first device may discover the second device according to the polling response.
[0192] based on Figure 11 In the method shown, when the second device is a hidden device (ie, a device that does not send broadcast messages but only scans and receives polls), the first device can discover the hidden device based on the polling response sent by the hidden device.
[0193] Corresponding to the above Figure 7 The device discovery method applied to the broadcasting device (ie, the first device) is shown as follows: Figure 12 As shown, the scanning device (ie, the second device) can scan the first message broadcast by the broadcasting device, and then discover the broadcasting device.
[0194] Figure 12 The present invention provides a device discovery method for a scanning device. Figure 12 As shown, the method may include:
[0195] Step 1201: The second device obtains a first discovery request of a first application.
[0196] The first discovery request may be used to request discovery of a device corresponding to the first application.
[0197] Specifically, the device corresponding to the first application may be a device that executes the first application.
[0198] The first discovery request may include information such as application requirements and / or service type of the first application.
[0199] Step 1202: The second device determines an access technology corresponding to the first application based on the first application.
[0200] Exemplarily, the second device may determine the access technology corresponding to the first application according to the application requirements and / or service type of the first application.
[0201] Specifically, the specific description of the second device determining the access technology corresponding to the first application can refer to the relevant description of the first device determining the access technology corresponding to the first application in the above step 702, which is not repeated here.
[0202] Step 1203: The second device scans the first message broadcast by the first device through the access technology corresponding to the first application.
[0203] The specific description of the first message can refer to the relevant description of the first message in step 703, which will not be repeated here.
[0204] Specifically, such as Figure 13 As shown, after the basic communication service framework module of the second device determines the access technology corresponding to the first application, it can indicate the access technology corresponding to the first application to the device discovery module. The device discovery module can then indicate the access technology corresponding to the first application to the access layer, and the access layer scans the first message broadcast by the first device according to the access technology corresponding to the first application.
[0205] Specifically, the basic communication service framework module can indicate the access technology corresponding to the first application in the first discovery request, convert the first discovery request into a first discovery request that can be received by the device discovery module, and send it to the device discovery module. The device discovery module can determine the access technology corresponding to the first application based on the received first discovery request, encapsulate relevant parameters, convert the received first discovery request into a first discovery request that can be received by the access layer, and send it to the access layer. The access layer scans the first message based on the first discovery request.
[0206] For example, taking the access technology determined by the basic communication service framework module of the second device as SLE access technology as an example, the basic communication service framework module can indicate the SLE access technology in the first discovery request, convert the first discovery request into a first discovery request that can be received by the device discovery module, and send it to the device discovery module. The device discovery module encapsulates relevant parameters based on the SLE access technology indicated in the received first discovery request, converts the received first discovery request into a first discovery request that can be received by the access layer, and sends it to the access layer. The access layer scans the first message based on the SLE access technology.
[0207] Step 1204: The second device filters the first message according to the filtering policy corresponding to the first application, and determines the device corresponding to the first application.
[0208] Specifically, such as Figure 13 As shown, when the access layer scans a first message broadcast by a first device based on the access technology corresponding to the first application, it can report the scanned first message to the device discovery module. The device discovery module filters the first message according to the filtering policy corresponding to the first application and reports the filtering result to the basic communication service framework module. The basic communication service framework module determines the device corresponding to the first application based on the filtering result.
[0209] Among them, the filtering strategy may include one or more of the following: discovering previously paired devices, discovering devices with a specified address or SSID, discovering devices that support specific services or capabilities, discovering devices within a specific range, disabling filtering, discovering discoverable devices, and discovering priority devices.
[0210] Specifically, when the second device adopts Figure 3 When the protocol structure is shown, Figure 13 As shown, the above filtering policies can be configured in the device discovery module of the second device. The description of each filtering policy can be found in the following Table 4:
[0211] Table 4
[0212]
[0213] Among them, for devices discovered within a specific range, the second device can calculate the distance between the surrounding devices and itself based on parameters such as broadcast transmission power and signal strength, and filter out devices that meet the distance requirements.
[0214] It should be noted that the above filtering policy can be mandatory or optional, and the above Table 4 is only an example and not limiting.
[0215] For second devices with simple functional requirements (e.g., smart water meter readers), supporting only some types of services is sufficient to meet business needs, rather than supporting all of them, to reduce the design complexity of the second device. For second devices with relatively high functional requirements (e.g., car computers or mobile phones), supporting all types of services can be selected to meet more diverse business needs.
[0216] For example, Figure 13As shown, the basic communication service framework module in the second device can obtain the first discovery request of the first application, and call the filtering policy provided by the device discovery module according to the application requirements and / or business type of the first application (such as the basic communication service framework module can obtain the filtering policy provided by the device discovery module by calling the interface provided by the device discovery module), that is, determine the filtering policy corresponding to the first application.
[0217] like Figure 13 As shown, after the basic communication service framework module of the second device determines the filtering policy corresponding to the first application, it can indicate the filtering policy corresponding to the first application to the device discovery module of the second device. The device discovery module can filter the first message reported by the access layer according to the filtering policy corresponding to the first application and report the filtered first message to the basic communication service framework module. The basic communication service framework module determines the device corresponding to the first application based on the filtered first message.
[0218] Based on the above description of the filtering policy, the first discovery request may further include one or more of the following information: identification information of a previously paired device, a designated address or SSID, and specific services or capabilities.
[0219] The device discovery module of the second device may filter the first message according to the first discovery request and the filtering policy corresponding to the first application.
[0220] For example, if the first discovery request includes SSID1, SSID2, and SSID3, and the filtering policy corresponding to the first application is to discover devices with specified addresses or SSIDs, the device discovery module of the second device can filter out the first message with SSID SSID1, SSID2, or SSID3 in the first message reported by the access layer based on the first discovery request and the filtering policy corresponding to the first application, and report the filtered first message to the basic communication service framework module. The basic communication service framework module determines the device corresponding to the first application based on the filtered first message.
[0221] Optionally, the device discovery module determines to filter the first message according to the filtering policy; or the access layer filters the first message according to the filtering policy; or the device discovery module and the access layer filter the first message according to the filtering policy.
[0222] When the device discovery module filters the first message according to the filtering policy, the access layer may report the scanned first message to the device discovery module, and the device discovery module filters the first message according to the filtering policy.
[0223] When the access layer filters the first message according to the filtering policy, the device discovery module can indicate the filtering policy to the access layer, and the access layer filters the scanned first message and reports the filtered first message to the device discovery module. The device discovery module reports the received first message to the basic communication service framework module.
[0224] When the device discovery module and the access layer filter the first message according to the filtering policy, the device discovery module may indicate the filtering policy to the access layer, and the access layer performs preliminary filtering on the scanned first message and reports the filtered first message to the device discovery module. The device discovery module filters the received first message according to the filtering policy and reports the filtering result to the basic communication service framework module.
[0225] Exemplarily, after receiving the first message reported by the device discovery module, the basic communication service framework module may determine the device corresponding to the first message as the device corresponding to the first application.
[0226] Based on the above Figure 12 With the method shown, the second device can dynamically schedule multiple access technologies based on the application, meeting the diverse power consumption and bandwidth requirements of different services or the same service in different communication scenarios. Furthermore, providing multiple filtering strategies for the second device can support more device discovery modes and processes, meeting the needs of a wider range of device discovery scenarios.
[0227] Furthermore, when the second device receives discovery requests from multiple applications, the second device can arbitrate and merge the discovery requests from the multiple applications to reduce the number of times the second device executes the device discovery method, thereby reducing the power consumption of the second device. In particular, reducing the number of times the access layer in the second device executes the device discovery method, or in other words, reducing overlapping commands executed by the access layer, reduces the power consumption of the second device.
[0228] The basic communication service framework module of the second device may arbitrate and merge the discovery requests of multiple applications, or the device discovery module of the second device may arbitrate and merge the discovery requests of multiple applications, without limitation.
[0229] like Figure 14 As shown, taking the example of the second device obtaining the first discovery request of the first application and the second discovery request of the second application, the arbitration and merging of the discovery requests of multiple applications by the second device is explained.
[0230] Figure 14 A flowchart of an arbitration and merging method provided for this application, such as Figure 14 As shown, the method may include:
[0231] Step 1401: The second device obtains a first discovery request from a first application and a second discovery request from a second application.
[0232] The first discovery request is used to request the discovery of a device corresponding to a first application; and the second discovery request is used to request the discovery of a device corresponding to a second application.
[0233] It should be noted that the second device can first obtain the first discovery request of the first application, and then obtain the second discovery request of the second application after a period of time; or, the second device can also obtain the first discovery request of the first application and the second discovery request of the second application at the same time, without restriction.
[0234] Step 1402: The second device determines whether the first discovery request and the second discovery request overlap. If so, execute step 1403 below, or execute steps 1404 to 1406 below; otherwise, execute step 1407 below.
[0235] When the first discovery request and the second discovery request are completely consistent, it can be determined that the first discovery request and the second discovery request overlap; or when the device types of the first discovery request and the second discovery request are consistent, it can also be determined that the first discovery request and the second discovery request overlap.
[0236] For example, taking the first discovery request as an example, in which the first discovery request is used to request the discovery of the SLB's Internet-connected device, and the second discovery request as an example, in which the second discovery request is used to request the discovery of the SLB's screen-projecting device, since the device corresponding to the first discovery request and the device corresponding to the second discovery request are both SLB devices, it can be determined that the first discovery request and the second discovery request overlap.
[0237] Based on the fact that the second device has obtained the first discovery request, the second device may determine whether the second discovery request overlaps with the first discovery request upon receiving the second discovery request. Alternatively, the second device may wait for a period of time after receiving the second discovery request and then evaluate all discovery requests received during the period to determine whether there are any overlapping discovery requests.
[0238] Step 1403: If there is overlap, the second device determines the device corresponding to the first application as the device corresponding to the second application.
[0239] For example, when the second device first obtains the first discovery request of the first application and determines the device corresponding to the first application based on the first discovery request, if the second device then obtains the second discovery request of the second application, and the second discovery request overlaps with the first discovery request, the second device can determine the device corresponding to the first application as the device corresponding to the second application.
[0240] In another example, when the second device first obtains the first discovery request of the first application and executes the above-mentioned device discovery method according to the first discovery request, if the second device then obtains the second discovery request of the second application, and the second discovery request overlaps with the first discovery request, then the second device can determine the device corresponding to the first application as the device corresponding to the second application after the device discovery method corresponding to the first discovery request is completed.
[0241] In another example, when the second device simultaneously obtains the first discovery request of the first application and the second discovery request of the second application, and the second discovery request overlaps with the first discovery request, the second device can execute the above-mentioned device discovery method according to the first discovery request, determine the device corresponding to the first application, and determine the device corresponding to the first application as the device corresponding to the second application.
[0242] Step 1404: The second device combines the first discovery request and the second discovery request into one discovery request.
[0243] For example, taking the first discovery request being used to request the discovery of the SLB's Internet access device, and the second discovery request being used to request the discovery of the SLB's screen-projecting device as an example, the merged discovery request can be used to request the discovery of the SLB device.
[0244] Step 1405: The second device scans the first message broadcast by the first device according to the combined discovery request and through the corresponding access technology.
[0245] The corresponding access technology may be an access technology corresponding to both the first application and the second application.
[0246] Step 1406: The second device filters the first message according to the combined filtering policy, and determines the filtered devices as the devices corresponding to the first application and the devices corresponding to the second application.
[0247] In one possible design, the merged filtering policy is a filtering policy obtained by merging the filtering policy corresponding to the first application and the filtering policy corresponding to the second application.
[0248] Among them, the second device can determine the filtering policy corresponding to the first application based on the first discovery request, and determine the filtering policy corresponding to the second application based on the second discovery request, and merge the filtering policy corresponding to the first application and the filtering policy corresponding to the second application as the filtering policy for filtering the first message.
[0249] For example, taking the first discovery request being used to request the discovery of SLB's Internet-connected devices and the second discovery request being used to request the discovery of SLB's screen-projecting devices as an example, the second device can determine that the filtering policy corresponding to the first application can be to discover devices that support specific services or capabilities, and the specific service or capability is to support SLB access technology and support Internet access, and determine that the filtering policy corresponding to the second application is to discover devices that support specific services or capabilities, and the specific service or capability is to support SLB access technology and support screen projection. After merging the filtering policy corresponding to the first application and the filtering policy corresponding to the second application, it can be determined that the merged filtering policy is to discover devices that support specific services or capabilities, and the specific service or capability is to support SLB access technology.
[0250] In another possible design, the filtering policy is the filtering policy corresponding to the merged discovery request.
[0251] Among them, the second device can determine the filtering policy based on the merged discovery request. For example, taking the first discovery request as an example, which is used to request the discovery of the SLB's Internet access device and the second discovery request as an example, the second device can determine that the merged discovery request is used to request the discovery of the SLB device, and then determine that the filtering policy corresponding to the merged discovery request is to discover devices that support specific services or capabilities, and the specific services or capabilities are to support SLB access technology.
[0252] For example, Figure 15 As shown, taking the second device as a mobile phone, and the first application in the mobile phone sending a first discovery request to find the SLB's Internet access device, and the second application sending a discovery request to find the SLB's screen-casting device as an example, the basic communication service framework module in the mobile phone can merge the first discovery request and the second discovery request into a discovery request to find the SLB device, and send the merged discovery request to the device discovery module. The device discovery module converts the received discovery request into a discovery request that can be received by the access layer, and sends it to the access layer. Based on the discovery request, the access layer uses the SLB access technology to scan the first message, and reports the scanned first message to the device discovery module. The device discovery module filters the first message according to the merged filtering strategy, and reports the filtered first message to the basic communication service framework module. Based on the device corresponding to the first message, the basic communication service framework module determines the SLB Internet access device as the device corresponding to the first application and reports it to the first application, and determines the SLB screen-casting device as the device corresponding to the second application and reports it to the second application.
[0253] For example, Figure 16As shown, taking the first device including router 1, router 2, router 3 and smart screen, and the second device being a mobile phone as an example, router 1 can broadcast the first message 1, router 2 can broadcast the first message 2, router 3 can broadcast the first message 3, and the smart screen can broadcast the first message 4. Assuming that the first message scanned by the access layer of the second device includes the first message 1, the first message 2, the first message 3 and the first message 4, the access layer can report the first message 1, the first message 2, the first message 3 and the first message 4 to the device discovery module. Assuming that router 1 and router 2 are SLB Internet access devices and the smart screen is an SLB screen-projecting device, the device discovery module can filter out the first message 1, the first message 2 and the first message 4 according to the merged filtering strategy, and report them to the basic communication service framework module. Based on the first message 1 and the first message 2, the basic communication service framework module determines router 1 and router 2 as the devices corresponding to the first application and reports them to the first application; based on the first message 4, the smart screen is determined as the device corresponding to the second application and reports it to the second application.
[0254] Step 1407: The second device determines the device corresponding to the first application according to the first discovery request; and determines the device corresponding to the second application according to the second discovery request.
[0255] Among them, when the first discovery request and the second discovery request do not overlap, the second device can perform the above Figure 12 The device discovery method shown in the figure determines the device corresponding to the first application according to the first discovery request. The second device can also perform the above Figure 12 The device discovery method shown determines the device corresponding to the second application according to the second discovery request.
[0256] Based on the above Figure 14 In the method shown, when the second device obtains discovery requests from multiple applications, the second device can arbitrate and merge the discovery requests from multiple applications to reduce the number of times the second device executes the above device discovery method and reduce the power consumption of the second device.
[0257] Furthermore, the second device may also set tags for the applications according to the application requirements of the applications, and subsequently distribute the device discovery results to the applications according to the tags.
[0258] The device discovery result may include a device determined by the basic communication service framework module of the second device according to the first message.
[0259] The labels corresponding to the applications whose requests overlap may be the same.
[0260] Exemplarily, taking the example of an application including a first application, a second application, and a third application, assuming that the first discovery request of the first application overlaps with the second discovery request of the second application, and the third discovery request of the third application does not overlap with the first discovery request and the second discovery request, the second device can set a first label for the first application and the second application, and set a second label for the third application. When the second device executes the above-mentioned device discovery method and determines one or more devices according to the first discovery request or the second discovery request, it can report the determined one or more devices to the application corresponding to the first label (such as the first application, the second application, or the application labeled with the first label) according to the first label. When the second device executes the above-mentioned device discovery method and determines one or more devices according to the third discovery request, it can report the determined one or more devices to the application corresponding to the second label (such as the third application or the application labeled with the second label) according to the second label.
[0261] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of interaction between devices. It is understandable that, in order to realize the above functions, each device includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0262] The embodiments of the present application can divide the functional modules of each device according to the above method examples. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical function division. In actual implementation, there may be other division methods.
[0263] In the case of dividing each functional module into corresponding functional modules, Figure 17 A communication device 170 is shown. When the communication device 170 is used to be discovered by other devices, the communication device 170 can perform the above Figures 7-16 When the communication device 170 is used to discover other devices, the communication device 170 may perform the above Figures 7 to 16 The action of the second device in the
[0264] The communication device 170 may include a transceiver module 1701 and a processing module 1702. Exemplarily, the communication device 170 may be a communication device, or a chip used in a communication device, or other combined device or component having the aforementioned functions of a communication device. When the communication device 170 is a communication device, the transceiver module 1701 may be a transceiver, which may include an antenna and a radio frequency circuit, etc.; the processing module 1702 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the communication device 170 is a component having the aforementioned functions of a communication device, the transceiver module 1701 may be a radio frequency unit; the processing module 1702 may be a processor (or processing circuit), such as a baseband processor. When the communication device 170 is a system-on-chip (SoC), the transceiver module 1701 may be the input / output interface of the chip (e.g., a baseband chip); the processing module 1702 may be the system-on-chip's processor (or processing circuit), which may include one or more central processing units. It should be understood that the transceiver module 1701 in the embodiment of the present application can be implemented by a transceiver or a transceiver-related circuit component; the processing module 1702 can be implemented by a processor or a processor-related circuit component (or, referred to as a processing circuit).
[0265] For example, the transceiver module 1701 can be used to perform Figures 7-16 All transceiver operations performed by the communication device in the embodiment shown, and / or other processes used to support the technology described herein; the processing module 1702 can be used to perform Figures 7-16 All operations except for the transceiver operations performed by the communication device in the illustrated embodiment, and / or other processes for supporting the technology described herein.
[0266] As another possible implementation method, Figure 17 The transceiver module 1701 in the embodiment can be replaced by a transceiver, which can integrate the functions of the transceiver module 1701; the processing module 1702 can be replaced by a processor, which can integrate the functions of the processing module 1702. Figure 17 The communication device 170 shown may also include a memory. When the transceiver module 1701 is replaced by a transceiver and the processing module 1702 is replaced by a processor, the communication device 170 involved in the embodiment of the present application may be Figure 6 The communication device shown.
[0267] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware, and the program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be an internal storage unit of the terminal (including the data sending end and / or the data receiving end) of any of the above-mentioned embodiments, such as the hard disk or memory of the terminal. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned terminal, such as a plug-in hard disk equipped on the above-mentioned terminal, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. Further, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned terminal and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned terminal. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0268] It should be noted that the terms "first" and "second" in the specification, claims, and drawings of this application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products, or devices.
[0269] It should be understood that in the present application, "at least one (item)" refers to one or more, "more than one" refers to two or more, "at least two (items)" refers to two or three and more than three, and "and / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0270] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0271] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0272] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0273] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0274] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a device (which can be a single-chip microcomputer, chip, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
[0275] The above is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A device discovery method, characterized in that: include: The first device obtains request information of the first application; wherein the request information is used to indicate the discoverability level of the first device; Determining, by the first device, an access technology corresponding to the first application according to the first application; The first device broadcasts a first message through the access technology corresponding to the first application according to the request information; wherein the first message includes first indication information, and the first indication information is used to indicate the discoverability level of the first device.
2. The method according to claim 1, characterized in that The discoverability level includes one or more of the following: the device expects to be discovered by a previously paired device, the device expects to be discovered by a device with a specified address or service set identifier SSID, the device expects to be discovered by a device supporting specific services or capabilities, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
3. The method according to claim 2, characterized in that The first message further includes one or more of the following: identification information of a previously paired device, a designated address or SSID, and specific services or capabilities.
4. The method according to any one of claims 1 to 3, characterized in that The first device determining, according to the first application, an access technology corresponding to the first application, including: The first device determines an access technology corresponding to the first application according to application requirements and / or service type of the first application.
5. The method according to any one of claims 1 to 3, characterized in that The first message also includes second indication information; wherein the second indication information is used to indicate whether the first message is a polling broadcast message.
6. The method according to claim 5, characterized in that When the first message is a polling broadcast message, the method further includes: The first device receives a polling response from the second device; The first device discovers the second device according to the polling response.
7. A device discovery method, characterized in that: include: The second device obtains a first discovery request of the first application; wherein the first discovery request is used to request discovery of a device corresponding to the first application; The second device determines, according to the first application, an access technology corresponding to the first application; The second device scans, using the access technology corresponding to the first application, a first message broadcast by the first device; wherein the first message includes first indication information, and the first indication information is used to indicate a discoverability level of the first device; The second device filters the first message according to the filtering policy corresponding to the first application, and determines the device corresponding to the first application.
8. The method according to claim 7, characterized in that The second device determining, according to the first application, an access technology corresponding to the first application, including: The second device determines an access technology corresponding to the first application according to application requirements and / or service type of the first application.
9. The method according to claim 7 or 8, characterized in that The discoverability level includes one or more of the following: the device expects to be discovered by a previously paired device, the device expects to be discovered by a device with a specified address or service set identifier SSID, the device expects to be discovered by a device supporting a specified service or capability, the device is not discoverable, the device is generally discoverable, and the device is preferentially discoverable.
10. The method according to claim 9, characterized in that The first message further includes one or more of the following: identification information of a previously paired device, a designated address or SSID, and specific services or capabilities.
11. The method according to any one of claims 7 to 8 and 10, characterized in that: The filtering strategy includes one or more of the following: discovering previously paired devices, discovering devices with a specified address or SSID, discovering devices that support specific services or capabilities, discovering devices within a specific range, disabling filtering, discovering discoverable devices, and discovering priority devices.
12. The method according to any one of claims 7 to 8 and 10, characterized in that: The first message also includes second indication information; wherein the second indication information is used to indicate whether the first message is a polling broadcast message.
13. The method according to claim 12, characterized in that When the first message is a polling broadcast message, the method further includes: When the second device determines that the first device is the device corresponding to the first application, the second device sends a polling response to the first device.
14. The method according to any one of claims 7-8, 10 and 13, characterized in that: The method further comprises: The second device obtains a second discovery request of the second application; wherein the second discovery request is used to request discovery of a device corresponding to the second application; The second device determines whether the first discovery request and the second discovery request overlap; If there is overlap, the second device determines the device corresponding to the first application as the device corresponding to the second application; or The second device merges the first discovery request and the second discovery request into one discovery request; according to the merged discovery request, scans the first message broadcast by the first device through the access technology corresponding to the first application; filters the first message according to the merged filtering policy, and determines the filtered devices as the devices corresponding to the first application and the devices corresponding to the second application, wherein the merged filtering policy is a filtering policy obtained by merging the filtering policy corresponding to the first application and the filtering policy corresponding to the second application, or the merged filtering policy is the filtering policy corresponding to the merged discovery request.
15. The method according to any one of claims 7-8, 10 and 13, characterized in that: The method further comprises: The second device determines a first tag based on the first application; wherein it is found that the tags corresponding to the applications with overlapping requests are the same; The second device filters the first message according to a filtering policy corresponding to the first application, and determines the filtered devices as devices corresponding to the application indicated by the first tag.
16. A communication device, characterized in that: include: a transceiver module, configured to obtain request information from a first application; wherein the request information is used to indicate a discoverability level of the first device; a processing module, configured to determine, based on the first application, an access technology corresponding to the first application; The transceiver module is further used to broadcast a first message through the access technology corresponding to the first application according to the request information; wherein the first message includes first indication information, and the first indication information is used to indicate the discoverability level of the first device.
17. A communication device, characterized in that: include: A transceiver module, configured to obtain a first discovery request from a first application; wherein the first discovery request is used to request discovery of a device corresponding to the first application; a processing module, configured to determine, based on the first application, an access technology corresponding to the first application; The transceiver module is further configured to scan a first message broadcast by a first device using the access technology corresponding to the first application; wherein the first message includes first indication information, and the first indication information is used to indicate a discoverability level of the first device; The processing module is further configured to filter the first message according to a filtering policy corresponding to the first application, and determine a device corresponding to the first application.
18. A communication device, characterized in that: The communication device includes a processor; the processor is configured to run a computer program or instruction to execute the device discovery method according to any one of claims 1 to 6, or the device discovery method according to any one of claims 7 to 15.
19. A communication device, characterized in that: The communication device includes a processor and a communication interface; the communication interface is coupled to the processor, the processor is used to run a computer program or instruction to execute the device discovery method as described in any one of claims 1 to 6, or the device discovery method as described in any one of claims 7 to 15, and the communication interface is used to communicate with other modules outside the communication device.
20. A communication device, characterized in that: The communication device includes an interface circuit and a logic circuit, the interface circuit is used to input and / or output information, and the logic circuit is used to execute the device discovery method described in any one of claims 1 to 6, or execute the device discovery method described in any one of claims 7 to 15, and process and / or generate the information based on the information.
21. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions or programs. When the computer instructions or programs are executed on a computer, the device discovery method according to any one of claims 1 to 6 or the device discovery method according to any one of claims 7 to 15 is executed.
22. A computer program product, characterized in that The computer program product includes computer instructions; when part or all of the computer instructions are executed on a computer, the device discovery method according to any one of claims 1 to 6 is executed, or the device discovery method according to any one of claims 7 to 15 is executed.
Citation Information
Patent Citations
Method and device for controlling device by using bluetooth low energy (LE) technology
US20170303326A1
Cited By
Device discovery method and apparatus
WO2023011212A1