Wireless communication method and related device, and computer-readable memory.

The wireless communication method and device enhance IoT networks by securely transmitting device attributes like identity, mobility, and privacy indications, improving device discovery and location determination through explicit or implicit public/private status handling.

BR112019004957B1Active Publication Date: 2026-07-07QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112019004957
Authority / Receiving Office
BR · BR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2016-09-20
Filing Date
2017-08-17
Publication Date
2026-07-07
Estimated Expiration
2037-08-17

AI Technical Summary

Technical Problem

Existing wireless communication systems lack efficient methods for registering and communicating device attributes, including device identity, mobility, location, and privacy indications, which hinders effective device discovery and location determination in IoT networks.

Method used

A wireless communication method and device that generate and transmit attribute indications, including device identity, mobility, and privacy indications, allowing authorized devices to access and share location information while protecting privacy through explicit or implicit public/private status handling.

Benefits of technology

Enhances device discovery and location determination in IoT networks by ensuring secure and efficient communication of device attributes, enabling accurate positioning and selective information sharing based on device authorization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000100_0000
    Figure 00000100_0000
  • Figure 00000101_0000
    Figure 00000101_0000
  • Figure 00000102_0000
    Figure 00000102_0000
Patent Text Reader

Abstract

This is a method of wireless communication, which includes: generating a communication that includes attribute indications corresponding to a plurality of attributes of a transmitting device; and transmitting communication by wireless technology from the transmitting device; where the attribute indications include: a device identity of the transmitting device; a mobility indication indicating whether the transmitting device is mobile or static; a location indication indicating a location of the transmitting device; and a privacy indication associated with a corresponding attribute of the transmitting device, the privacy indication indicating whether a receiving device that receives the attribute indications from the transmitting device is authorized to transmit information relating to the corresponding attribute of the transmitting device.
Need to check novelty before this filing date? Find Prior Art

Description

"WIRELESS COMMUNICATION METHOD AND RELATED DEVICE, AND COMPUTER-READABLE MEMORY" BACKGROUND OF THE INVENTION

[0001] Devices, both mobile and stationary, are increasingly equipped to communicate wirelessly with other devices and / or to make measurements from which their locations can be determined and / or the locations of other devices from which one or more signals are received can be determined. The locations of devices can be determined by the devices themselves, or by another device that is fed with the measurements, or by another device that performs the measurements. For example, a device can determine its own location based on signals from the satellite positioning system (SPS), cellular network signals, and / or Wi-Fi signals, etc., that the devices receive. In addition or alternatively, the location of a target device can be determined by another device to which the measurements made by the target device are provided.In addition, or alternatively, the location of the target device can be determined by a location determination device based on measurements of signals sent by the target device (received by the location determination device and / or received by one or more other devices). The types of devices capable of wireless communication continue to expand, for example, with household items such as garage door openers often capable of wireless communication. Petition 870240079983, dated 09 / 18 / 2024, p. 6 / 108 2 / 92 other devices.

[0002] To improve the usefulness of communication between devices, for example, to locate one or more devices, devices can be registered to provide information about the devices being registered. Additionally, the registration device or another device can be used to search for a device in the communication system. SUMMARY

[0003] An example of a wireless communication method includes: generating a communication that includes attribute indications corresponding to a plurality of attributes of a transmitting device; and transmitting communication by wireless technology from the transmitting device; where the attribute indications include: a device identity of the transmitting device; a mobility indication indicating whether the transmitting device is mobile or static; a location indication indicating a location of the transmitting device; and a privacy indication associated with a corresponding attribute of the transmitting device, the privacy indication indicating whether a receiving device that receives the attribute indications from the transmitting device is authorized to transmit information relating to the corresponding attribute of the transmitting device.

[0004] An example of a device includes: means for generating communication that includes attribute indications corresponding to a plurality of device attributes; and means for transmitting the communication. Petition 870240079983, dated 09 / 18 / 2024, p. 7 / 108 3 / 92 wireless technology from the device; wherein attribute indications include: a device identity of the device; a mobility indication indicating whether the device is mobile or static; a location indication indicating a location of the device; and a privacy indication associated with a corresponding attribute of the device, the device being a first device, the privacy indication indicating whether a receiving device that receives the attribute indications from the first device is authorized to transmit information relating to the corresponding attribute of the first device.

[0005] Another example of a device includes: a processor configured to generate a communication that includes attribute indications corresponding to a plurality of device attributes; and a transceiver, communicatively coupled to the processor, configured to transmit the communication by wireless technology from the device; wherein the attribute indications include: a device identity of the device; a mobility indication indicating whether the device is mobile or static; a location indication indicating a location of the device; and a privacy indication associated with a corresponding attribute of the device, the device being a first device, the privacy indication indicating whether a receiving device that receives the attribute indications from the first device is authorized to transmit information relating to the corresponding attribute of the first device. Petition 870240079983, dated 09 / 18 / 2024, p. 8 / 108 4 / 92

[0006] An example of a non-temporary storage medium stores processor-readable instructions configured to make a device's processor: generate a communication that includes attribute indications corresponding to a plurality of device attributes; and transmit the communication wirelessly from the device; wherein the attribute indications include: a device identity of the device; a mobility indication indicating whether the device is mobile or static; a location indication indicating a location of the device; and a privacy indication associated with a corresponding device attribute, the device being a first device, the privacy indication indicating whether a receiving device that receives the attribute indications from the first device is authorized to transmit information relating to the corresponding attribute of the first device. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] FIG. 1 is a simplified view of a wireless communications system.

[0008] FIG. 2 is a simplified top view of an internal part of the wireless communication system illustrated in FIG. 1

[0009] FIG. 3 is a block diagram of the communication device components illustrated in FIG. 2

[0010] FIGS. 4 and 5 are examples of device attribute tables corresponding to one or more wireless communication devices. Petition 870240079983, dated 09 / 18 / 2024, p. 9 / 108 5 / 92

[0011] FIG. 6 is a block diagram of the components of a central controller illustrated in FIG. 2.

[0012] FIG. 7 is a table of the device's data history maintained by the central controller illustrated in FIG. 6.

[0013] FIG. 8 is a screenshot of a user interface of the central controller illustrated in FIG. 2 for device registration.

[0014] FIG. 9 is a screenshot of a user interface of the central controller illustrated in FIG. 2 for device search.

[0015] FIG. 10 is a block flowchart of a wireless communication method.

[0016] FIG. 11 is a block flowchart of a method for locating a wireless communication device.

[0017] FIG. 12 is a block flowchart of a method for registering a wireless communication device.

[0018] FIG. 13 is a block flowchart of a method to assist a user of a wireless communication device. DETAILED DESCRIPTION

[0019] Techniques for registering devices in wireless communication systems are discussed here. For example, a user interface can help a user register devices for a wireless communication network. The user interface can provide a map so that the user can select a location on the map as the location of a device being... Petition 870240079983, dated 09 / 18 / 2024, page 10 / 108 6 / 92 registered. The user interface may suggest a location and / or a name for a device being registered. The suggested location may be based on the current location of the device being registered, the current location of the user interface, location information provided by a user through the user interface, a device name of the device being registered, and / or a device type of the device being registered. The user interface may suggest a device name for the device being registered, for example, based on the current location of the device being registered, a user's name, or the name or title of a person associated with another device that is or has been in close proximity to the device being registered (for example, for a time-out period, possibly while the other device and the device being registered are in motion).These examples, however, are not exhaustive.

[0020] Techniques for finding devices in wireless communication systems are also discussed here, in particular a user interface to facilitate the formulation of a search query to identify a device to be found, and / or to provide detailed information about the location of a found device. For example, a user can provide part of a search query and the user interface can provide another part of the search query based on the part provided by the user and on an association of the part provided by the user and an entity. For example, the Petition 870240079983, dated 09 / 18 / 2024, page 11 / 108 7 / 92 The user interface can complete the search with a device name based on the user's voice association with the user or on an association between the device of which the user interface is a part and the user. As another example, the user interface can provide a map, for example, of a building's interior (e.g., a floor plan), and provide a visual indication of the location of a found device. As another example, the user interface can provide the location of a found device as a distance (and possibly direction) relative to another device and / or relative to a fixed location, such as a landmark on a building floor. These examples, however, are not exhaustive.

[0021] Techniques for communicating device attributes between devices in wireless communication networks are still under discussion. For example, a device can broadcast attributes of itself, such as its device type (e.g., a cell phone, a television, a refrigerator, etc.), the device name, whether the device is static (at least hypothetically) or mobile (at least hypothetically), the device's location, etc. The device can provide one or more privacy indications associated with one or more of its attributes. A privacy indication might indicate, for example, whether a device receiving the attribute transmission is permitted to forward or otherwise send or retransmit an indication of the attribute. As another example, a privacy indication might indicate whether a Petition 870240079983, dated 09 / 18 / 2024, p. 12 / 108 8 / 92 A device can be discovered, for example, if a device's location can be disclosed, or if one or more other devices are authorized to determine the device's location. For example, a device may not include a device location in a network table of devices, locations, and attributes. Additionally, a first device may request authorization from a second device for the first device to provide the first device's location. Authorization can be obtained through an exchange of security questions. Alternatively, the first device may provide the first device's location in an encrypted message that the second device can only correctly decrypt if the second device has an appropriate (authorized) cryptographic key.Alternatively, if the authorization is unknown / unidentifiable, then the first device may use spoofing (use of a false IP address) to obstruct knowledge of the first device's location. Spoofing can involve adding error to the first device's location, for example, by adding error to a timing signal transmitted by the first device, adjusting a power level of a transmitted signal to alter a proximity determination, and / or reporting an inaccurate location (e.g., a true location plus an error, for example, of 100 m). As yet another example, it involves choosing which attributes of a device are included in an attribute set and / or which attributes (or attribute values) are transmitted by the device. Petition 870240079983, dated 09 / 18 / 2024, p. 13 / 108 9 / 92 may vary, for example, based on the device's location, the day of the week, or the time of day, or combinations of these and / or one or more other criteria. These examples, however, are not exhaustive.

[0022] The items and / or techniques described herein may offer one or more of the following features, as well as other features not mentioned. Warnings may be provided in response to a hypothetically static device moving or being moved. The determination of the device's position may be improved, for example, by assigning greater weight to signal measurements from hypothetically static devices than to signal measurements from hypothetically mobile devices, or even by discarding or not performing the latter measurements. Device attributes may be selectively transmitted to other devices, allowing the concealment of confidential information in untrusted environments and allowing the selective dissemination of information based on the expected audience. Other capabilities may be provided, and not every implementation in accordance with the disclosure will provide any, let alone all, of the capabilities discussed.

[0023] Referring to FIG. 1, a wireless communication system 10 includes wireless communication devices 12, 14, 16, 18, 20, 22, an access point 24, a base station 26, a network 28, a server 30, a presence sensor 32, and an audio transducer 34. The devices 12, 14, 16, 18, the access point 24, the presence sensor 32, and the audio transducer 34 are arranged within a structure 36 (e.g., a building). The system 10 is Petition 870240079983, dated 09 / 18 / 2024, page 14 / 108 10 / 92 is a communication system in which the components of system 10 can communicate with each other directly or indirectly, for example, through network 28 and / or access point 24 and / or base station 26 (or through other access points and / or other base stations not illustrated). System 10 is a wireless communication system in which at least some of the components of system 10 can communicate with each other by wireless technology. For example, base station 26 and device 20 can communicate wirelessly using signals according to one or more protocols, such as LTE, GSM, CDMA or OFDM. The single access point 24 and the single base station are only examples, and other quantities of access points and / or base stations may be used.Furthermore, device types 12, 14, 16, 18, 20, 22 (e.g., a household appliance, a smartphone, a tablet, a laptop, and a car) are examples, and other device types may be used, whether currently existing or developed in the future. The term base station does not limit base station 26 to any specific form, protocol, etc. For example, any of the base stations 26 (and / or other base stations not illustrated) may be called a transceiver base station (BTS), access node (AN), B-node, evolved B-node (eNB), etc. Additionally, device 22 is a car, and although the primary function of a car is not that of a communication device, the car will comprise a communication device as part of the car, and, for the sake of simplicity of disclosure, the car is considered as a type of communication device described herein.

[0024] System 10 comprises a network Petition 870240079983, dated 09 / 18 / 2024, page 15 / 108 11 / 92 Internet of Things (IoT) in this example, with devices 12, 14, 16, 18, 20, 22 configured to communicate with each other, particularly through one or more short-range wireless communication techniques. System 10 being an IoT network is, however, an example and not mandatory. Examples of short-range wireless communication techniques include BLUETOOTH communications, low-energy BLUETOOTH communications, and Wi-Fi communications. Devices 12, 14, 16, 18, 20, 22 can transmit information and / or can relay information from one of the devices 12, 14, 16, 18, 20, 22 to another or another device, such as the access point 24 and / or the base station 26. One or more of the devices 12, 14, 16, 18, 20, 22 may include various types of radios, for example, a BLUETOOTH radio, a Wi-Fi radio, a cellular radio (e.g., LTE, CDMA, 3G, 4G, etc.), etc., so that information can be received using one radio and transmitted using a different radio. Furthermore, one or more of devices 12, 14, 16, 18, 20 may be configured to determine the range of another of devices 12, 14, 16, 18, 20, 22 (for example, using round-trip time (RTT), or observed time difference of arrival (OTDOA), or received signal strength indications (RSSI), or one or more other techniques, or a combination of one or more of any of these techniques) and / or to determine the angle of arrival (AOA) of a signal originating from another of devices 12, 14, 16, 18, 20, 22 and / or one or more other devices, such as access point 24 and / or base station 26.

[0025] Referring to FIG. 2, the inner portion Petition 870240079983, dated 09 / 18 / 2024, p. 16 / 108 12 / 92 of the system 10 within the structure 36 includes wireless communication devices 40, 41, 42, 43, 44, 45, 46, 47, presence sensors 50, 52, audio transducers 54, 56, a central controller 60 and the access point 24 (here, a Wi-Fi router). In this example, wireless communication devices 40 to 47 include a dishwasher 40, an oven 41, a toaster 42, and a refrigerator 43 located in a kitchen 64, a tablet 44, a smartphone 45, and a television located in a family living room 66, and a car 46 and a garage door opener 47 located in a garage 68. These devices 40 to 47 are configured to communicate with each other if they are within communication range of each other, and to communicate with presence sensors 50, 52, and the central controller 60.Using their communication capabilities, information relating to devices 40 to 47 can be sent to each other, relayed to other devices, or even relayed to the central controller 60. Furthermore, communications from the central controller 60 can be received or forwarded by devices 40 to 47. Moreover, the central controller 60 can be a standalone device, as illustrated in FIG. 2, or it can be incorporated into any of the devices 40 to 47. System 10, in this example, provides an IoT network that can generate, send, receive, relay, or forward various information (e.g., attributes, attribute tables, attribute-related information, signal measurements, location indications, etc.) to facilitate the functionality described herein. Devices 40 to 47 are merely examples, e.g. Petition 870240079983, dated 09 / 18 / 2024, page 17 / 108 13 / 92 other types of devices, as well as other quantities of devices, may be used.

[0026] Presence sensors 50, 52 facilitate the detection of the presence of devices and / or users. Presence sensors 50, 52 can detect the presence of devices and / or people in any of a variety of ways. For example, one or both presence sensors 50, 52 may comprise a motion sensor, for example, which sends signals, measures their reflections and compares the current reflections with previous reflections. The signals may be visible or non-visible light signals (e.g., infrared) and audible or non-audible sound signals (e.g., ultrasound). One or both presence sensors 50, 52 may comprise a heat sensor, for example, including an infrared sensor. One or both presence sensors 50, 52 may be communicatively coupled (e.g., wired or wirelessly communicating with) one or more of devices 40 to 47 and / or the central controller 60.Presence sensors 50 and 52 are configured to report the detection of the presence (possibly only if new, or possibly new and continuous) of a relevant object, such as a person.

[0027] Audio transducers 54, 56 facilitate the reception and delivery of commands from users to the central controller 60 or to another suitable device. The audio transducers are preferably communicatively coupled (e.g., wired or wirelessly) to the central controller 60 and are configured to receive verbal commands, convert these commands into electrical signals, and send the signals to Petition 870240079983, dated 09 / 18 / 2024, page 18 / 108 14 / 92 the central controller 60 or other appropriate device. Audio transducers 54, 56 can send signals to the central controller 60 or other suitable device, directly or indirectly (for example, through one or more intermediate devices that relay the signals), such as one or more of devices 40 to 47.

[0028] Referring to FIG. 3, with further reference to FIG. 1, an example of a wireless communication device 70 comprises a computer system including a processor 80, a memory 82 including software (SW) 84, an optional user interface 86, and a transceiver 88. The processor 80 is preferably an intelligent hardware device, for example, a central processing unit (CPU), such as those produced or designed by QUALCOMM®, ARM®, Intel® Corporation, or AMD®, a microcontroller, an application-specific integrated circuit (ASIC), etc. The processor 80 may comprise multiple separate physical entities that may be distributed throughout the device 70. The memory 82 may include random access memory (RAM) and / or read-only memory (ROM).Memory 82 is a processor-readable, non-temporary storage medium that stores software 84, which is processor-readable, executable software code containing instructions that are configured to, when executed, cause the processor 80 to perform various functions described herein. The description may refer only to the processor 80 or to the device 70 that performs the functions, but this includes other implementations, such as where the processor 80 executes software and / or firmware. Petition 870240079983, dated 09 / 18 / 2024, p. 19 / 108 15 / 92 software 84 may not be directly executable by processor 80 and instead may be configured to, for example, when compiled and executed, cause processor 80 to perform the functions. Whether compilation is required or not, software 84 contains the instructions to cause processor 80 to perform the functions. Processor 80 is communicatively coupled with memory 82.Processor 80, in combination with memory 82, user interface 86 (as appropriate) and / or transceiver 88, provides means to perform functions as described herein, for example, means to generate communications with device attributes and to cause transceiver 88 to transmit these communications wirelessly from device 70, means to receive communications from other devices, means to transmit communications to other devices including retransmitting at least portions of received communications (e.g., forwarding / sending portions of received communications), and means to determine various information, such as the position of device 70, the relative distance of device 70 to another device, the angle of arrival of a signal at device 70, a change in the position of another device with a static mobility condition, etc.Software 84 can be loaded into memory 82 by being downloaded via a network connection, sent from a disk, etc. Device 70 can be any of the wireless communication devices 40 to 47 illustrated in FIG. 2, or another device. The term wireless communication device does not, of course, require wireless communication devices 40 to 47 to be included. Petition 870240079983, dated 09 / 18 / 2024, p. 20 / 108 16 / 92 The device's functionality is exclusively, or basically primarily, for communication, or that the device is a mobile device, but indicates that the device includes wireless communication capability (unidirectional or bidirectional), for example, it includes at least one radio (each radio being part of a transmitter, receiver or transceiver) for wireless communication. The user interface 86 (e.g., a display medium and / or a microphone and speaker) is optional, for example, with the tablet 44 and the smartphone 45 including a display medium, a microphone and a speaker while the garage door opener 47 (typically) does not include a display medium, a microphone or a speaker, although the garage door opener 47 may include a user interface of some kind, for example, user-operable buttons.

[0029] Transceiver 88 is configured to send wireless communications from device 70 and receive wireless communications to device 70, for example, from wireless communication devices 40 to 47, access point 24, or central controller 60. Thus, transceiver 88 includes one or more wireless communication radios. In the example illustrated in FIG. 3, transceiver 88 optionally includes a BLUETOOTH radio 90, a Wi-Fi radio 92, and a long-term evolution (LTE) radio 94. As illustrated, each of the radios 90, 92, and 94 is optional, although transceiver 88 includes at least one wireless communication radio. In addition, one or more other types of radios may be included in device 70. Petition 870240079983, dated 09 / 18 / 2024, page 21 / 108 17 / 92 of, or instead of radio(s) 90, 92, 94. If transceiver 88 includes more than one wireless communication radio, then transceiver 88 can receive a wireless communication using one of the wireless communication radios and transmit (e.g., relay or forward) the communication (or a portion thereof) using a different wireless communication radio. The communication can be transmitted to another of the wireless communication devices 40 to 47 or to another device, such as access point 24. Thus, for example, device 70 can receive a wireless communication using BLUETOOTH radio 90 and forward the communication using Wi-Fi radio 92 to another device that does not include a BLUETOOTH radio.

[0030] Processor 80 is configured to relay communications between devices, for example, from central controller 60, devices 40 to 47, or from devices 40 to 47 to the central controller. For example, processor 80 may receive, via transceiver 88, a request from central controller 60 (directly or indirectly, for example, from another of the devices 40 to 47) for the location of one of the devices 40 to 47. Processor 80 may relay the request to one or more of the devices 40 to 47 within the communication range of device 70. Processor 80 is additionally configured to relay a response from any of the devices 40 to 47 to central controller 60, or to another device for further relaying until the response reaches central controller 60. The response, for example, may be the location of a destination device, and the Petition 870240079983, dated 09 / 18 / 2024, p. 22 / 108 18 / 92 location can be a relative distance to another device, for example, from the device from which the response is received.

[0031] Processor 80 is configured to generate, store (via memory 82), modify, and transmit (via transceiver 88) device attribute values ​​corresponding to device 70. Processor 80 can determine and update attributes, for example, whenever processor 80 detects a possible change in an attribute (e.g., range and / or AOA to another device, its own position, a new device within communication range, etc.). The device attributes and their respective values ​​stored by any particular device will normally vary depending on the device. For example, referring also to FIG. 4, processor 80 can generate and maintain an attribute table 110, including attribute indications 112, attribute values ​​114, and public / private condition 116 indicating whether the corresponding attribute 112 is public or private. In the example illustrated in FIG.4. Attribute table 110 includes attributes of a device type 118, a device name / ID 120, a mobility 122, a first position 124, a first position uncertainty 126 (Pos Unc), a second position 128, a second position uncertainty 130, and a second angle of arrival 132. The second angle of arrival 132 is called the second, even though there is no first angle of arrival in this example, since the second angle of arrival 132 corresponds to the second position 128. In this example, the device type values ​​114. Petition 870240079983, dated 09 / 18 / 2024, page 23 / 108 19 / 92 118, the device name / ID 120 and the mobility 122 are refrigerator, frigid and stationary, respectively.

[0032] Processor 80 can store attribute values ​​of other devices. Processor 80 can maintain attribute tables for devices currently and / or previously within the communication range of device 70. Thus, processor 80 can store attribute values ​​of other devices and not just retransmit attribute values.

[0033] Processor 80 is configured to determine and provide positions of device 70 relative to one or more reference locations or objects, and can provide the positions in one or more formats. For example, processor 80 can generate a position relative to a fixed location in space. An example of this in table 110 is the value 114 of the first position 124 in ENU coordinates (East, North, Up). In this example, the value 114 of the first position 124 is ENU equal to [0 0 0] and is given in numbers of meters East, North, and Up relative to a reference location. For example, the coordinates may be relative to an origin 11 (FIG. 2) that is level with a southernmost point of structure 36, a westernmost point of structure 36, and a lowermost point of structure 36 (e.g., of the entire structure 36 or a part of it, such as a floor of structure 36). Origin 11, as illustrated in FIG.2, can be moved from structure 36 or from a specific floor of structure 36. The value 114 of the first uncertainty of position 126 is an indication of the uncertainty in each of the coordinates given in the first position. Petition 870240079983, dated 09 / 18 / 2024, page 24 / 108 20 / 92 124, and in this example, 0 m for each of the coordinates. As an example of another form of relative position, processor 80 may be able to determine a relative distance to a reference location or object and an angle to that object (for example, based on an angle of arrival of signals from that object). For example, in table 110, the value 114 of the second position 128 is 2.3 m relative to a reference object. Furthermore, the second position uncertainty 130, in this example, is equal to 0.1 m, and the second angle of arrival 132 is equal to 43°. The angle of arrival (AOA) can be given relative to a reference direction, for example, relative to true north or magnetic north.

[0034] Processor 80 can be configured to determine the angle of arrival 132 relative to an orientation of device 70. Processor 80 can determine the angle of arrival using any of a variety of techniques, such as analyzing signals received from one or more directional antennas of radios 90, 92, 94 and analyzing information from one or more orientation sensors included in device 70, such as one or more magnetometers and / or one or more accelerometers and / or a compass (such as a digital compass). Processor 80 can be configured to analyze multiple AOA, for example, determined from signals received by more than one of radios 90, 92, 94, and to combine the determined angles, for example, by averaging the determined angles.

[0035] Processor 80 can be configured Petition 870240079983, dated 09 / 18 / 2024, page 25 / 108 21 / 92 to determine the distance to an object using known techniques (e.g., RSSI, RTT, etc.). Processor 80 can average / sample measurements over time and / or determine ranges of values ​​using several different techniques and / or measurements from multiple radios to improve the accuracy of position determination and to detect changes in location (at least relative to one or more neighboring devices). If processor 80 is configured to use multiple radios to determine range, then processor 80 can be configured to select which radio(s) it will use based on an estimated distance to the object and / or a device environment 70. As examples, if a last known location of the object was greater than 150 m, then processor 80 can choose to use LTE radio 94, and if the object was last known to be less than 20 m away, then it uses BLUETOOTH radio 90 and Wi-Fi radio 92.Processor 80 can update the position of device 70 based on new measurements. Preferably, to determine the position of device 70, the processor uses measurements from three or more stationary devices whose nature and stationary positions are exchanged / transmitted by broadcast. Processor 80 can be configured to assign greater weight to measurements from devices whose mobility condition is static. Processor 80 can use devices with programmed locations and / or self-positioning capabilities (e.g., SPS, Wi-Fi positioning) as anchoring reference objects. Based on certain relative positions to... Petition 870240079983, dated 09 / 18 / 2024, page 26 / 108 22 / 92 devices and the attribute values ​​received (directly or indirectly) for those devices, processor 80 can determine the status of the devices, for example, stationary, moved 10 m, repositioned and now stationary, etc.

[0036] Processor 80 can be configured to self-monitor the position of device 70. Processor 80 can be configured to determine a change in the position of device 70 based on a list of neighboring devices, ranges to neighbors, and / or an estimated position. Measurements from devices with a mobile condition may receive a higher than normal weight under certain circumstances, for example, if the device has not moved for a period of time greater than a limit.

[0037] Processor 80 can be configured to offer peer-to-peer monitoring to detect changes in the location of one or more neighboring devices. For example, Processor 80 can detect and report a change in the position of a particular neighboring device if the positions of most neighboring devices remain constant while the relative position of the particular neighboring device changes. Processor 80 can report a change in the position of a particular device if the existence of the particular neighboring device in the neighbor list changes, for example, from being on the list to not being on the list, or from not being on the list to being on the list, while the ranges to other devices in the neighbor list remain the same.

[0038] Processor 80 is additionally Petition 870240079983, dated 09 / 18 / 2024, p. 27 / 108 23 / 92 is configured to provide the public / private indications 116, indicating whether the corresponding attribute is public or private. Processor 80 is configured, in this example, to provide a value of 0 for any attribute that should be public and a value of 1 for any attribute that should be private. The use of 0 as an indication of an attribute being public and 1 as an indication of an attribute being private is just one example, and numerous other explicit indications of a public / private condition can be used. An indication that an attribute is public indicates, to a device receiving the attribute table 110, that the receiving device can forward the corresponding attribute and attribute value to an additional receiving device.An indication that an attribute is private indicates to a device receiving attribute table 110 that the receiving device may not resend the corresponding attribute and attribute value to an additional receiving device. Processor 80 is configured to receive attribute tables and to process corresponding attributes according to this public / private convention.

[0039] Alternatively, processor 80 can generate an attribute table without public / private indications 116. Processor 80 can generate the attribute table without explicit indications of public / private condition, but it can still generate the attribute table with an implicit indication of public / private condition for one or more of the attributes. For example, processor 80 can generate and store the attribute table with public attributes in attribute table locations that are Petition 870240079983, dated 09 / 18 / 2024, p. 28 / 108 24 / 92 implicitly public attributes and store private attributes in the attribute table in locations of the attribute table that are implicitly private. This technique, however, is just one example, and several other techniques for implicit indications of public / private status can be used.

[0040] Processor 80 can be configured to process attribute table 110 or at least one or more of its components differently depending on the public / private status 116 of one or more of the attributes 112. For example, processor 80 can be configured to broadcast attribute table 110 to any device within communication range only if the public / private status 116 of all attributes 112 is public. In this way, non-confidential attributes, such as device type and mobility status, can be broadcast to any device within communication range.For example, if device 70 is in a geographically isolated area, such as a residence without significant security risks and has a relatively short device broadcast range (e.g., short-range BLUETOOTH), then device 70 can broadcast all attributes 112, which can provide faster and simpler configuration of device 70 than if the attribute table 110 is not broadcast. As another example, processor 80 can be configured to broadcast only attributes 112 whose corresponding public / private condition 116 is public and broadcast attributes 112 whose... Petition 870240079983, dated 09 / 18 / 2024, page 29 / 108 25 / 92 public / private condition 116 is private only for devices that are accredited and paired with device 70. In this case, processor 80 can be configured to transmit the entire attribute table 110 to devices that are accredited and paired with device 70. In this way, sensitive attributes, such as location, can be protected and shared only with devices that are accredited and paired with device 70. For example, devices on a home network can share their respective attributes, while an outside device (e.g., the intruder's mobile phone) will not be able to access the private attributes of devices on the home network, including the locations of devices on the home network.

[0041] Processor 80 is further configured to process attributes received from other devices in their respective attribute tables according to the public / private status of the attributes in those tables. For example, processor 80 will preferably not transmit or otherwise retransmit received attribute values ​​whose public / private status is private, but it may retransmit or otherwise relay attributes whose public / private status is public. In this way, attributes can be retransmitted between devices, for example, devices 40 to 47, and supplied to the central controller 60. The retransmission of attributes can occur through the same radio and / or different radios (for example, received via one type of radio and retransmitted using one or more others). Petition 870240079983, dated 09 / 18 / 2024, p. 30 / 108 26 / 92 types of radios instead of or in addition to the radio through which the attributes were received). Additionally, processor 80 can use information received from a transmitting device to determine the position of device 70, but not provide information from which the position of the transmitting device can be determined if an appropriate attribute (e.g., a “device discovery allowed” attribute) transmitted by the transmitting device is indicated as being private.

[0042] Processor 80 can retransmit entire attribute tables received from other devices. For example, if Processor 80 receives an attribute table from a new device, for example, from a device with which Processor 80 has never communicated, or at least from which Processor 80 has never received an attribute table (or possibly attributes, even if not part of a table), then Processor 80 can retransmit (for example, retransmit using Transceiver 88) the received attribute table. Furthermore, Processor 80 can retransmit an updated attribute table from a device, for example, if the attribute table includes a version number indicating that the attribute table is more recent than the most recent attribute table for that device that Processor 80 received.

[0043] Other devices among devices 40 to 47 may have different priorities for relaying information, such as attribute tables. For example, connected devices may Petition 870240079983, dated 09 / 18 / 2024, page 31 / 108 Devices 27 / 92 have higher priority than devices that are not (at least currently) connected for relaying attribute tables, and devices 40 to 47 can communicate to reduce or eliminate redundant information relaying. As another example, devices with longer remaining battery life (e.g., current and / or estimated lifespan) may have higher priority for information relaying.

[0044] Device 70 may refuse an operation, such as retransmitting one or more attributes and / or attribute tables. Processor 80 may have a set of rules and / or criteria based on which processor 80 will refuse to perform one or more corresponding operations. The rules and / or criteria, and data corresponding to those rules and / or criteria, may be tracked by device 70 and / or central controller 60. For example, device 70 may refuse to retransmit an attribute table based on a battery level (existing and / or predicted) to / from device 70. Processor 80 may be configured to send a negative confirmation of the operation refusal, for example, a message indicating that processor 80 did not retransmit or will not retransmit the attribute table.Processor 80 can be configured to send a future operation refusal indication, for example, that after a certain future time, processor 80 will not perform one or more specified functions (e.g., retransmission of an attribute table). The future time can be specified in one of several ways, such as a time of day and / or a period of time from that time. Petition 870240079983, dated 09 / 18 / 2024, p. 32 / 108 28 / 92 present (for example, 10 minutes from now). Processor 80 may include an indication of a reason for refusing future operation, for example, that device 70 will have an unacceptably low battery level (which could be specified, for example, as 10% or 5% of capacity).

[0045] Table 110 is just an example, and more or fewer attributes may be recorded and / or transmitted by processor 80 as part of an attribute table or independently of an attribute table. Additionally, other attributes besides those illustrated in Table 110 may be included in an attribute table (for example, in addition to or in place of one or more of the attributes illustrated in Table 110).For example, other possible attributes include: a list of one or more trusted devices associated with device 70, a round-trip time associated with matching with another wireless communication device and a location of that device, a supported distance variation protocol, a distance variation uncertainty, a list of neighbors indicating access points (or other devices) near device 70, a history of the neighbor list, whether device 70 can be displayed on a map, and whether angle of arrival determinations are supported. Additionally, an indication can be given as to whether an attribute is being included in an attribute table sent by device 70 (for example, position or altitude can be explicitly indicated as not being provided if the position or altitude has not yet been determined or if...). Petition 870240079983, dated 09 / 18 / 2024, page 33 / 108 29 / 92 (the device does not have the capability to provide this information). As another example of more or fewer attributes than those illustrated in FIG. 4 being possible, although in Table 110 there is a position uncertainty corresponding to each position, this is not necessary, and one or more of any positions provided in any attribute table generated by processor 80 may have a corresponding position uncertainty or may not have a corresponding position uncertainty provided. Furthermore, although Table 110 shows an angle of arrival associated with a position relative to an object, this is not necessary. Table 110 may also include an identity of an attribute for which an indication is not being transmitted by device 70.In addition, other attributes that may be included in attribute table 110 or another attribute table, although not illustrated in attribute table 110, include, for example, power consumption, power / battery condition (e.g., current battery level, such as the amount of power remaining (e.g., percentage of capacity) and / or time remaining at the current consumption rate or estimated battery condition, or whether the device is plugged in), duty cycle (e.g., wake-up schedule of when or how often a device wakes up and for how long), supported wireless communication protocols (e.g., which versions of 802.11 the device 70 supports (e.g., g, n, ac, ad)), point of interest location (e.g., room name, civic address, building name, store name, etc.), speed (speed and direction) or velocity. Still other attributes may be included. Petition 870240079983, dated 09 / 18 / 2024, p. 34 / 108 30 / 92 included in Table 110, such as a list of one or more trusted devices associated with device 70, a supported distance variation protocol, and a distance variation uncertainty. Additionally, or alternatively, there may be sub-attributes or layered attributes, such as layered locations with different levels of location specificity. For example, a point of interest (POI) location of device 70 might be listed as home and also as “family living room,” or as California, San Diego, Sorrento Valley, Sorrento Valley Road, 1234 Sorrento Valley Road, and Room 14C. Still other attributes are eligible for inclusion in attribute table 110 or another attribute table.

[0046] Furthermore, or alternatively, which attributes or attribute values ​​are recorded and / or transmitted may vary based on criteria such as time of day, day of the week, day of the year, location, one or more other criteria, and / or combinations thereof. Thus, the content of attribute table 110, or which content of attribute table 110 is transmitted, may be dynamic. An attribute that may or may not be included in table 110, or that may or may not be transmitted by processor 80 (via transceiver 88), even if the attribute is included in table 110, may be considered a dynamic attribute. For example, the transmission of one or more attribute values ​​may be disabled (or, conversely, enabled) in certain locations, or in locations other than one or more specified locations (e.g., any Petition 870240079983, dated 09 / 18 / 2024, page 35 / 108 31 / 92 location other than the user's residence or another location or region), etc.

[0047] Processor 80 is configured to generate and maintain, including modify, attribute table 110. For example, one or more of the attributes 112 may be dynamic, such that processor 80 may update attribute table 110. For example, processor 80 may update the position of device 70 intermittently (e.g., periodically) in response to a trigger, such as the position of device 70 changing by more than a threshold amount, or the position of device 70 changing completely (e.g., if the mobility value 114 of device 70 is stationary). Even if device 70 is stationary, processor 80 may update the position of device 70, since the position may be relative to another device that is mobile, and / or may update table 110 to indicate the time the position was determined (even if the position value(s) have not changed).Furthermore, many of the possible attributes determined and provided by the 80 processor can be dynamic, such as power status, battery status, power consumption, speed, point of interest location, etc.

[0048] In addition, processor 80 can update or modify attributes (for example, in attribute table 110) automatically or manually (in response to user input). Petition 870240079983, dated 09 / 18 / 2024, page 36 / 108 32 / 92 response to user input). As manual examples, processor 80 can receive input from user interface 86 and use that input to modify one or more of the attributes 112, such as the device name / ID 120 and / or the device position 70 (e.g., ENU coordinates). As an automatic example, processor 80 can be configured to determine (calculate or receive) and update the position of device 70 (e.g., using any of a variety of techniques, such as satellite positioning system (SPS), round-trip time calculation, observed time difference of arrival (OTDOA) calculation, received signal strength indication (RSSI) calculation, etc.). Processor 80 can be configured to receive a mapping of POI names and associated geographic regions, e.g., a mapping of structure 36 illustrated in FIG.2 with corresponding POI names for different regions (e.g., kitchen, family room, and garage, as illustrated in FIG. 2). Processor 80 can determine which of the geographic locations (e.g., regions, coordinates, etc.) on the map correspond to the location of device 70. Processor 80 can be configured to determine the POI name based on the determined geographic location (e.g., using a lookup table of regions and POI names, or a lookup table of coordinate ranges and POI names). Processor 80 can be configured to store (e.g., initially record or update) the POI name associated with the geographic location that corresponds to the location of device 70, for example, in table 110. Petition 870240079983, dated 09 / 18 / 2024, page 37 / 108 33 / 92 in memory 82, as an indication of the device's location 70.

[0049] Processor 80 may, in addition or as an alternative, be configured to update attributes (for example, in attribute table 110) automatically in response to receiving one or more attribute values ​​from one or more devices within the communication range of device 70. For example, processor 80 may receive, via transceiver 88, one or more indications of POI location names from one or more devices within the communication range of device 70. Processor 80 may respond to receiving such indications by modifying the value 114 of a POI name attribute in table 110 to one of the received names, for example, based on the number of devices with the same POI name, or based on the proximity of the other device(s) to device 70, or based on the mobility status of the other device(s), or one or more other criteria, or a combination of two or more of these.For example, the processor might change the value of the POI name attribute in table 110 (for example, to “family room”) in response to a limit on the number of POI names received from neighboring devices being “family room”. As another example, processor 80 might change the POI name in table 110 in response to multiple devices having the same POI name and having locations relative to device 70 within a limit. As yet another example, processor 80 might change the POI name in table 110 to the POI name of a device that is... Petition 870240079983, dated 09 / 18 / 2024, page 38 / 108 34 / 92 within a limit distance of device 70. As another example, the processor can change the POI name in table 110 to the POI name of a static device that is within a limit distance of device 70.

[0050] Processor 80 may also, or alternatively, be configured to transmit an alert indication in response to one or more criteria being met. For example, processor 80 may be configured to receive an indication from another device, such as one of devices 40 to 47, that the other device has a static mobility condition. Processor 80 may be configured to determine the location of the other device relative to changes in device 70 and transmit an indication that the location of the other device relative to device 70 has changed (and possibly also that the mobility condition is static). For example, processor 80 may transmit, via transceiver 88, an indication to central controller 60 (directly or indirectly) that the other device, although it should be static, has moved.This indication, for example, could be a warning that the other device is being stolen or otherwise moved incorrectly (for example, a child moving an object that should not be moved).

[0051] As another example of the location format for a location attribute, referring also to FIG. 5, processor 80 can generate and maintain a table of attributes 150, including attribute indications 152, values ​​154 of attributes 152, and condition Petition 870240079983, dated 09 / 18 / 2024, p. 39 / 108 35 / 92 public / private 156 indicating whether the corresponding attribute 152 is public or private. In the example illustrated in FIG. 5, the attribute table 150 includes attributes 152 of a device type 158, a device name / ID 160, a mobility 162, a first position 164, and a first position uncertainty 166. In this example, the values ​​154 of the device type 158, the device name / ID 160, and the mobility 162 are “Cell phone”, “oldest child’s phone”, and “mobile”, respectively. Furthermore, the first position 164 has a value 154 that is given in terms of latitude, longitude, and altitude (LAA). In this example, the value 154 of the first position 164 is 37.8° latitude, -122.4° longitude, and 80 m altitude (e.g., relative to sea level). In this example, the public / private condition 156 of the first position 164 and the first uncertainty of position 166 is private.In other words, processor 80 generated attribute table 150 to indicate that the values ​​154 of the first position 164 and the first uncertainty of position 166 should not be retransmitted (e.g., broadcast retransmission) by any device that receives attribute table 150.

[0052] Referring to FIG. 6, with further reference to FIGS. 1 and 2, an example of the central controller 60 comprises a computing system including a processor 180, a memory 182 including software (SW) 184, an optional user interface 186 and a transceiver 188 optionally including a BLUETOOTH (BT) radio 190, a Wi-Fi radio 192 and / or an LTE radio 194. Other types of radios may also be used or, alternatively, a Bluetooth Low Energy (BT-LE) radio. The Petition 870240079983, dated 09 / 18 / 2024, page 40 / 108 36 / 92 Processor 180 is preferably an intelligent hardware device, for example, a central processing unit (CPU), such as those produced or designed by QUALCOMM®, ARM®, Intel® Corporation or AMD®, a microcontroller, an application-specific integrated circuit (ASIC), etc. Processor 180 may comprise multiple separate physical entities that may be distributed in the central controller 60. Memory 182 may include random access memory (RAM) and / or read-only memory (ROM). Memory 182 is a processor-readable non-temporary storage medium that stores software 184, which is processor-readable, executable software code containing instructions that are configured to, when executed, cause the processor 180 to perform various functions described herein.The description may refer only to processor 180 or to the central controller 60 that executes the functions, but this includes other implementations, such as where processor 180 executes software and / or firmware. Software 184 may not be directly executable by processor 180 and instead may be configured to, for example, when compiled and executed, cause processor 180 to execute the functions. Whether compilation is required or not, software 184 contains the instructions to cause processor 180 to execute the functions. Processor 180 is communicatively coupled with memory 182. Processor 180, in combination with memory 182, user interface 86 (as appropriate) and / or transceiver 188, provides means to execute functions as described herein, for example, means to produce a... Petition 870240079983, dated 09 / 18 / 2024, page 41 / 108 37 / 92 request for location of a destination device, means to transmit the request, means to determine that the destination device lacks a radio compatible with a radio (or radios) of controller 60, means to determine an intermediate device that includes a radio compatible with the destination device, means to determine the last known device(s) that communicated with the destination device, and / or means to transmit the request to intermediate devices in reverse chronological order of communication with the destination device. Processor 180, in combination with memory 182, user interface 186 and / or transceiver 188, as appropriate, may provide means to receive a registration request, means to determine a suggested registration location, means to provide an indication of the suggested registration location, and means to determine and / or provide a suggested device name.Software 184 can be loaded into memory 182 by being downloaded via a network connection, sent from a disk, etc. Central controller 60 is illustrated in FIG. 2 as a stand-alone device separate from devices 40 to 47, but central controller 60 could be implemented by one or more of devices 40 to 47 and / or one or more of the wireless communication devices, such as Wi-Fi router 24. Central controller 60 is preferably, though not necessarily, a (primarily) static device.

[0053] The central controller 60 can act as a repository for, and as a tracker of Petition 870240079983, dated 09 / 18 / 2024, page 42 / 108 38 / 92 information relating to devices 40 to 47. For example, the central controller 60 can store configuration files and / or attributes of one or more of the devices 40 to 47, and can use this information to generate alarms. As another example, the controller 60 can track the locations of one or more of the devices 40 to 47 and / or of the communication partners of one or more of the devices 40 to 47.

[0054] Referring also to FIG. 7, the controller 60 can store and maintain a data history of device 210 in memory 182. In this example, the data history of device 210 is a table that includes a device name field 212, a device ID field, an attribute field 214, a neighbor list field 216, a communication history field 218, a location history field 220, a range history field 222, and an entity field 224. In table 210, the location history field 220 and the range history field 222 are illustrated as being stored separately from the attribute field 214, but this is only an example and information relating to the location history and / or the range history can be included in the attribute field 214.The information stored in the device 210 data history can be used, as discussed here, to facilitate locating a device listed in the device 212 field, contacting a device listed in the device 212 field, etc. The discussion below refers to the example where controller 60 is configured to produce and maintain (e.g., update) the device 210 data history. Petition 870240079983, dated 09 / 18 / 2024, page 43 / 108 39 / 92 including fields 212, 213, 214, 216, 218, 220, 222, 224, although controller 60, in other examples, may be configured to produce and maintain a device data history with a different set of fields (e.g., more fields, fewer fields, different fields, or a combination thereof). Controller 60 is, and in particular transceiver 188 and processor 180 are, configured to receive information to populate fields 212, 213, 214, 216, 218, 220, 222, 224 of the device data history 210 of devices 40a 47. Information for the device's data history. 210 can be received directly from the device to which the information belongs, and / or from one or more devices that transmit the information. Consequently, controller 60 can receive information for one or more of devices 40 to 47 through one or more of radios 190. 192, 194 although the device from which the information was originally sent does not include the radio type in transceiver 188 through which controller 60 receives the information. Devices 40 to 47 can send information to fields 212, 213, 214, 216, 218, 220, 222, 224 periodically, or in response to a change in the information for one or more of fields 212, 213, 214, 216, 218, 220, 222, 224, for example, every time a new device is paired with (communicates with) the reporting device, possibly only if the reporting device is a mobile device and / or possibly only if the paired device is a mobile device. Additionally, driver 60 (or device 70) can create an attribute entry for Petition 870240079983, dated 09 / 18 / 2024, p. 44 / 108 40 / 92 another device. For example, a discovery device (e.g., controller 60 or device 70) can see another device that is not part of an attribute table and can generate an attribute table entry (or entries) for that device, and can transmit that attribute table entry (or entries) to one or more other devices, and / or can transmit information to one or more other devices that can generate an attribute table entry (or entries) using that information. Thus, device 70 can discover a new device, generate one or more attribute table entries for the new device, and send the attribute table entry (or entries), directly or indirectly, to controller 60 for storage.In addition, or alternatively, device 70 can discover a new device, send (directly or indirectly) information about the new device to controller 60 for generation and storage of an attribute table entry (or entries).

[0055] Controller 60 is configured to populate attribute field 214 with one or more sets of attributes for each of the devices for which information is stored. The attributes in attribute field 214 can be one or more of the attributes provided by devices 40 to 47, for example, in an attribute table, such as attribute table 110 or attribute table 150. To populate attribute field 214 (or another appropriate field), controller 60 is configured to add (store) data and / or to replace previously stored data with new data. As illustrated in Petition 870240079983, dated 09 / 18 / 2024, page 45 / 108 41 / 92 FIG. 7, Table 210 includes two sets 230, 232 of attributes for a tablet (e.g., tablet 44). The two sets 230, 232 are stored in association with their respective times, for example, where sets 230, 232 were reported to controller 60. The attributes for a device may vary over time, for example, with different mobility conditions, different positions, different distances to reference points or objects, etc. A different set of attributes may be stored only if there is a change in the attributes, or it may be stored regardless of whether there are changes, every time the attributes are received by controller 60. Controller 60 may limit the number of attribute sets stored in the respective attribute field 214, for example, to a maximum number of sets, or to sets within a time limit of the present time, etc.

[0056] Controller 60 is configured to populate the neighbor list field 216 with one or more neighbor lists, if any, provided to controller 60 from the respective device. In the example illustrated in FIG. 7, the neighbor list field 216 for the refrigerator includes three lists of devices seen by the refrigerator at three different times. Although the lists are given unique names in the example illustrated in FIG. 7, several lists may be identical to each other.

[0057] Controller 60 is configured to populate the communication history field 218 with devices with which the respective device listed in the device field 212 has communicated. Controller 60 Petition 870240079983, dated 09 / 18 / 2024, page 46 / 108 42 / 92 can limit the number of entries in the communication history field 218, for example, to a limit on the number of entries, to entries within a limited amount of time from the present time, etc. The entries in the communication history field 218 indicate the communications of the device listed in the device field 212 with any other devices within the criterion(s) for storage in the communication history field 218. The entries in the communication history field 218 represent a temporally marked (and preferably chronological) history of the last devices known to the controller 60 with which the device listed in the device field 212 communicated and at what respective times. The times in the communication history field 218 are times associated with the corresponding communications.Each of these times could be, for example, a start time of the most recent communication between the device illustrated in the device field 212 and the device corresponding to the time in the communication history field 218, or an end time of such communication. One or more, for example, each of the entries in the communication history field 218 could include a location of the device (i.e., the communication device) that communicated with the destination device. This location could correspond, for example, to the location of the communication device associated with the communication with the device in the device field 212 (e.g., at the indicated time of the last communication), or it could correspond to a current location of the communication device.

[0058] Controller 60 is additionally Petition 870240079983, dated 09 / 18 / 2024, p. 47 / 108 43 / 92 is configured to populate the location history field 220 with datasets relating to the location of the device listed in the device field 212 and a corresponding time. The data relating to the device location listed in the device field 212 may be the location itself, or it may be data from which the location can be derived. The time associated with the location data is preferably the time at which the data (e.g., measurements) were collected to determine the location of the respective device. The device location, as discussed here, may be a location relative to a reference point (e.g., a corner of the building), another object, a global reference, etc.

[0059] The central controller 60 is additionally configured to populate the range history field 222 with sets of information, each indicating a range, a respective reference, and a respective time. The respective reference may be a reference point, a reference object, a reference device, etc. Multiple ranges for different references may be determined (or at least listed as being determined) at the same time or at a similar time, as indicated by range history sets 234, 236, where the ranges for different references correspond to the same time. Furthermore, ranges may be determined relative to the same reference at different times, as indicated by range history set 234 and range history set 238. Petition 870240079983, dated 09 / 18 / 2024, page 48 / 108 44 / 92

[0060] Central controller 60 can act as a primary hub (concentrator). For example, central controller 60 could be Wi-Fi router 24 in structure 36. Central controller 60 can be configured to determine the distance variation from central controller 60 to devices 40 to 47. Distance determination can be performed by central controller 60 actively determining distances to devices 40 to 47, and / or receiving distance variation information from devices 40 to 47 regarding distances to central controller 60. For example, Wi-Fi FTM (precise timing measurement) can be implemented by controller 60 and / or one or more of devices 40 to 47 for distance determination purposes and can determine distance variation intermittently (e.g., periodically).Furthermore, the central controller 60 (e.g., processor 180 and transceiver 188) can send distance variation information and / or other attribute information to one or more of the devices 40 to 47. Additionally, or alternatively, the controller 60 can broadcast the distance variation information and / or other attribute information and can do so repeatedly / intermittently (e.g., periodically). Still additionally, the processor 180 can analyze the attribute information from devices 40 to 47 to determine the shortest paths (e.g., fewest hops) through devices 40 to 47 to each of the devices 40 to 47, for example, for use in... Petition 870240079983, dated 09 / 18 / 2024, p. 49 / 108 45 / 92 communication with and / or location of one or more of devices 40 to 47. Processor 180 can transmit information relating to devices 40 to 47 to devices 40 to 47, for example, periodically, including attribute information (including distance variation to other devices), shortest paths to controller 60, etc.

[0061] Based on the information maintained, the central controller 60 can infer relationships between devices 40 to 47. For example, processor 180 can infer a device's location based on a previous location and the condition of the sensors since a time corresponding to that previous location. For example, processor 180 can infer that a device's current location is in garage 68 if the last known location for the device is garage 68 and the door opening device 47 has not been used since that location was determined, and a garage door has been closed since that time. As another example, processor 180 can infer a device's location from multiple relative locations.For example, processor 180 can infer a location of tablet 44 from a known location of TV 48, a distance from TV 48 to smartphone 45, an AOA of the signals from TV 48 to smartphone 45, a distance from smartphone 45 to tablet 44, and an AOA of the signals from smartphone 45 to tablet 44. Processor 80 can additionally or alternatively use this information (in addition to the location of TV 48) to determine the distance between TV 48 and tablet 44 and / or the AOA of the signals. Petition 870240079983, dated 09 / 18 / 2024, pp. 50 / 108 46 / 92 from the 48-inch TV to the 44-inch tablet.

[0062] Device Registration

[0063] Referring also to FIG. 8, the central controller 60 is configured to coordinate the registration of devices, for example, devices 40 to 47 in system 10 (see FIG. 1). The central controller 60 can be configured to interact with a user through the user interface 186 to register devices in system 10. The central controller 60 can register devices manually and / or automatically to become part of system 10, and in particular, part of system 10 within structure 36. As an automatic example, the processor 180 can determine that a new device has entered a registration environment (for example, a region near controller 60) and automatically initiate registration.Processor 180 can determine that a new device has entered a registration environment by determining that signals are received from a device from which no signals were previously received, or from a device that is not currently on a list of devices in the environment. Precautions can be taken to help ensure that only devices within a desired group are registered. For example, Processor 180 may require that a device be inside a structure, or that the device be inside a structure for longer than a time limit, or that the device be seen inside the structure at least a limit number of times, before Controller 60 attempts to register the device. As an example of manual registration, a user can activate... Petition 870240079983, dated 09 / 18 / 2024, page 51 / 108 47 / 92 a registration feature (e.g., a find new device feature), for example, by selecting a “Register new device?” icon 272 or a “Register discovered device?” icon 274 provided in a display medium 260 of the user interface 186. The processor 180 can respond to the selection of the icon 272 by searching for new devices (e.g., in a predefined neighborhood, in a user-defined neighborhood, in devices of a user-defined category, etc.). If a new device (for the environment) has already been detected, then the processor 180 can respond to the selection of the icon 274 by continuing with a registration process (e.g., collecting attribute information) for this device. Manual registration can help prevent unwanted devices from being registered and can help facilitate the registration of new devices.A registration feature (for example, to cause processor 180 to make the display medium 260 request registration information, for example, as illustrated in FIG. 8) can be triggered in the central controller 60 and / or in a device to be registered that communicates with the central controller 60 to trigger the central controller 60 to fetch new devices to be registered. In addition or alternatively, the registration feature could initiate a device other than the central controller 60 registering another device.

[0064] Controller 60 can receive information through user interface 186 in one or more of a variety of ways. For example, user interface 186 can receive audio input through a Petition 870240079983, dated 09 / 18 / 2024, page 52 / 108 48 / 92 microphone, touch input (e.g., via a keyboard, numeric keypad and / or touchscreen), visual input (e.g., via gestures captured by a camera, with possible gestures including sign language, pointing, etc.). Different gestures may be associated with different functions, such as one gesture to register a device, another gesture to search for the device (and possibly different gestures to search for different devices).

[0065] Controller 60 can provide information about the environment in which a new device can be registered. For example, as illustrated in FIG. 8, processor 180 can cause display medium 260 to display a map 250 of structure 36 (here, a floor of structure 36), icons 272, 274, an icon “Register at this device location?” 276, and an icon “Limit location discovery?” 278 to help guide the user in registering a device. Icons 272, 274, 276 and 278 are examples, and more, less (including zero), and / or different icons may be used. Map 250 shows a floor plan of structure 36 and the names and locations (graphical locations on map 250) of various wireless communication devices. As illustrated, map 250 shows a refrigerator 251, a cell phone 252, a TV 253, a car 254, a new device 255, and the central controller 60. The user interface 186 may display additional information relating to one or more of the wireless communication devices 251 to 255, for example, in response to hovering a mouse over an icon for the respective communication device 251 to 255. This information Petition 870240079983, dated 09 / 18 / 2024, page 53 / 108 49 / 92 additional information may include device information and / or device data history 210, for example, a mobility status and a numerical location for the respective device 251 to 255. User interface 186 may display a custom name for any of the devices 251 to 255 for which a custom name has been established. In the example illustrated in FIG. 8, mobile phone 252 is designated “Ju-Yong’s phone”, TV 253 is designated “family room TV”, and car 254 is designated “Meghna’s car”. These custom names may be displayed whenever the icon for the corresponding device is displayed, or may be displayed only in response to a request for such information, such as by hovering the cursor over the respective icon.The new device 255 can be designated as “new device”, as illustrated, for example, if no custom name has been provided and if no device type is yet known (for example, no message has been received from the new device 255 or a received message does not include a custom name or device type). If a device type is known, for example, tablet computer, then the new device 255 can be designated by a generic name, such as new tablet.

[0066] Processor 180 can be configured to provide information through user interface 186 in other ways. For example, processor 180 can offer augmented reality to the user through user interface 186 to show devices 251 to 255, their locations, and possibly other information. Petition 870240079983, dated 09 / 18 / 2024, page 54 / 108 50 / 92 as discussed above. Augmented reality can, in addition or alternatively, provide suggested information as discussed below, and can help a user register the new 255 device, for example, to select a location (at least an initial location) for the new 255 device.

[0067] Processor 180 can be configured to prompt the user of user interface 186 to provide and / or confirm information to register a device. For example, processor 180 can cause display medium 260 to display icons 272, 274 to prompt the user to initiate a registration request, display icon 276 to prompt the user to confirm that a location where a device, for example, the new device 255, is displayed, should be used as the (initial) location for the new device 255, and / or display icon 278 to prompt the user to provide privacy information regarding authorization to find the location of a device, such as the new device 255. Although icons are discussed in relation to FIG. 8, other forms of prompts can be used, such as audio prompts.Icons 272, 274, 276, and 278 may be displayed in response to input via user interface 186 to initiate a record, or they may be automatically displayed in response to processor 180 detecting the presence of the new device 255, for example, receiving signals from the new device 255 and determining that the new device 255 is not contained in the device data history 210. A request may ask for more information than a confirmation of. Petition 870240079983, dated 09 / 18 / 2024, page 55 / 108 51 / 92 that a new device registration, as desired. For example, a request could ask the user to register a device name and / or could request (e.g., ask) confirmation that a device highlighted in the display medium 260 should be registered (e.g., in response to controller 60 detecting a new device). A request could provide information regarding the new device 255, e.g., device type, device name, etc., which processor 180 determines from communication with the new device 255, and ask the user to confirm the information.

[0068] Processor 180 may request that the user provide one or more attributes. For example, in response to the activation of icon 278, processor 180 may request privacy settings from the user for the new device 255, such as a password required to search for the new device 255, whether the new device 255 can be located, which devices are authorized to find the location of the new device 255, and which devices are not authorized to find the location of the new device 255.

[0069] The new device 255 (i.e., an icon for the new device 255) may or may not be displayed in the display medium 260. If, as in FIG. 8, the new device 255 is displayed, the new device 255 may be highlighted (e.g., displayed in a distinct color, such as red, displayed in bold on map 250 and / or illustrated with an arrow pointing to the icon for the new device 255, etc.). If a location of the new Petition 870240079983, dated 09 / 18 / 2024, page 56 / 108 If device 255 has not yet been determined, then the new device 255 may not be shown on map 250, or it may be shown in a default location, or it may be shown in an expected location (e.g., based on a device type, if known, of the new device 255).

[0070] The central controller 60, more specifically the processor 180, is configured to receive the registration request through the user interface 186. For example, a user can enter registration information (e.g., after triggering any of the icons 272, 274 (or other appropriate registration start)) by typing the information on a keyboard, entering the information on a virtual keyboard or numeric keypad presented on a touch screen of the user interface 186, and / or providing verbal information through a microphone of the user interface 186. The registration request can identify a device to be registered, here, the new device 255, or it can cause the processor 186 to identify the new device 255, for example, by causing the transceiver 188 to pair with the new device 255.

[0071] The central controller 60 can perform distance determination to the new device 255 to determine the current location of the new device. The controller 60 itself can perform distance determination, for example, using RSSI measurements from the new device 255 to the controller 60 and / or vice versa, RTT measurements between the controller and the new device, etc. The controller 60 can also determine a direction to Petition 870240079983, dated 09 / 18 / 2024, page 57 / 108 53 / 92 from controller 60 to the new device 255, determining the AOA of the signals from the new device 255 to controller 60, or vice versa. Controller 60 may, in addition or alternatively, request other devices in the environment, such as devices 251 to 254 (or any other device that receives a location / distance determination request), to determine the range (and possibly the AOA) to the new device 255.

[0072] Processor 186 is configured to determine and provide a suggested registration location for the new device 255 through user interface 186. Processor 180 can determine the suggested registration location based on one or more of several criteria. For example, processor 180 can determine the suggested registration location based on a current location of the new device 255, or location input for the new device 255 received through user interface 186, or a device name of the new device 255, or a device type of the new device 255, or a combination of these. For example, if the new device 255 is near (e.g., within five or three meters) refrigerator 251, or family room 253, then processor 180 can suggest a location of kitchen 64 or family room 66, respectively.As another example, if the name of the new device 255 includes a vehicle type, or if the vehicle type is known (for example, from the device attributes provided by the new device 255), for example, car or "motorcycle", then the processor 180. Petition 870240079983, dated 09 / 18 / 2024, pp. 58 / 108 54 / 92 may suggest a location that includes garage 68. As another example, a user may provide location input information, such as coordinates, a reference distance to an object, a location on map 250 (e.g., by tapping a position on a touch screen of the user interface 186), etc., and the processor 180 may use the location input as the suggested location or determine the suggested location, for example, by suggesting a location with the corresponding range that is logical (e.g., not behind a wall or occupying the space of another object).

[0073] Processor 180 is preferably configured to receive input via user interface 186 in response to the user being provided with a suggested location. Processor 180 may receive input via user interface 186 to modify, reject, or accept the suggested location and may store a modified location, or the accepted suggested location, for example, in attribute table 110 in response to the suggested location being modified or accepted. For example, processor 180 may respond to the selection of icon 276 confirming the suggested registration location. Processor 180 may highlight icon 276 with a provided suggested device location to draw attention to the option of registering the indicated device at the indicated location, which may provide a shortcut, reducing the information the user needs to manually enter.In fact, icon 276 can only be selected in response to at least one unregistered device being discovered and a suggested location. Petition 870240079983, dated 09 / 18 / 2024, page 59 / 108 55 / 92 determined. Processor 180 can store another location, for example, a default location, the location provided through the user interface 186, or no location, in response to the suggested location being rejected.

[0074] The registration request may provide a custom name for the new device 255 and / or the processor 180 may determine a suggested name. For example, the new device 255 may be a new motorcycle belonging to Sai and a custom name of “Sai’s motorcycle” provided in the registration request. In addition, the processor 180 may determine a suggested name for the new device 255 and provide one or more indications of the provided name and / or the suggested name through the user interface 186, for example, by providing text, graphics, audio, etc., indicating the provided name and / or the suggested name. The processor 186 may extract a custom name for the new device 255 from information received from the new device 255, for example, from the attributes provided by the new device 255.Processor 180 can be configured to determine the suggested name based on the current location of the new device 255, a user name from user interface 186 (or another user interface being used, for example, user interface 86 if the new device 255 is being used to register the new device 255), a name or title of a person associated with another device that is or was very close to the new device 255, or a combination thereof. For example, with the new device 255 being located in... Petition 870240079983, dated 09 / 18 / 2024, pp. 60 / 108 56 / 92 garage 68, processor 180 can infer that the new device 255 is a vehicle and suggest the name "car". Processor 180 can be configured to further customize the suggested name based on additional information. For example, if processor 180 also knows, for instance, from the attributes provided by the new device 255, that the new device 255 is a motorcycle and that a user named Sai entered the registration request, then processor 180 can suggest a name of "Sai's motorcycle" for the new device 255. As another example, if the new device 255 is currently located in family room 66, and processor 180 knows that the new device 255 is a television, then processor 180 can suggest a name of "Family Room TV".If processor 180 knows that the new device 255 is a television, but does not know the location of the new device 255, processor 180 can suggest a name such as “TV” and provide a prompt through the user interface to clarify information for the name. As another example, if the new device 255 is very close (e.g., within one meter) to Ju-Yong's phone 252, and one type of device of the new device 255 is a tablet, then processor 180 can suggest a name for the new device 255 such as “Ju-Yong's tablet”. Processor 180 can be configured to use the name or title of the person associated with the other device, particularly when the other device was very close to the new device 255 for some time, for example, for more than a minute, and especially while the new device 255 and the other device were moving. Petition 870240079983, dated 09 / 18 / 2024, pp. 61 / 108 57 / 92

[0075] Processor 180 is configured to have user interface 186 provide one or more indications of the suggested name and receive input through user interface 186 in response to the user providing the suggested name. Processor 180 may receive input through user interface 186 to modify, reject, or accept the suggested name and may store a modified name, or the accepted suggested name, for example, in attribute table 110 in response to the suggested name being modified or accepted. An icon could be provided to prompt the user if the user wishes to use the suggested name to register the new device. Processor 180 may store another name, for example, a default name, a name provided through user interface 186, a name provided by the new device 255, or no name, in response to the suggested name being rejected.

[0076] Processor 186 is configured to update device information to include information for the new device 255. For example, the new device 255 may provide attribute information for the new device 255, and processor 186 may update an attribute table, such as attribute table 110, with attribute information for the new device 255.

[0077] Registration can be performed by one or more devices in addition to or instead of the central controller 60. For example, the new device 255 can provide the user interface for registering the device. The new device 255 can be implemented by device 70, including the user interface 86. The Petition 870240079983, dated 09 / 18 / 2024, pp. 62 / 108 58 / 92 new device 255 can be configured to perform functions as discussed above to help a user register the new device 255. The information received / determined by the new device 255, or another device (e.g., varying in distance to the new device 255), during registration can be stored by the new device (e.g., in memory 82) and / or provided to the central controller 60 by transceiver 88 for storage in the central controller 60's memory 182, e.g., in an attribute table.

[0078] Device Search / Location

[0079] Central controller 60 can be configured to coordinate queries regarding the locations of devices 40 to 47. For example, controller 60 can send, for example, broadcast, a query for the location of a target device. Neighboring devices, i.e., those that receive the query from controller 60, can retransmit the query, for example, if the receiving / retransmitting device has at least one neighbor that is not a neighbor of controller 60. Any device (a “location device”) that finds the target device can send distance / location determination information to central controller 60, preferably via a shortest path from that device to controller 60, as indicated by controller 60 (for example, in one or more messages before the query, or in the query itself).Controller 60 is configured to determine the location of the target device from the information provided. Petition 870240079983, dated 09 / 18 / 2024, pp. 63 / 108 59 / 92 distance variation received from the location device, for example, in conjunction with a known location of the device providing the distance variation information.

[0080] Referring to FIG. 9, with further reference to FIGS. 1 to 2 and 6 to 7, the processor 180 is configured to cause the user interface 186 to provide a search screen 290, for example, in response to user input, for example, initiating or requesting a search. The search screen 290 includes a map 291, an “Enter search” icon 292, a device location drop-down menu icon 294, and a device type drop-down menu icon 296. The icon provides a prompt to enter one or more search criteria related to a target device to be found. The 186 user interface can offer any of a variety of techniques for informing search criteria, such as through voice input, selecting an option from an unillustrated drop-down menu, selecting one or more icons for one or more criteria for the target device, for example, selecting a location such as home, office, etc., using the drop-down menu of icon 294 and / or a device type, such as phone, key, wallet, headset, TV, tablet, etc. using the drop-down menu of icon 296. Processor 180 may be able to find the target device and the target device's location from stored data, for example, in the device's data history 210 (FIG. 7), and / or may produce a search query to locate the target device. Petition 870240079983, dated 09 / 18 / 2024, pp. 64 / 108 60 / 92

[0081] Central controller 60 is configured to help produce a search query to locate the target device. Processor 180 can use one or more search criteria as the first part of the search query and can determine a second part of the search query based on the first part of the search query and an association between the first part of the search query and an entity that is associated with the target device. For example, processor 180 can determine an entity from a binding or association of device and entity IDs, for example, in a lookup table, and then determine a device ID for the target device using this same binding, but for the device type requested in the search criteria. For example, processor 180 can be configured to recognize a user's voice providing the first part of the search query to formulate the complete search query.For example, processor 180 can recognize Weihua's voice in response to Weihua saying "find my cell phone". In response, processor 180 can formulate a search query "find Weihua's cell phone". Processor 180 is configured to form the search query in a format usable by devices 251 to 255 to locate the desired target device by finding a Weihua phone ID, for example, by populating a device ID field with a device ID for Weihua's cell phone as found in a lookup table linking devices and owners. As another example, processor 180 can recognize a device a. Petition 870240079983, dated 09 / 18 / 2024, pp. 65 / 108 61 / 92 from which the search criteria are sent to the central controller 60. For example, processor 180 can determine a device ID from a Weihua tablet communication, and locate this device ID in the device name / ID field 213 of the device data history 210 (and / or in an attribute table or other record). Processor 180 can additionally determine the entity associated with that device ID, for example, Weihua, by analyzing the entity field 224 for the corresponding device ID. Processor 180 can additionally find the device ID for the requested device type, here, mobile phone, corresponding to the determined entity, for example, using a lookup table linking devices and owners.Thus, in response to a request to find "my mobile phone" received from Weihua's tablet, processor 180 can form a search query for Weihua's mobile phone with the corresponding device ID.

[0082] Processor 180 is additionally configured to transmit the search query to one or more devices to attempt to locate the target device. Processor 180 can cause transceiver 188 to send the search query and one or more electronic output signals to one or more of the wireless communication devices 251 to 255. For example, processor 180 can cause transceiver 188 to broadcast the search query to any wireless communication device within the communication range of controller 60. Alternatively, processor 180 can Petition 870240079983, dated 09 / 18 / 2024, pp. 66 / 108 62 / 92 causes transceiver 188 to transmit the search query in unicast to a specific device or to transmit the search query in multicast to certain devices. The decision as to which devices the search query will be sent to may depend on the privacy settings for the devices and / or for the target device (e.g., which devices are authorized to find the target device) and / or which devices have a radio compatible with a radio on the target device.

[0083] Central controller 60 can send a request for a destination device location using a protocol that is not supported, at least currently, by the destination device. While the description here may refer to the destination device not having a specific radio, this includes scenarios where the destination device has the radio, but the radio is not currently operational (e.g., switched off, not functioning correctly, etc.). Processor 180 can send the request via transceiver 88 and, in particular, one of radios 190, 192, 194, while the destination device may not have a corresponding radio. For example, a destination device may only have a BT-LE radio while controller 60 may not have a BT-LE radio. Thus, processor 180 can send the request via one of radios 190, 192, 194 according to a corresponding communication protocol, but the destination device may not be configured to receive or send communications according to that communication protocol. For example, the Petition 870240079983, dated 09 / 18 / 2024, pp. 67 / 108 Processor 63 / 92 180 can send a request via Wi-Fi radio 192, but the target device may not be configured with, i.e., it may lack a Wi-Fi radio, for example containing only a cellular radio and a Bluetooth radio. In fact, controller 60 may lack the type of radio (or radios) that the target device possesses. The request may indicate the type(s) of radio needed to communicate with the target device (i.e., which the target device includes). Processor 180 can be configured to send the request via transceiver 88 to an intermediary device that can communicate the request directly to the target device, for example, with the intermediary device containing a radio that can communicate (is capable of communicating) with the target device and possibly satisfying one or more other criteria.These other criteria may be, for example, that the intermediate device is authorized to pair with the destination device, for example, it is included in a list of trusted devices for the destination device included in the destination device's attributes. The request may or may not be sent directly to the intermediate device(s), as there may be multiple relay devices between the controller 60 and the destination device, with the relay devices relaying the request to each other using appropriate communication protocols that may or may not be the same as the one the processor 180 used to initially transmit the request and / or may or may not be the same communication protocol used by the destination device. Petition 870240079983, dated 09 / 18 / 2024, pp. 68 / 108 64 / 92 destination to receive the request. Processor 180 is preferably configured to determine that the target device lacks the type of radio that Processor 180 will or can use to transmit the request, and that the intermediate device contains the appropriate type of radio. Processor 180 can be configured to include a destination address of the intermediate device in the request. Processor 180 can be configured to determine multiple intermediate devices, each of which has a radio that can communicate wirelessly with the target device and produce one or more requests with the destination addresses of the intermediate devices thus determined and transmit the request(s) to those intermediate devices.

[0084] The central controller 60 can be configured to send a request for a destination device's location to the last known device that communicated with the destination device. For example, controller 60 can use the communication history field 218, as illustrated in FIG. 7, corresponding to the destination device to determine the intermediate device to which controller 60 will send the request for the destination device's location. Controller 60, and more specifically processor 180, can be configured to send the request to the intermediate device so that the intermediate device is the last known device, according to controller 60's data history of device 210, to communicate with the destination device. Processor 180 can be configured to Petition 870240079983, dated 09 / 18 / 2024, pp. 69 / 108 65 / 92 transmit the request for the location of the target device to multiple intermediate devices in the reverse chronological order of the intermediate devices communicating with the target device. For example, referring to FIG. 7, and more specifically to the communication history field 218 corresponding to the tablet, processor 180 can send the request to device 1, then to device 2, then to device 3, and then to device 4 if time 6 is a more recent time, time 7 is a time close to the most recent to time 6, time 8 is a time close to the most recent to time 7, and time 9 is a time close to the most recent to time 8. Processor 180 can be configured to send the request to a subsequent device only if sending the request to a previous device has not resulted in locating the target device.For example, processor 180 can be configured to send the request to a subsequent device only if a timeout period elapses after sending the request to a previous device without receiving a response from the previous device indicating that it has located the target device. Obviously, controller 60 can attempt to contact the target device directly, for example, if controller 60 has a radio that is compatible with the target device's radio (or if the target device is unknown), and controller 60 can be configured to send the request to an intermediate device only if controller 60 fails to contact the target device directly. Additionally, controller 60... Petition 870240079983, dated 09 / 18 / 2024, pp. 70-108 66 / 92 can assume (for example, set) the location of the last known device to communicate with the destination device as the location of the destination device until information to the contrary is received.

[0085] The request for the location of the target device may include (explicitly or implicitly) a command or request to the intermediary device that locates the target device to determine and report a position of the target device relative to the intermediary device. The intermediary device that finds (e.g., is able to communicate with) the target device may determine a distance to, and possibly a direction of, the target device relative to the intermediary device. The intermediary device preferably also provides the location of the intermediary device, e.g., global coordinates, coordinates referenced to a reference point or object, a location name of the point of interest, etc.

[0086] Processor 180 is configured to determine the location of the target device identified in a search query from information received in response to the search query, for example, from one or more of devices 251 to 255. Processor 180 is configured to receive one or more electronic input signals via wireless technology from any or a combination of devices 251 to 255, or another wireless communication device, and to determine the location of the target device from Petition 870240079983, dated 09 / 18 / 2024, pp. 71 / 108 67 / 92 of the electronic signal(s). Processor 180 can process information provided from devices 251 to 255, for example, RSSI information, OTDOA information, RTT information, SPS information, distance determination information, AOA information, location of the device that found the target device, etc., to determine the location of the target device. Processor 180 can also determine the location of the target device from an indication of the target device's location in the received communication(s).

[0087] Processor 180 is configured to provide an indication of the target device's location through user interface 186. For example, processor 180 can cause user interface 186 to provide a visual and / or audible indication of the target device's location. For example, processor 180 can cause user interface 186 to audibly indicate a distance to a specific device, such as “Your cell phone is less than one meter from the family room TV,” or “Your cell phone is five feet southwest of the family room TV,” or “Your cell phone is 1.5 m from the family room TV in the direction of the refrigerator.” As another example, processor 180 can cause user interface 186 to display a graphical indication (e.g., a red dot, a red arrow, text, such as Weihua cell phone, as illustrated by icon 256 in FIG. 9, etc.).) of the target device's location on map 291. As another example, processor 180. Petition 870240079983, dated 09 / 18 / 2024, pp. 72 / 108 68 / 92 can, in addition or alternatively, be configured to provide the user with an augmented reality location to the target device. For example, processor 180 can be configured to guide or direct the user through augmented reality using a user interface display screen 186 to guide the user to the target device. The user could suspend user interface 186, and user interface 186 could capture the environment with a camera and display directional indications (e.g., move forward, right, left, up, down, and / or reverse direction), or it could provide an indication of the target device as if any barriers, such as walls, were transparent. User interface 186 could also provide audio directions.The user interface used for augmented reality can be the user interface used to initiate a search query, for example, the user interface of a mobile phone or tablet, etc.

[0088] Operation

[0089] Referring to FIG. 10, with further reference to FIGS. 1-8, a 310 method of wireless communication includes the stages illustrated. The 310 method is, however, only an example and is not exhaustive. The 310 method may be modified, for example, with stages being added, removed, reordered, combined, executed simultaneously and / or having individual stages divided into multiple stages.

[0090] As illustrated in FIG. 10, in stage 312, method 310 includes generating a communication that includes Petition 870240079983, dated 09 / 18 / 2024, pp. 73 / 108 69 / 92 attribute indications corresponding to a plurality of attributes of a transmitting device, and in stage 314, method 310 includes transmitting communication by wireless technology from the transmitting device. For example, device 70, and more specifically, processor 80, produces a communication that includes attributes of device 70 and transmits the communication by wireless technology using transceiver 88. Device 70 can transmit the communication using one or more of radios 90, 92, 94.

[0091] The communication attributes may include one or more items that a user has entered through the user interface 86 (if present), such as a standard mobility type, one or more items that are programmed into the device 70 during manufacturing, one or more items determined by the processor 80, and / or one or more items supplied to the device 70. For example, the user may enter a standard mobility type through the user interface 86. As another example, a device type and / or a device ID, and / or one or more other items may be programmed into the device 70 during manufacturing.As another example, signal measurements (e.g., RSSI, RTT, OTDOA, SPS signals), device 70 location, distance from device 70 to a reference point or object, angle of arrival of one or more signals, current mobility status of device 70, and / or one or more items may be determined by processor 80 and / or provided to device 70, for example, by one or more of the devices 40 to 47 illustrated in FIG. 2 and / or the central controller 60. An indication of... Petition 870240079983, dated 09 / 18 / 2024, pp. 74 / 108 The 70 / 92 attribute can be an explicit indication transmitted by the 70 device or it can be derived by a receiving device. If the attribute indication is an explicit indication, the 70 device can determine, before transmitting the explicit attribute indication, that a receiving device is authorized to receive the attribute indication. As an example of a derived attribute indication, a receiving device can determine that the 70 device has not moved for a timeout period and therefore determine that a mobility condition of the 70 device is static.

[0092] Attributes can include a variety of different information. For example, attributes can include a device identity of the device, a mobility indication indicating whether the transmitting device is mobile or static, a location indication indicating a location of the transmitting device, and a privacy indication associated with a corresponding attribute of the transmitting device. The privacy indication indicates whether a receiving device that receives the attribute indications from the transmitting device will be allowed to transmit information relating to the corresponding attribute of the transmitting device. For example, the privacy indication might, as illustrated in FIG. 4, indicate whether a given attribute is public and therefore can be shared, or private and therefore cannot be shared beyond the receiving device.The privacy indicator can also show if at least one other device besides the receiving device is also present. Petition 870240079983, dated 09 / 18 / 2024, pp. 75-108 71 / 92 authorized to transmit information relating to the corresponding attribute. For example, the privacy indication may indicate that devices 41 to 43 may transmit a corresponding attribute, or that devices 44 to 47 may not transmit the corresponding attribute.

[0093] Still other attribute indications may be included in the communication from the device. For example, attribute indications may include an identity of an attribute for which an indication is not being transmitted by the transmitting device. Thus, for example, device 70 may send an indication that an entity (e.g., an owner) associated with device 70 is not being sent (e.g., because there is no owner or because the owner association is not to be shared).The attribute indications may, in addition or alternatively, also include one or more indications of a list of one or more reliable devices associated with the transmitting device, or a round-trip time associated with another device, or an angle of arrival of a signal at the transmitting device, or a distance determination uncertainty, or a location uncertainty, or a list of neighbors indicating access points adjacent to the transmitting device, or a history of the list of neighbors, or whether the transmitting device can be displayed on a map, or whether angle of arrival determinations are supported, or a combination thereof.

[0094] Communication may include an attribute other than device identity, indication of Petition 870240079983, dated 09 / 18 / 2024, pp. 76 / 108 72 / 92 mobility, location indication and privacy indication, depending on one or more factors. For example, processor 80 may include an additional attribute indication based on a time and / or device location 70. Additionally or alternatively, processor 80 may base an additional attribute indication value, included in the communication, on a time and / or device location 70. The time, in either or both examples, may be an hour of the day, or a day of the week, or a day of the year, an elapsed time, or a combination thereof. The location, in either or both examples, may be a location relative to another device, or a location relative to a structure, or a location relative to a landmark, or a global location, or a civic location or a point of interest, or a combination thereof.

[0095] Method 310 may additionally include relaying communications from the device to other devices. Using the example of the device being TV 48 illustrated in FIG. 2, method 310 may include receiving a request from the central controller 60 for a location of tablet 44, transmitting the request for the location of tablet 44 to another device (e.g., to tablet 44 and / or smartphone 45), receiving a response from the other device (e.g., from tablet 44 and / or smartphone 45), and transmitting a message to the central controller 60 including an indication of the location of tablet 44. The location, in this example, of tablet 44, may be provided in any of Petition 870240079983, dated 09 / 18 / 2024, pp. 77 / 108 73 / 92 a variety of formats, such as a distance relative to the TV 48 (or to the mobile phone 44), a distance relative to the TV 48 (or to the mobile phone 44) plus a direction relative to the TV 48 (or to the mobile phone 44), global coordinates, local coordinates relative to a reference point (e.g., ENU coordinates relative to the origin 11), etc.

[0096] Method 310 may additionally include associating a point of interest name with the device. A common name may be linked and stored by device 70. For example, method 310 may include device 70 receiving a point of interest name associated with another device and storing, in memory 82, the point of interest name associated with the other device as an indication of the location of device 70. Thus, for example, if device 70 had been introduced into family room 66, but had not yet stored a point of interest name as one of its attributes, and device 70 receives signals from TV 48, indicating that the point of interest name of the location of TV 48 is family room, then device 70 may store the name family room as a point of interest name of the location of device 70, for example, in an attribute table in memory 82.As another example, method 310 might involve device 70 receiving a mapping of point-of-interest names and associated geographic locations, determining which geographic location corresponds to the location of device 70, and storing, in memory 82, the name of the point of interest associated with the geographic location that corresponds to the location of the device. Petition 870240079983, dated 09 / 18 / 2024, pp. 78 / 108 74 / 92 device 70. Thus, for example, if device 70 determines coordinates for the location of device 70 and those coordinates correspond to garage 68, then device 70 can store a garage point of interest name in memory 82 as an attribute for device 70.

[0097] Method 310 may include indicating that a supposedly static device has moved. For example, method 310 may include device 70 receiving an indication from another device that the other device is a static device (e.g., based on the other device's attributes), determining that the other device's location relative to device 70 changes, and transmitting an indication that the other device's location relative to device 70 has changed. Thus, for example, device 70 may provide an indication that another device, such as TV 48, is moving unexpectedly, for example, it may be stolen, moved by children, etc.

[0098] Referring to FIG. 11, with further reference to FIGS. 1 to 8, a 320 method of locating a target device includes the stages illustrated. The 320 method is, however, only an example and is not exhaustive. The 320 method can be modified, for example, with stages being added, removed, reordered, combined, executed simultaneously and / or having individual stages split into multiple stages.

[0099] As illustrated in FIG. 11, in stage 322, method 320 includes producing, in a device of Petition 870240079983, dated 09 / 18 / 2024, pp. 79 / 108 75 / 92 query, a request for the location of a target device that lacks a radio compatible with a radio on the querying device. The querying device includes a first radio, of a first type, configured to communicate wirelessly using a first communication protocol. The target device lacks a radio of the first type, but includes a second radio, of a second type, configured to communicate wirelessly using a second communication protocol. The second communication protocol is incompatible with the first communication protocol.Communication protocols are incompatible because a device using the first communication protocol cannot communicate with a device using the second communication protocol, or vice versa, for example, due to different communication protocols using different frequencies and / or different data packet formats (e.g., different meanings for fields, different field sizes, etc.). For example, suppose central controller 60 includes Wi-Fi radio 192 and LTE radio 194, but does not include BLUETOOTH radio 190, tablet 44 includes Wi-Fi radio 92 and BLUETOOTH radio 90, and TV 48 includes only BLUETOOTH radio 90, and central controller 60 wants to know the location of TV 48. Central controller 60 can produce a request for the location of TV 48, even though central controller 60 does not have a radio compatible with a radio from TV 48.

[00100] In stage 324, method 320 includes transmitting the request via wireless technology, from Petition 870240079983, dated 09 / 18 / 2024, pages 80 / 108 76 / 92 query device to an intermediary device, using the first radio. Continuing the example above, central controller 60 can send the request using Wi-Fi radio 192. The request can be received by tablet 44 via tablet 44's Wi-Fi radio 92, relayed by tablet 44 using tablet 44's BLUETOOTH radio 90, and received by TV 48 using TV 48's BLUETOOTH radio 90. The request cannot be relayed by tablet 44, for example, if tablet 44 knows a location of TV 48 and can report this location to central controller 60.

[00101] Method 310 may additionally include the query device determining that the destination device lacks a type of radio included in the query device. For example, method 310 may additionally include determining, in the query device, that the destination device lacks a radio of the first type, determining that the intermediate device includes a radio of the first type, and producing the request to include a destination address of the intermediate device. The determination that the intermediate device includes a radio of the first type may comprise determining that each of the multiple intermediate devices includes a radio of the first type.Producing the request to include the destination address of the intermediate device may involve producing the request to include the destination addresses of multiple intermediate devices, and transmitting the request may involve transmitting the request to multiple intermediate devices. Petition 870240079983, dated 09 / 18 / 2024, pp. 81 / 108 77 / 92

[00102] Using method 310, the query device can attempt to determine the location of the target device by querying one or more devices that have most recently communicated with the target device. For example, method 310 can additionally understand determining that the intermediate device is the last known device, known to the query device, with which the target device communicated. For example, central controller 60 can analyze the data history of device 210, and in particular, the communication history field 218, to determine the device with which the target device most recently communicated. Central controller 60 can transmit a request to one or more devices other than the device with which the target device most recently communicated according to the communication history field 218.Thus, method 310 may additionally include transmitting the request to at least one other intermediate device, wherein the transmission of the request to the intermediate device and to at least one other intermediate device is performed in reverse chronological order of the last known transmission, by the querying device, to the intermediate device and to at least one other intermediate device, respectively. For example, according to the data history of device 210 illustrated in FIG. 7, the central controller 60 may send the query to device 1, then to device 2, then to device 3, and then to device 4. The central controller 60 may send the... Petition 870240079983, dated 09 / 18 / 2024, pp. 82-108 78 / 92 query for more than device1 only if sending the query to device1 did not result in the central controller 60 obtaining the location of the target device (either because the location was sent to central controller 60 or because information was sent to central controller 60 from which the location could be determined).

[00103] The query device can obtain information about the available radio types from various devices. For example, method 310 may additionally include receiving, by the query device, a list of target device attributes, including each available radio type of the target device. The list of target device attributes may be received by the query device wirelessly using a receiver radio that is of a radio type that is absent in the target device. For example, central controller 60 may receive, via Wi-Fi radio 192, a table of device attributes from TV 48 via tablet 44.

[00104] Referring to FIG. 12, with further reference to FIGS. 1 to 10, a method 350 for registering a target device which includes the stages illustrated. The method 350 is, however, only an example and is not exhaustive. The method 350 may be modified, for example, with stages being added, removed, reordered, combined, executed simultaneously and / or having individual stages split into multiple stages.

[00105] In stage 352, method 350 includes receiving a registration request, through a Petition 870240079983, dated 09 / 18 / 2024, pp. 83 / 108 79 / 92 user interface, to register a target device. For the purposes of illustrating an implementation of FIG. 12, and not as a limitation, an example is discussed below, in which the Weihua tablet is registered as the new device 255 illustrated in FIG. 8 using the central controller 60. In this example, the registration request can be received by the central controller 60 and, in particular, by the processor 180, through the user interface 186. For example, the user can activate the register new device icon 272. The request itself can provide additional information, for example, identifying the new device 255 (or another device to be registered), or additional information can be requested by the processor 180 through the user interface 186 in response to the activation of the icon 272.Alternatively, the registration request may be an indication that the user has activated the register discovered device icon 274, with map 270 indicating discovered device 255. In other implementations, the registration request may be entered into the user interface 86 of device 70 (e.g., one of devices 40-47 or another device) and sent to the central controller 60. Still other registration requests are possible.

[00106] In stage 354, method 350 includes determining a suggested registration location for the target device. For example, the suggested registration location might be a location within range of a short-range wireless communication radio (e.g., a Wi-Fi radio, a BLUETOOTH radio, Petition 870240079983, dated 09 / 18 / 2024, pp. 84 / 108 80 / 92 a Low Energy BLUETOOTH radio). As a further example, the suggested registration location may be inside a building. The determination of the suggested registration location for the target device may be based on a current location of the target device, or on location input for the target device received through the user interface, or on a device name of the target device, or on a device type of the target device, or a combination thereof. The central controller 60 may determine a location of the new device 255, for example, by determining the distance from the central controller 60 and / or by communicating with one or more other devices (e.g., devices 40 to 47) to determine a current location of the new device 255.Furthermore, or alternatively, the user can provide location input, for example, by selecting a location on map 250 with a mouse click corresponding to a cursor location on map 250, or by touching a touchscreen displaying map 250. In addition, or alternatively, the user or the new device 255 can provide a device name and / or type, and the processor 180 can use this information to determine the suggested location (for example, being inclined to suggest kitchen 42 for a kitchen utensil device type or a device name that expresses or implies a kitchen utensil, or being inclined to suggest garage 68 for a vehicle device type or a device name implying an item typically found or stored in). Petition 870240079983, dated 09 / 18 / 2024, pages 85 / 108 81 / 92 a garage). In the illustrative example, the central controller 60 receives a tablet-type device that determines a distance from the door opening device 47, and thus suggests an internal location (here, in the family room 66) of the new device 255 at the determined distance from the door opening device 47.

[00107] Method 350 may include providing a suggested device name for the target device via the user interface. Continuing the example above, processor 180 may cause user interface 186 to provide a suggested device name for a Weihua tablet, for example, audibly through a speaker and / or visually on a display screen. Method 350 may include determining the suggested device name, for example, based on the target device's current location, a user interface user's name, a name or title of a person associated with at least one other device that is or has been very close to the target device (for example, over a period of time, such as at least one minute, during which the other device was in motion), or a combination thereof.For example, if processor 180 recognizes the voice "Weihua" from an audible input through a microphone of user interface 186 of a request to register my tablet, then processor 180 can cause the user interface to provide the suggested tablet device name "Weihua". Processor 180 can provide the same suggested device name in response to the device being registered being a tablet and having been nearby (e.g.,...). Petition 870240079983, dated 09 / 18 / 2024, pp. 86 / 108 82 / 92 example, within one meter, less than one meter, etc.) of Weihua's cell phone for a time limit period (e.g., one minute, one hour, etc.). The amount of time limit may depend on whether the other device and the device being recorded are / were in motion (e.g., a limit without motion may be one hour, while a limit during motion may be one minute). The limit may also depend on an amount of movement (e.g., one hour for movement less than 6 meters or within the 36 frame, or one minute for movement greater than 6 meters and outside the 36 frame).

[00108] Method 350 may include providing a request through the user interface for an indication of whether the device being registered is authorized to be found by other devices. For example, processor 180 may cause user interface 186 to provide icon 278 asking the user if the user wishes to limit the discoverability of the new device 255. Method 350 may additionally include providing a request for indications of which other devices are authorized to find the new device 255. For example, in response to the user's selection of icon 278, processor 180 may cause user interface 186 to prompt the user to select and / or report devices authorized, or not authorized, to discover and / or report the location of the new device 255.

[00109] Referring to FIG. 13, with additional reference to FIGS. 1 to 10, a 360 method to assist a Petition 870240079983, dated 09 / 18 / 2024, pp. 87 / 108 83 / 92 user of a user device includes the stages illustrated. The 360 ​​method is, however, only an example and is not exhaustive. The 360 ​​method can be modified, for example, with stages being added, removed, reordered, combined, executed simultaneously and / or having individual stages split into multiple stages.

[00110] In stage 362, method 360 involves receiving a first part of a search query through a user interface of a user device. For example, processor 180 receives a request for the location of a device through user interface 186. As an example of such a request, the processor might receive a request (e.g., audible, text, etc.) of “Find my phone” made by Ju-Yong.

[00111] In stage 364, method 360 includes determining a second part of the search query based on the first part of the search query and associating the first part of the search query with an entity, where the search query serves to locate a target device associated with the entity. For example, method 360 may additionally include identifying a user interface user based on the first part of the search query. Thus, processor 180 can link the request to a person, for example, based on recognizing the user's voice, or recognizing a device from which the request was received, etc., and use this link to expand or even complete the search query. Continuing the example from the discussion of stage 362, in response to Petition 870240079983, dated 09 / 18 / 2024, pages 88 / 108 84 / 92 request to Find my phone from Ju-Yong, the processor can recognize Ju-Yong's voice, or that the request came from Ju-Yong's computer (or another device associated with Ju-Yong), and determine that a second part of the query is Ju-Yong and, in this way, performs the search query Find Ju-Yong's phone in layman's terms, with the actual query being formatted appropriately for interpretation by receiving devices.

[00112] In stage 366, method 360 involves transmitting the search query wirelessly via one or more electronic output signals to a first intermediate device. For example, processor 180 can send the search query through transceiver 188. The search query can be sent to an intermediate device using a unicast message or it can be sent to multiple devices, for example, by sending multiple unicast messages and / or by broadcasting and / or multicasting the search query. Continuing the example, controller 60 can broadcast the search query which can be received by refrigerator 251, family room TV 253, new device 255, and Meghna's car 254. Although, in FIG. 8, Ju-Yong's phone 252 may be within the communication range of central controller 60, Ju-Yong's phone may not have a type of radio used by controller 60 to send the search query.Alternatively, in another example, Ju-Yong's phone number 252 might not be within the communication range of controller 60.

[00113] In stage 368, the 360 ​​method includes Petition 870240079983, dated 09 / 18 / 2024, pp. 89 / 108 85 / 92 receive an electronic input signal via wireless technology from the first intermediate device, the electronic input signal indicating the location of the target device. For example, processor 180 may receive a signal indicating the location of the target device, for example, from which a location can be determined, coordinates of the target device, location of the target device relative to an object or point, etc. The location of the target device may be a location of the target device relative to the first intermediate device. For example, the relative location may be a distance from the first intermediate device, and may also include a direction from the first intermediate device and the location of the first intermediate device.The location of the first intermediary device could be any of a variety of resolutions, such as global coordinates, local coordinates, a point of interest (e.g., family room 66), a civic location, etc. Alternatively, the location of the target device could be a location relative to a map.

[00114] In stage 370, method 360 includes providing an indication of the target device's location through the user interface. For example, processor 180 could provide, through user interface 186, a visual (e.g., graphical and / or textual) and / or audible indication of the target device. Continuing the example, processor 180 could provide a location of Ju-Yong's phone through the display. Petition 870240079983, dated 09 / 18 / 2024, pp. 90 / 108 86 / 92 of a graphical indication of the location on map 250, along with text that reads "Ju-Yong's phone" or equivalent. Additionally, or alternatively, processor 180 could provide an indication that "Ju-Yong's phone" is one meter from the TV in the family room." Still other indications could be provided.

[00115] Other Considerations

[00116] Other examples and implementations are within the scope and spirit of the disclosure and appended claims. For example, due to the nature of software and computers, the functions described above may be implemented using software running on a processor, hardware, firmware, physical connections, or any combination thereof. Aspects implementing functions may also be physically located in multiple locations, including being distributed in such a way that parts of the functions are implemented in different physical locations.

[00117] As used herein, an indication that a device is configured to perform a declared function means that the device contains appropriate equipment (e.g., circuit assemblies, mechanical device(s), hardware, software (e.g., processor-readable instructions), firmware, etc.) to perform the declared function. That is, the device contains equipment that is capable of performing the declared function, for example, the device itself having been designed and manufactured to perform the function, or having been manufactured in such a way that the device includes equipment that was designed and executed for it. Petition 870240079983, dated 09 / 18 / 2024, pp. 91 / 108 87 / 92 to perform the function. An indication that processor-readable instructions are configured to cause a processor to execute functions means that the processor-readable instructions contain instructions that, when executed by a processor (after compilation as appropriate), will result in the functions being executed.

[00118] Furthermore, as used here, or, as used in a list of items preceded by at least one of or preceded by one or more of indicates a disjunctive list such that, for example, a list of at least one of A, B or C or a list of one or more of A, B or C means A or B or C or AB or AC or BC or ABC (that is, A and B and C), or combinations with more than one element (e.g. AA, AAB, ABBC, etc.).

[00119] As used herein, unless otherwise indicated, a statement that a function or operation is based on an item or condition means that the function or operation is based on the declared item or condition and may be based on one or more additional items and / or conditions to the declared item or condition.

[00120] Furthermore, an indication that information is sent or transmitted, or a statement of sending or transmitting information to an entity, does not require the completion of the communication. Such indications or statements include situations where information is transmitted from a sending entity but does not reach an intended recipient of the information. The intended recipient, even if not actually receiving the information, may still be referred to as the intended recipient. Petition 870240079983, dated 09 / 18 / 2024, pp. 92 / 108 88 / 92 receiving entity, for example, a receiving execution environment. Furthermore, it is not necessary for an entity configured to send or transmit information to an intended recipient to be configured to complete the distribution of the information to the intended recipient. For example, the entity can provide the information, with an indication of the intended recipient, to another entity that is capable of forwarding the information along with an indication of the intended recipient.

[00121] A wireless communication system is one in which communications are transmitted by wireless technology, that is, by electromagnetic and / or acoustic waves that propagate through atmospheric space, and not by a wire or other physical connection. A wireless communication network may not have all communications transmitted by wireless technology, but it is configured to have at least some communications transmitted by wireless technology. Furthermore, a wireless communication device can communicate through one or more wired connections as well as through one or more wireless connections.

[00122] Substantial variations can be made according to specific requirements. For example, custom hardware could also be used, and / or specific elements could be implemented in hardware, software (including portable software, such as applets, etc.), or both. In addition, connection to other computing devices, such as network input / output devices, can be employed.

[00123] The terms machine-readable and Petition 870240079983, dated 09 / 18 / 2024, pp. 93 / 108 89 / 92 “Computer-readable media,” as used herein, refers to any medium that participates in providing data that causes a machine to operate in a specific way. Using a computer system, various computer-readable media could be involved in providing instructions / code to the processor(s) for execution and / or could be used to store and / or transport such instructions / code (e.g., in the form of signals). In many implementations, a computer-readable medium is a physical and / or tangible storage medium. Such a medium can take various forms, including but not limited to non-volatile and volatile media. Non-volatile media include, for example, optical and / or magnetic disks. Volatile media include, without limitation, dynamic memory.

[00124] Common forms of computer-readable physical and / or tangible media include, for example, a floppy disk, a floppy disk, a hard disk, magnetic tape or any other magnetic media, a CD-ROM, any other optical media, punched cards, paper tape, any other physical media with hole patterns, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described below, or any other media from which a computer can read instructions and / or code.

[00125] Various forms of computer-readable media may be involved in transporting one or more sequences of one or more instructions to one or more processors for execution. By way of example only, instructions may initially be transported on a magnetic disk and / or optical disk of a remote computer. One Petition 870240079983, dated 09 / 18 / 2024, pp. 94 / 108 90 / 92 remote computer can load instructions into its dynamic memory and send the instructions in the form of signals through a transmission medium to be received and / or executed by a computer system.

[00126] The methods, systems, and devices discussed above are examples. Various examples may omit, replace, or add various procedures or components as appropriate. For example, in alternative configurations, the methods described may be executed in a different order than described, and various steps may be added, omitted, or combined. Furthermore, aspects described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of configurations may be combined in a similar manner. Additionally, technology evolves, and thus many of the elements are examples and do not limit the scope of the disclosure or claims.

[00127] Specific details are provided in the description to offer a complete understanding of the illustrative configurations (including implementations). However, the configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been illustrated without unnecessary details to avoid obscuring the configurations. The present description provides only illustrative configurations and does not limit the scope, applicability, or configurations of the claims. Instead, the preceding description of the configurations offers a description for implementing the Petition 870240079983, dated 09 / 18 / 2024, pages 95 / 108 91 / 92 techniques described. Various changes can be made to the function and arrangement of the elements discussed without departing from the scope and purpose of the disclosure.

[00128] Furthermore, configurations can be described as a process that is represented as a flowchart or block diagram. Although each of these may describe the operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of operations can be reordered. A process may have additional steps or functions not included in the figure. Furthermore, examples of methods can be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the tasks can be stored in a non-temporary, computer-readable medium, such as a storage medium. Processors can execute the described tasks.

[00129] The components, functional or not, illustrated in the figures and / or discussed here as being connected or communicating with each other, are communicatively coupled. That is, they may be connected directly or indirectly to allow communication between them.

[00130] Having described several exemplary configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the revelation. For example, the elements above Petition 870240079983, dated 09 / 18 / 2024, pp. 96 / 108 92 / 92 may be components of a larger system, in which other rules may take precedence over or otherwise modify the application of the invention. Furthermore, various operations may be performed before, during, or after the above elements are considered. Consequently, the above description does not limit the scope of the claims.

[00131] In addition, more than one invention may be disclosed.

Claims

CLAIMS 1. Wireless communication method (310), the method characterized in that it comprises: generating (312), in a transmitting device (70), a communication that includes attribute indications corresponding to a plurality of attributes (112) of the transmitting device; and transmitting (314) the communication by wireless technology from the transmitting device to a receiving device; wherein the attribute indications include: a device identity (120) of the transmitting device; a mobility indication (122) indicating whether the transmitting device is expected to be mobile or expected to be static; a location indication (124) indicating a location of the transmitting device;and a privacy indication (116) associated with a corresponding attribute of the transmitting device, the privacy indication indicating whether the receiving device is authorized to transmit information relating to the corresponding attribute of the transmitting device.; 2. Method (310), according to claim 1, characterized in that the privacy indication (116) indicates whether at least one other device, besides the receiving device, will be allowed to transmit information relating to the corresponding attribute.

3. Method (310), according to claim 1, characterized in that the attribute indications Petition 870240079983, dated 09 / 18 / 2024, p.98 / 108 2 / 7 additionally include an indication of: an identity of an attribute, from the plurality of attributes of the transmitting device, for which an indication is not being transmitted by the transmitting device; or a list of one or more trusted devices associated with the transmitting device; or a round-trip time associated with another device; or an angle of arrival (132) of a signal at the transmitting device; or a supported distance determination protocol; or a distance determination uncertainty; or a location uncertainty; or a list of neighbors (216) indicating access points neighboring the transmitting device; or a history of the list of neighbors; or whether the transmitting device can be displayed on a map; or whether angle of arrival determinations are supported; or a combination thereof.

4. Method (310), according to claim 1, characterized in that generating (312) the communication comprises generating the communication with an additional attribute indication, in addition to the device identity, mobility indication, location indication and privacy indication, including the additional attribute indication in the communication, or a value of the additional attribute indication, or both, based on a time, a location of the transmitting device, or a combination thereof.

5. Method (310), according to claim 1, characterized in that the transmission device (70) is a first device, the method further comprising, in the first device: receiving a request from a second device for a location of a third device; transmitting the request to the location of the third device; receiving a reply from the third device; and transmitting a message to the second device, the message including an indication of the location of the third device.

6. Method (310), according to claim 5, characterized in that the indication of the location of the third device comprises a distance from the first device to the third device.

7. Method (310), according to claim 1, characterized in that the transmission device (70) is a first device, the method further comprising, in the first device: receiving a point of interest name associated with a second device; and storing, in a memory of the first device, the point of interest name associated with the second device as an indication of the location of the first device.

8. Method (310), according to claim 1, characterized in that it further comprises the transmission device (70): receiving a mapping of names of points of interest and associated geographic locations; determining which of the geographic locations corresponds to the location of the transmission device; and storing, in a memory of the transmission device, as an indication of the location of the transmission device, the name of the point of interest associated with the geographic location that corresponds to the location of the transmission device.

9. Method (310), according to claim 1, characterized in that the transmitting device (70) is a first device, the method further comprises the first device: receiving an indication from a second device that the second device is a static device; determining that a location of the second device relative to the first device has changed; and transmitting an indication that the location of the second device relative to the first device has changed.

10. Device (70), characterized in that it comprises: means for generating (80) a communication that includes attribute indications corresponding to a plurality of device attributes; and means for transmitting (88) the communication by wireless technology from the device (70) to a receiving device; wherein the attribute indications include: a device identity (120) of the device (70); a mobility indication (122) indicating whether the device is expected to be mobile or expected to be static; a location indication (126) indicating a location of the device; and a privacy indication (116) associated with a corresponding device attribute indicating whether the receiving device is authorized to transmit information relating to the corresponding device attribute.

11. Device (70), according to claim 10, characterized in that the means for generating the communication are to generate the privacy indication to indicate whether at least one other device besides the receiving device is authorized to transmit information relating to the corresponding attribute.

12. Device (70), according to claim 10, characterized in that the attribute indications additionally include an indication among: an identity of an attribute, of the plurality of attributes of the device, for which an indication is not being transmitted by the device; or a list of one or more trusted devices associated with the device; or a round-trip time associated with another device; or an angle of arrival (132) of a signal on the device; or a supported distance determination protocol; or a distance determination uncertainty; or a location uncertainty; or a list of neighbors (216) indicating access points neighboring the device; or a history of the list of neighbors; or whether the device can be displayed on a map; or whether angle of arrival determinations are supported; or a combination thereof.

13. Device (70), according to claim 10, characterized in that the means for generating (80) the communication comprise means for generating (80) the communication with an additional attribute indication, in addition to the device identity, mobility indication, location indication and privacy indication, the means for generating being configured to include the additional attribute indication in the communication, or to determine a value of the additional attribute indication, or both, based on a time, on a location of the first device, or on a combination thereof. Petition 870240079983, dated 09 / 18 / 2024, pp. 103 / 108 7 / 7 14. Device (70), according to claim 10, characterized in that the device (70) is a first device and further comprising: means for receiving a request from a second device for a location of a third device; means for transmitting the request to the location of the third device; means for receiving a reply from the third device; means for determining a distance to the third device from the first device; and means for transmitting a message to the second device, the message including an indication of the distance of the third device from the first device.

15. Computer-readable memory characterized in that it comprises instructions stored therein, the instructions being executable by a computer to perform the method steps as defined in any one of claims 1 to 9.