Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WAKING BROADCASTS
Document Type and Number:
WIPO Patent Application WO/2022/015316
Kind Code:
A1
Abstract:
Examples of waking broadcasts are described herein. In some examples, a computing device may include a communication interface to receive a target device detection notification and geographical location data from a first ad-hoc device. In some examples, the computing device may include a processor to determine a selected ad-hoc device based on the geographical location data. In some examples, the communication interface is to send a waking broadcast command to the selected ad-hoc device in response to receiving the target device detection notification. In some examples, the waking broadcast command includes a pattern that is unique to a target device associated with the target device detection notification.

Inventors:
LAGNADO ISAAC (US)
MOHRMAN CHRISTOPHER CHARLES (US)
CHEN CHUNG-CHUN (TW)
Application Number:
PCT/US2020/042418
Publication Date:
January 20, 2022
Filing Date:
July 16, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD DEVELOPMENT CO (US)
International Classes:
H04W84/18; H04W76/10
Foreign References:
US20060023678A12006-02-02
US20070171910A12007-07-26
US20050215280A12005-09-29
US20150339917A12015-11-26
Attorney, Agent or Firm:
SU, Benjamin et al. (US)
Download PDF:
Claims:
CLAIMS

1. A computing device, comprising: a communication interface to receive a target device detection notification and geographical location data from a first ad-hoc device; and a processor to determine a selected ad-hoc device based on the geographical location data, wherein the communication interface is to send a waking broadcast command to the selected ad-hoc device in response to receiving the target device detection notification, wherein the waking broadcast command includes a pattern that is unique to a target device associated with the target device detection notification.

2. The computing device of claim 1 , wherein to determine the selected ad- hoc device, the processor is to select an ad-hoc device within a threshold distance from a geographical location indicated by the geographical location data.

3. The computing device of claim 1 , wherein the geographical location data indicates a geographical location of the first ad-hoc device, and wherein the processor is to determine the first ad-hoc device as the selected ad-hoc device.

4. The computing device of claim 1 , wherein: the processor is to search device data for the target device in response to the communication interface receiving the target device detection notification and is to determine that a wipe request is associated with the target device in the device data, and wherein the communication interface is to send a wipe broadcast command to the selected ad-hoc device with the waking broadcast command. 5. The computing device of claim 4, wherein the processor is to store the wipe request in response to the communication interface receiving the wipe request from a remote device.

6. The computing device of claim 1 , wherein: the processor is to search device data for the target device in response to the communication interface receiving the target device detection notification and is to determine that a lock request is associated with the target device in the device data, and wherein the communication interface is to send a lock broadcast command to the selected ad-hoc device with the waking broadcast command.

7. The computing device of claim 1 , wherein the pattern includes an identifier of an integrated tracking device in the target device that is separate from an address of the target device.

8. The computing device of claim 7, wherein the tracking device is active while the target device is in an inactive state.

9. The computing device of claim 1 , wherein: the communication interface is to receive a registration request; and the processor is to generate the pattern, wherein the communication interface is to send the pattern to the target device.

10. A host device, comprising: a processor to enter into an inactive state; a first transceiver to enter into the inactive state; a second transceiver to send a beacon and to receive a pattern when the processor and the first transceiver are in the inactive state; a tracking device to determine whether the pattern matches a stored pattern and to wake a controller in a case that the pattern matches the stored pattern; and the controller to wake the processor and execute a wipe command corresponding to the pattern in the case that the pattern matches the stored pattern.

11. The host device of claim 10, wherein the processor is to offload the stored pattern to the tracking device.

12. The host device of claim 11 , wherein the stored pattern is stored by a device driver before being offloaded to the tracking device.

13. A non-transitory tangible computer-readable medium comprising instructions when executed cause a processor of an electronic device to: store request information for a target device; search device data for the target device based on receiving a target device detection notification; determine that there is a pending request for the target device; and send a waking broadcast command and a command associated with the pending request indicated by the request information to a selected ad-hoc device, wherein the waking broadcast command includes a pattern that is unique to the target device.

14. The computer-readable medium of claim 13, wherein the instructions when executed further cause the processor to determine the selected ad-hoc device based on time stamp data.

15. The computer-readable medium of claim 14, wherein the instructions when executed cause the processor to determine that a time stamp indicated by the time stamp data is within a time threshold.

Description:
WAKING BROADCASTS

BACKGROUND

[0001] Electronic technology has advanced to become virtually ubiquitous in society and has been used for many activities in society. For example, electronic devices are used to perform a variety of tasks, including work activities, communication, research, and entertainment. Different varieties of electronic circuitry may be utilized to provide different varieties of electronic technology.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] FIG. 1 is a block diagram of an example of a computing device that may be used for a waking broadcast;

[0003] FIG. 2 is a diagram illustrating an example of a waking broadcast in accordance with some of the techniques described herein;

[0004] FIG. 3 is a block diagram of an example of a host device that may be utilized for waking via a tracking device; and

[0005] FIG. 4 is a block diagram illustrating an example of a computer- readable medium for waking broadcasts.

DETAILED DESCRIPTION

[0006] An electronic device may be a device that includes electronic circuitry. For instance, an electronic device may include integrated circuitry (e.g., transistors, digital logic, semiconductor technology, etc.). Examples of electronic devices include computing devices. A computing device may be an electronic device that includes processing circuitry. Some examples of computing devices may include laptop computers, desktop computers, smartphones, tablet devices, wireless communication devices, game consoles, smart appliances, vehicles with electronic components, aircraft, drones, robots, smart appliances, tracking devices, Internet of Things (loT) devices, etc.

[0007] A tracking device may be an electronic device to provide location and/or tracking functionality. For example, a tracking device may utilize wireless signaling to indicate a current and/or past location of the tracking device. In some examples, a tracking device may transmit a signal (e.g., beacon, advertisement signal, etc.) that may indicate a location of the tracking device and/or may indicate a proximity of the tracking device to another electronic device (e.g., receiving device).

[0008] In some examples of the electronic devices described herein, a tracking device and/or other wireless communication device (e.g., loT device) may be included in and/or integrated into a host device. A host device may be a device that includes an electronic device or devices (e.g., a tracking device). The tracking device and/or other wireless communication device may be utilized to track, locate, and/or send a signal from the host device. For instance, the tracking device may be utilized to track and/or locate an item or electronic device that has become lost. In some examples, an integrated tracking device and/or other wireless communication device may receive information, transmit information, and/or execute commands independently of a host device operating system (OS) and/or when a host device is in an inactive state.

[0009] In some cases, an electronic device may communicate with an established wireless network or networks when in an active state. An established wireless network may be a wireless network with an infrastructure that serves a relatively fixed area. For example, an electronic device may communicate with a wireless local area network (WLAN), cellular network, etc., using established network infrastructure devices (e.g., access point(s), base station(s), router(s), switch(es), etc.). Accordingly, an electronic device may be communicated with, managed, and/or controlled when the electronic device is in an active state. [0010] An ad-hoc network may be a temporary and/or impromptu network that is formed extemporaneously and/or spontaneously. For instance, an ad-hoc network may be formed between mobile electronic devices (e.g., smartphones, tablet devices, laptop computers, etc.) and/or may vary in location over time. For example, an ad-hoc network may be formed when electronic devices are within a range (e.g., 200 feet, 300 feet, 400 feet, etc.) and communicate with ad-hoc (e.g., extemporaneous, impromptu, etc.) communications. In some examples, an ad-hoc network may be formed between peer devices. An ad-hoc device may be a device that is capable of ad-hoc communication. In some examples, an ad-hoc device may be linked to an ad-hoc network and/or may participate in (e.g., send and/or receive) ad-hoc communications with another electronic device. In some examples, an ad-hoc network may be a transient network, non stationary network, and/or non-established network.

[0011] In some examples, an established network and/or an ad-hoc network may use the same or different communication protocols. For example, an established network may utilize a Wi-Fi link and an ad-hoc network may utilize an ad-hoc Wi-Fi link. In some examples, an established network may utilize a cellular (e.g., Long Term Evolution (LTE), New Radio (NR)) protocol and an ad- hoc network may utilize a personal area network (PAN) protocol (e.g., Bluetooth). Other variations in communication protocols may be utilized for an established network and/or an ad-hoc network.

[0012] An operating state may be a degree of operation of an electronic device. Different operating states may be associated with different resource activity and/or availability. Examples of operating states may include an active (e.g., “on”) state, a standby state, and/or an inactive (e.g., “off” or “sleep”) state. In some examples of an active state, all or most electronic device resources and/or components are active and/or available for use. For instance, wireless networking resources (e.g., WLAN, cellular, personal area network (PAN), etc.) may be active and/or available when an electronic device is in the active state. In some examples of a standby state, some of the resources and/or components of an electronic device may be deactivated and/or unavailable. For instance, display(s), camera(s), port(s), and/or WLAN resources, etc., may be deactivated in the standby state. In some examples of the inactive state, some resources (e.g., cellular resources, WLAN resources, etc.) may be deactivated and/or unavailable. In some examples of the inactive state, limited device resources (e.g., limited communication resources, tracking resources, etc.) may be active and/or available. In some examples, an electronic device in an inactive state may provide limited resources without running an OS. For instance, an OS of the electronic device may be inactive when the electronic device is in an inactive state in some examples. In some cases, an electronic device may be unable to communicate with an established network and/or may refrain from communicating with an established network when in an inactive state.

[0013] It may be useful to be able to communicate with and/or wake an electronic device that is in an inactive state and/or that is not in communication with an established network. For instance, it may be useful for an information technology decision maker (ITDM) to be able to manage an electronic device when the electronic device is in an inactive state and/or is not in communication with an established network.

[0014] In some examples of the techniques described herein, ad-hoc communication (e.g., an ad-hoc network of mobile devices) may be utilized to communicate with and/or wake an electronic device or devices. Some examples of the techniques described herein may allow communication with an electronic device in an inactive state (e.g., without running an OS). For instance, status information may be obtained from an electronic device and/or a command or commands may be sent to an electronic device in an inactive state.

[0015] Throughout the drawings, identical or similar reference numbers may designate similar, but not necessarily identical, elements. The figures are not necessarily to scale, and the size of some parts may be exaggerated to more clearly illustrate the example shown. Moreover, the drawings provide examples in accordance with the description; however, the description is not limited to the examples provided in the drawings.

[0016] FIG. 1 is a block diagram of an example of a computing device 102 that may be used for a waking broadcast. The computing device 102 may be an electronic device, such as a server computer, a cloud computer, a personal computer, laptop computer, a smartphone, a tablet computer, etc. The computing device 102 may include and/or may be coupled to a processor 104 and/or a memory 106. The computing device 102 may include additional components (not shown) and/or some of the components described herein may be removed and/or modified without departing from the scope of this disclosure. [0017] The processor 104 may be any of a central processing unit (CPU), a digital signal processor (DSP), a semiconductor-based microprocessor, graphics processing unit (GPU), field-programmable gate array (FPGA), an application- specific integrated circuit (ASIC), and/or other hardware device suitable for retrieval and execution of instructions stored in the memory 106. The processor 104 may fetch, decode, and/or execute instructions stored in the memory 106. In some examples, the processor 104 may include an electronic circuit or circuits that include electronic components for performing a function or functions of the instructions. In some examples, the processor 104 may perform one, some, or all of the aspects, operations, elements, etc., described in one, some, or all of FIG. 1-2 and 4.

[0018] The memory 106 may be an electronic, magnetic, optical, and/or other physical storage device that contains or stores electronic information (e.g., instructions and/or data). The memory 106 may be, for example, Random Access Memory (RAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and/or the like. In some examples, the memory 106 may be volatile and/or non-volatile memory, such as Dynamic Random Access Memory (DRAM), EEPROM, magnetoresistive random-access memory (MRAM), phase change RAM (PCRAM), memristor, flash memory, and/or the like. In some examples, the memory 106 may be a non-transitory tangible machine-readable storage medium, where the term “non- transitory” does not encompass transitory propagating signals. In some examples, the memory 106 may include multiple devices (e.g., a RAM card and a solid-state drive (SSD)).

[0019] In some examples, the computing device 102 may include a communication interface 124 through which the processor 104 may communicate with an external device or devices (e.g., networked device, smartphone, remote device, etc.). The communication interface 124 may include hardware and/or machine-readable instructions to enable the processor 104 to communicate with the external device or devices. The communication interface 124 may enable a wired and/or wireless connection to the external device or devices. In some examples, the communication interface 124 may include a network interface card and/or may also include hardware and/or machine-readable instructions to enable the processor 104 to communicate with various input and/or output devices. Examples of output devices include a printer, a 3D printer, a display, etc. Examples of input devices include a keyboard, a mouse, a touch screen, etc., through which a user may input instructions and/or data into the computing device 102.

[0020] In some examples, the computing device 102 may be in communication with (e.g., have a communication link 130 with) an ad-hoc device 126. For example, the computing device 102 may communicate with the ad-hoc device 126 using a communication link 130 via a network (e.g., established network, cellular network, the Internet, ad-hoc network, etc.). Examples of an ad-hoc device 126 may include a computing device, laptop computer, smartphone, tablet device, wireless communication device, game console, vehicles with electronic component, aircraft, drone, robot, etc. In some examples, an ad-hoc device 126 may include circuitry (e.g., integrated circuitry, semiconductor circuitry, electronic component(s), etc.). For example, an ad-hoc device 126 may include digital logic circuitry, transistors, memory, etc. In some examples, the computing device 102 may communicate with multiple ad-hoc devices (which may include the ad-hoc device 126 in some examples) via the same communication link 130 and/or different communication links.

[0021] In some examples, an ad-hoc device 126 may communicate with (e.g., receive a signal from and/or transmit a signal to) a target device 128. For example, an ad-hoc device 126 may send an ad-hoc communication 132 to the target device 128 and/or may receive an ad-hoc communication 132 from the target device 128. For instance, the ad-hoc device 126 and/or the target device 128 may form an ad-hoc network for ad-hoc communication(s) 132. In some examples, an ad-hoc network may be formed with multiple ad-hoc devices and/or a target device 128. In some cases, not all ad-hoc devices may communicate with the target device 128. For instance, the target device 128 may be out of wireless range of an ad-hoc device 126, which may impede that ad-hoc device 126 from receiving a signal or beacon from the target device 128. An example of a target device 128 is illustrated in FIG. 1. Examples of the target device 128 may include a tracking device, computing device, laptop computer, smartphone, tablet device, wireless communication device, game console, vehicles with electronic component, aircraft, drone, robot, etc. In some examples, the target device 128 may include circuitry (e.g., integrated circuitry, semiconductor circuitry, electronic component(s), etc.). For example, the target device 128 may include digital logic circuitry, transistors, memory, etc. In some examples, a target device 128 may be included in a host device. In some examples, the target device 128 may be a host device and may include an integrated tracking device and/or wireless communication device.

[0022] In some examples, the target device 128 may send a beacon or beacons. A beacon may be a wireless signal sent from an electronic device. For example, a beacon may provide an indication of electronic device presence, location, and/or activity. For instance, a target device 128 may send a beacon or beacons to indicate the presence, location, and/or activity of the target device 128. In some examples, a beacon may be transmitted repeatedly and/or periodically. In some examples a beacon may be transmitted according to a schedule. When within range, the ad-hoc device 126 may receive the beacon or beacons to determine the presence, location, and/or activity of the target device 128. In some examples, a beacon may be referred to as an advertising signal. In some examples, a beacon may be a Bluetooth beacon or advertising signal. In some examples, a beacon may include or indicate an identifier or identifiers (e.g., device identifier, media access control (MAC) address, etc.). For instance, the target device 128 may send a beacon that identifies the target device 128. In some examples, the target device 128 may send a beacon or beacons when the target device 128 is in an inactive state.

[0023] In some examples, the ad-hoc device 126 may receive and/or detect a signal or beacon from the target device 128. In response to receiving and/or detecting the signal or beacon from the target device 128, the ad-hoc device 126 may send a target device detection notification and/or geographical location data to the computing device 102 (e.g., communication interface 124). For instance, the target device detection notification may indicate that the ad-hoc device 126 has received a signal and/or beacon from the target device 128 and/or may indicate that the ad-hoc device 126 is within a range from the target device 128. The target device detection notification may be associated with the target device 128. For example, the target device detection notification may include an identifier of the target device 128. For instance, the target device detection notification may include a device identification number, MAC address, hardware address, serial number, etc., corresponding to the target device 128. In some examples, the computing device 102 may utilize the identifier to look up device data 108 associated with the target device 128.

[0024] In some examples, the geographical location data may indicate a location of the ad-hoc device 126 at a time (or within a range of time) from when the ad-hoc device 126 received the signal and/or beacon from the target device 128. In some examples, the ad-hoc device 126 may determine the geographical location data based on a positioning signal or signals. A positioning signal may be a wireless signal used for positioning. Examples of positioning signals may include satellite signals, terrestrial positioning node signals, access point signals, communication tower signals, etc. For example, the ad-hoc device 126 may receive a positioning signal or signals to determine a geographical location of the ad-hoc device 126. For instance, the ad-hoc device 126 may receive global positioning system (GPS) signals, which may be utilized to determine a geographical location of the ad-hoc device 126. In some examples, the ad-hoc device 126 may send the target device detection notification and/or geographical location data to the computing device 102 via the communication link 130. In some examples, the ad-hoc device 126 may receive the signal and/or beacon from the target device 128 and/or may send the target device detection notification and/or geographical location data to the computing device 102 without providing a notification to a user of the ad-hoc device 126. For example, the ad-hoc device 126 may include an application to allow for signal reception and/or transmission without notifying the user (with previous consent of the user, for instance).

[0025] In some examples, the communication interface 124 may receive a target device detection notification and/or geographical location data from the ad-hoc device 126. For instance, the communication interface 124 may receive the target device detection notification and/or geographical location data from the ad-hoc device 126 via the communication link 130 (e.g., via an established network, cellular network, the Internet, ad-hoc network, etc.). In some examples, the computing device 102 may store the target device detection notification and/or geographical location data from the ad-hoc device 126. In some examples, the ad-hoc device 126 may send a time stamp with the target device detection notification and/or geographical location data. In some examples, the computing device 102 may receive and/or store the time stamp data with the target device detection notification and/or geographical location data. In some examples, the computing device 102 (e.g., processor 104) may generate and/or store a time stamp corresponding to the received target device detection notification and/or geographical location data.

[0026] In some examples, the memory 106 of the computing device 102 may store device data 108, location data 110, device selection instructions 112, and/or command instructions 114. The device data 108 may be data about a device or devices (e.g., the target device 128). For example, the device data 108 may indicate identifier information, pattern information, request information, and/or account information corresponding to a device or devices (e.g., target device 128). For instance, identifier information may indicate a device identification number, media access control (MAC) address, hardware address, and/or serial number, etc., for a device or devices. Account information may include user information (e.g., name, contact information, address, etc.) associated with a device. In some examples, the target device 128 may be registered (e.g., initially registered) with the computing device 102. For instance, the target device 128 may undergo an initial setup and/or registration with the computing device 102. During the initial setup and/or registration, the computing device 102 may receive some of the device data 108 associated with the target device 128.

[0027] Pattern information may be information (e.g., numbers, characters, code, etc.) that is unique to a device. For instance, the computing device 102 may generate or receive a unique pattern or patterns for a device (e.g., target device 128) when the device is setup and/or registered with the computing device 102. The unique pattern or patterns for a device may be different from a unique pattern or patterns for another device. In some examples, a unique wake pattern (stored on the computing device 102) that is unique to each device may be utilized. The unique wake pattern may be utilized such that one unique wake pattern may be provided to cause a device to wake and provide the requested data and/or functionality. In some examples, a pattern may indicate and/or may be associated with a command. For instance, a pattern may indicate a command or operation to be performed by a unique or specific device (e.g., target device). Examples of commands may include a waking command, a lock command, a wipe command, and an alert command. In some examples, a pattern may be utilized to indicate a specific device (e.g., target device 128) to respond to a broadcast command.

[0028] In some examples, the communication interface 124 may receive a registration request. For example, the communication interface 124 may receive a registration request from the target device 128, from the ad-hoc device 126 and/or from another device. In some examples, the computing device 102 (e.g., processor 104) may generate a pattern or patterns. The communication interface may send the pattern(s) to the target device 128. For instance, the computing device 102 may generate a pattern that is unique to the target device 128 (or patterns that are unique to the target device 128). For example, the processor 104 may generate the pattern as a unique random string (e.g., number(s) and/or character(s)) and/or may generate a unique string based on an identifier of the target device 128. The target device 128 may store the pattern(s) (e.g., the pattern(s) received from the computing device 102). In some examples, the target device 128 may include an integrated (e.g., embedded) tracking device and/or wireless communication device. In some examples, the target device 128 may receive the pattern(s) from the computing device 102 (via an established network, an ad-hoc network, another network, etc.). The target device 128 may provide the pattern(s) to a device driver for the integrated tracking device and/or wireless communication device. The device driver may provide the pattern(s) to the integrated tracking device and/or wireless communication device, which may store the pattern(s) in memory (e.g., memory that is exclusive to the integrated tracking device and/or wireless communication device and/or that is separate from target device 128 or host device application memory).

[0029] Request information may be information indicating a requested operation for a device or devices. Examples of requested operations may include a wake request, a lock request, a wipe request, and/or an alert request. For instance, request information may indicate whether a request has been received for a specific device (e.g., target device 128). In some examples, the computing device 102 may store a wake request, a lock request, a wipe request, and/or an alert request in association with a target device 128. For example, the computing device 102 may receive a request from a remote device indicating a target device operation. A remote device may be a device that is external to the computing device 102 and/or that communicates with the computing device 102 via a communication link (e.g., network link). For instance, in a case that a target device 128 is lost, a user may utilize a device (e.g., computer, smartphone, tablet device, etc.) to send a request to the computing device 102. In some examples, the processor 104 may store (in the memory 106 and/or device data 108) a wipe request in response to the communication interface 124 receiving a wipe request from a remote device. [0030] A wake request may indicate a request for a waking command (to activate the target device 128, for instance). A lock request may indicate a request for a lock command (to lock the target device 128, for instance). If the target device 128 executes a lock command, for instance, the target device 128 may be inaccessible, a function or functions of the target device 128 may be locked, and/or data (e.g., sensitive data, personal data, photographs, contact information, etc.) on the target device 128 may be locked and/or inaccessible. A wipe request may indicate a request for a wipe command (to wipe data from the target device 128, for instance). If the target device 128 executes a wipe command, for instance, the target device 128 may wipe (e.g., delete, overwrite, etc.) data (e.g., sensitive data, personal data, photographs, contact information, etc.) from the target device 128. An alert request may indicate a request for an alert command (to produce an audible and/or visual alert on the target device 128, for instance). If the target device 128 executes an alert command, for instance, the target device 128 may produce an audible alert (e.g., output a sound) and/or a visual alert (e.g., display a message and/or image(s)).

[0031] The location data 110 may include and/or indicate a location associated with a device or devices. For instance, the location data 110 may include geographical location data that indicates a geographical location of a device or devices. For example, the location data 110 may include coordinate data, global positioning system (GPS) data, and/or map data, etc., for an ad-hoc device 126 and/or a target device 128. For instance, the location data 110 may include a last recorded location associated with the target device 128. In some examples, the location data 110 may include a location (e.g., GPS location) of the ad-hoc device 126 when the ad-hoc device 126 received signaling from the target device 128. In some examples, the computing device 102 may store received geographical location data from the ad-hoc device 126 as location data 110 associated with the target device 128.

[0032] In some examples, the location data 110 may include geographical location data for multiple ad-hoc devices. For example, multiple ad-hoc devices may send respective geographical location data to the computing device 102. The respective geographical location data may indicate geographical locations of multiple ad-hoc devices, which may be stored in the location data 110.

[0033] In some examples, the processor 104 may determine a selected ad- hoc device based on the geographical location data. For instance, the processor 104 may execute the device selection instructions 112 to select an ad-hoc device or ad-hoc devices. In some examples, to determine the selected ad-hoc device(s), the processor 104 may select an ad-hoc device within a threshold distance from a geographical location indicated by the geographical location data (e.g., by the geographical location data associated with the target device 128). Examples of the threshold distance may include 300 feet, 500 feet, 0.25 miles 0.5 miles, 1 mile, etc. For instance, the computing device 102 may determine whether location(s) of an ad-hoc device 126 and/or other ad-hoc devices are less than or equal to a threshold distance of the location of the target device 128 indicated by the received geographical location data.

[0034] In some examples, the computing device 102 may store locations of ad-hoc devices according to regions (e.g., overlapping or non-overlapping regions). A region may be a geographical area (e.g., rectangular area, circular area, etc.). In some examples, if the location associated with the target device 128 is within a region, the computing device 102 (e.g., processor 104) may select ad-hoc devices in the region (where the region may be smaller than the threshold distance, for instance). In some examples, the computing device 102 may calculate a distance or distances (e.g., Euclidean distance(s)) between the location associated with the target device 128 and the location or locations of the ad-hoc device 126. The computing device 102 (e.g., processor 104) may select each ad-hoc device 126 with a calculated distance that is less than or equal to the threshold distance. In some examples, a combination of region and distance calculation approaches may be utilized. For instance, the computing device 102 (e.g., processor 104) may calculate distance(s) limited to ad-hoc device(s) with location(s) in the region and select ad-hoc device(s) accordingly. In some examples, the computing device 102 may select ad-hoc device(s) in the region of the target device 128 and may limit distance calculations to ad-hoc device(s) that are in neighboring regions, which may be compared to the distance threshold for selection determination. In some examples, the threshold distance may be based on a wireless range of the target device 128. For instance, the threshold distance may be the wireless range (plus or minus a margin in some examples).

[0035] In some examples, the geographical location data may indicate a geographical location of the ad-hoc device 126 (e.g., the ad-hoc device 126 that received the signal and/or beacon from the target device 128, and/or the ad-hoc device 126 that sent the target device detection notification and the geographical location data). The processor 104 may determine the ad-hoc device 126 as a selected ad-hoc device. In some examples, the ad-hoc device 126 that received the signal and/or beacon from the target device 128, and/or the ad-hoc device 126 that sent the target device detection notification and the geographical location data may be selected by default (since that ad-hoc device 126 is likely to be within range of the target device 128, for instance).

[0036] In some examples, the communication interface 124 may send a command or commands to the selected ad-hoc device(s) in response to receiving the target device detection notification. For example, the processor 104 may execute the command instructions 114 to generate a command or commands, which may be provided to the communication interface 124 to send to selected ad-hoc device(s). In some examples, the communication interface 124 may send a waking broadcast command to the selected ad-hoc device(s) in response to receiving the target device detection notification. The waking broadcast command may include a pattern that is unique to the target device 128 associated with the target device detection notification. A waking broadcast command may be a command for an ad-hoc device to broadcast a waking command. For instance, the ad-hoc device 126 may receive the waking broadcast command and may broadcast a waking command to any device(s) within wireless range of the ad-hoc device 126. The target device 128 may receive the waking command and may activate (e.g., transition from an inactive state to an active state). In some examples, the target device 128 may activate based on the pattern received in the waking command. For instance, the target device 128 may compare the received pattern to a pattern stored on the target device 128. In a case that the received pattern matches the stored pattern, the target device 128 may activate.

[0037] In some examples, the processor 104 may search the device data 108 for the target device 128 (e.g., target device identifier) in response to the communication interface 124 receiving the target device detection notification. The processor 104 may determine whether there is a pending request for the target device 128. For instance, the processor may determine that a wake request, a wipe request, a lock request, and/or an alert request is associated with the target device 128 in the device data 108. In some examples, the communication interface 124 may send a command or commands (e.g., waking broadcast command, lock broadcast command, wipe broadcast command, and/or alert broadcast command) associated with a pending request (indicated by the request information) to the selected ad-hoc device(s). A lock broadcast command may cause an ad-hoc device to broadcast a lock command. A wipe broadcast command may cause an ad-hoc device to broadcast a wipe command. An alert broadcast command may cause an ad-hoc device to broadcast an alert command. In some examples, the computing device 102 (e.g., communication interface 124) may send a waking broadcast command automatically (e.g., regardless of whether the device data 108 includes a waking request). For example, the computing device 102 may send a waking broadcast command and a command associated with a pending request indicated by the request information to a selected ad-hoc device. For instance, the communication interface 124 may send a wipe broadcast command to the selected ad-hoc device with the waking broadcast command. In some examples, the communication interface 124 may send a lock broadcast command to the selected ad-hoc device with the waking broadcast command. In some examples, the computing device 102 (e.g., communication interface 124) may send a pattern or patterns unique to the target device 128 (that may be associated with a command or commands). For example, a pattern itself may be a command(s) and/or may indicate a command(s). The selected ad-hoc device may broadcast the command(s) and/or pattern(s).

[0038] In some examples, a pattern may include an identifier of an integrated tracking device and/or wireless communication device in the target device 128 that is separate from an address of the target device 128. For example, the target device 128 may include an integrated tracking device and/or wireless communication device. The tracking device and/or wireless communication device may be active while the target device 128 is in an inactive state.

[0039] In some examples, the target device 128 may enter an inactive (e.g., “off” or “sleep”) state. When entering the inactive state, a device driver (e.g., Bluetooth driver) of the target device (which may have stored the pattern(s)) may offload the unique pattern(s) to an integrated tracking device and/or wireless communication device. The integrated tracking device and/or wireless communication device may receive a broadcast command or commands (e.g., waking command, lock command, wipe command, and/or alert command) with a pattern or patterns from an ad-hoc device 126. The integrated tracking device and/or wireless communication device may determine whether the received pattern(s) correspond to (e.g., match) the stored pattern(s). In response to determining that the received pattern matches the stored pattern, the integrated tracking device and/or wireless communication device may drive a waking command (e.g., a Bluetooth wake request) to a host device. In some examples, the waking command may be driven to the host device to process an incoming command. In some examples, a controller may receive the waking command (e.g., Bluetooth wake request) and wake the target device 128. The target device 128 may then execute a command or commands (e.g., lock, wipe, alert). In some examples, one, some, or all of the operations described in relation to the ad-hoc device 126 may be performed by and/or in relation to another ad-hoc device or devices (e.g., ad-hoc device(s) that are in communication with the computing device 102 and/or within a distance from the target device 128). [0040] FIG. 2 is a diagram illustrating an example of a waking broadcast in accordance with some of the techniques described herein. FIG. 2 illustrates a target device 234, an ad-hoc device 236, a computing device 238, and a remote device 240. The target device 234 may be an example of the target device 128 described in FIG. 1. The ad-hoc device 236 may be an example of the ad-hoc device 126 described in FIG. 1. The computing device 238 may be an example of the computing device 102 described in FIG. 1.

[0041] In some examples, the target device 234 may enter an inactive (e.g., “off” or “sleep”) state at 242. For instance, the target device 234 may be manually switched to an inactive state and/or may automatically switch to the inactive state in response to a period of nonuse. When entering the inactive state, a device driver (e.g., a Bluetooth driver that may have stored the pattern(s)) of the target device 234 may offload the unique pattern(s) to an integrated tracking device and/or wireless communication device at 244. [0042] The target device 234 may become lost or stolen. At 246, for example, a remote device 240 may report the target device 234 as lost or stolen and/or may send a wipe request to the computing device 238. In some examples, the wipe request may be sent via an established network. The computing device 238 may receive the wipe request, which may be stored in association with an identifier of the target device 234 (e.g., the target device 234 may be flagged for a wipe command) at 248.

[0043] At 250, the integrated tracking device and/or wireless communication device of the target device 234 may send a signal or beacon (while the target device 234 is in an inactive state, for instance), which may be received by the ad-hoc device 236. At 252, the ad-hoc device 236 may determine geographical location data. For instance, the ad-hoc device 236 may retrieve coordinate information from a GPS receiver of the ad-hoc device 236. In some examples, the ad-hoc device 236 may determine a time stamp. At 254, the ad-hoc device 236 may send a target device detection notification and/or geographical location data to the computing device 238. The target device detection notification and/or geographical location data may be sent via an established network. In some examples, the ad-hoc device 236 may send a time stamp with the target device detection notification and/or geographical location data.

[0044] The computing device 238 may receive the target device detection notification and/or geographical location data (and/or time stamp). At 256, the computing device 238 may determine that the target device 234 has an associated wipe request and may retrieve the unique pattern(s) from device data for waking and/or wiping the target device 234. At 258, the computing device 238 may select an ad-hoc device or devices. For instance, the computing device 238 may select the ad-hoc device 236 that sent the target device detection notification and/or another ad-hoc device that is within a distance threshold from the location indicated by the geographic location data.

[0045] In some examples, the computing device 238 may select an ad-hoc device or devices based on time stamp data. For instance, the computing device 238 may select an ad-hoc device or devices that were within the distance threshold and within a time threshold. For instance, ad-hoc device(s) may send time stamps and/or the computing device may record a time corresponding to geographical location data provided by ad-hoc device(s). If an ad-hoc device is within the distance threshold and the time stamp or recorded time is within a time threshold (e.g., a day, an hour, a half-hour, 5 minutes, etc.), the computing device may select the ad-hoc device at 258. In some examples, if an ad-hoc device has a location within the distance threshold, but a time that is not within the time threshold, the computing device 238 may request and/or receive updated geographical location information from the ad-hoc device(s) to determine whether they are currently within the distance threshold. The computing device 238 may select the ad-hoc device(s) within the distance threshold and time threshold. At 260, the computing device 238 may send a waking broadcast command and/or a wipe broadcast command with the unique pattern(s) to the ad-hoc device 236 and/or selected ad-hoc device(s) that are within a threshold distance from a location indicated by the geographical location data. In some examples, the command(s) and/or pattern(s) may be sent via an established network to the ad-hoc device 236.

[0046] At 262, the ad-hoc device 236 and/or selected ad-hoc devices may broadcast a waking command and/or wipe command with the pattern(s) to the target device 234 via an ad-hoc link (e.g., ad-hoc network). In some examples, ad-hoc network link may be created between the ad-hoc device 236 and the target device 234. The integrated tracking device and/or wireless communication device of the target device 234 may receive the broadcast waking command and wipe command with the pattern(s) from an ad-hoc device 236. At 264, the integrated tracking device and/or wireless communication device of the target device 234 may determine whether the received pattern(s) correspond to (e.g., match) the stored pattern(s). At 266, in response to determining that the received pattern(s) match the stored pattern(s), the integrated tracking device and/or wireless communication device may wake a controller of the target device 234. At 268, the controller may wake the target device 234. The controller may then execute the wipe command at 270.

[0047] FIG. 3 is a block diagram of an example of a host device 372 that may be utilized for waking via a tracking device 384. The host device 372 may be an example of the target device 128 and/or target device 234 described herein. Some examples of the host device 372 include smartphones, laptop computers, tablet devices, game consoles, mobile devices, etc. In some examples, the host device 372 may perform one, some, or all of the operations, aspects, elements, procedures, etc., described relative to the target device 128 and/or target device 234 herein.

[0048] In some examples, the host device 372 may include memory 376, a processor 374, a first transceiver 378, a second transceiver 380, an integrated tracking device 384, and/or a controller 386. The processor 374 may be in electronic communication with the memory 376.

[0049] In some examples, the host device 372 may include a first transceiver 378. The first transceiver 378 may be circuitry to receive and/or transmit information. For example, the first transceiver 378 may receive and/or transmit information when the host device is in an active state. In some examples, the first transceiver 378 may be a cellular and/or WLAN (e.g., Wi-Fi) transceiver. [0050] In some examples, the host device 372 may include a second transceiver 380. The second transceiver 380 may be circuitry to receive and/or transmit information. For example, the second transceiver 380 may be utilized to transmit and/or receive information for the integrated tracking device 384. In some examples, the first transceiver 378 and/or the second transceiver 380 may be coupled to an antenna or antennas (e.g., the same antenna(s) or separate antenna(s)). In some examples, the second transceiver 380 may be a PAN (e.g., Bluetooth) transceiver.

[0051] In some examples, the memory 376 may include pattern data A 382a. Pattern data A 382a may include a pattern or patterns received from a computing device (e.g., computing device 102, computing device 238) during a registration and/or setup procedure.

[0052] In some examples, the processor 374 may enter into an inactive state. Entering into the inactive state may be accomplished as described in FIG. 1 and/or FIG. 2. For instance, the processor 374 may enter into an “off” or “sleep” state. For instance, the host device 372 may receive an input (e.g., user input) instructing the host device 372 to enter into the inactive state and/or the processor 374 may trigger entering into the inactive state in response to a period of nonuse (e.g., 2 minutes, 5 minutes, 10 minutes, 1 hour, etc.). In some examples, the controller 386 may enter into an inactive state.

[0053] In some examples, upon determining to enter the inactive state, the processor 374 may offload pattern data A 382a from the memory 376 to the tracking device 384. For instance, the processor 374 may offload the stored pattern(s) to the tracking device 384. In some examples, the stored pattern (e.g., pattern data A 382a) may be stored by a device driver before being offloaded to the tracking device 384. For example, a Bluetooth driver may store the pattern(s) (e.g., pattern data A 382a). The tracking device 384 may store the loaded pattern data as pattern data B 382b. The memory 376 may enter the inactive state.

[0054] In some examples, the first transceiver 378 may enter into the inactive state. For example, the first transceiver 378 may cease transmitting and/or receiving information and/or may shut down.

[0055] In some examples, the second transceiver 380 may send a beacon or beacons. For example, the second transceiver 380 may send a beacon or beacons when the host device 372 is in an active and/or inactive state. In some examples, the second transceiver 380 may receive a pattern or patterns. For example, the second transceiver 380 may receive a pattern broadcast from an ad-hoc device via a wireless ad-hoc link and/or ad-hoc network. The pattern(s) may be received while the host device 372 (e.g., processor 374, memory 376, and/or first transceiver 378) is in the inactive state. The second transceiver 380 may provide the received pattern(s) to the tracking device 384.

[0056] In some examples, the tracking device 384 may determine whether the pattern (e.g., the received pattern(s)) matches a stored pattern (e.g., pattern data B 382b). For instance, the tracking device 384 may determine whether the number(s) and/or character(s) of the received pattern matches the number(s) and/or character(s) of pattern data B 382b. The controller 386 may wake the controller 386 in a case that the pattern (e.g., received pattern) matches the stored pattern (e.g., pattern data B 382b). For instance, the tracking device 384 may send a signal to the controller 386 to activate the controller 386. [0057] In some examples, the controller 386 may wake the processor 374 and may execute a command corresponding to the pattern (e.g., received pattern and/or stored pattern) in the case that the pattern matches the stored pattern. For example, the controller 386 may send a signal to the processor 374 that causes the processor 374 (and/or memory 376 and/or first transceiver 378 and/or host device 372) to enter an active state. The controller 386 may execute a command (e.g., lock command, wipe command, and/or alert command). For example, the controller 386 may execute instructions to perform the command, and/or may provide an instruction to the processor 374 to execute the command. For example, the controller 386 may execute a wipe command by instructing the processor 374 to delete data in the memory 376, to lock the host device 372, and/or to output an alert.

[0058] FIG. 4 is a block diagram illustrating an example of a computer- readable medium 488 for waking broadcasts. The computer-readable medium 488 may be a non-transitory, tangible computer-readable medium 488. The computer-readable medium 488 may be, for example, RAM, EEPROM, a storage device, an optical disc, and the like. In some examples, the computer- readable medium 488 may be volatile and/or non-volatile memory, such as DRAM, EEPROM, MRAM, PCRAM, memristor, flash memory, and the like. In some examples, the computer-readable medium 488 described in FIG. 4 may be an example of the memory 106 described in FIG. 1. In some examples, code (e.g., data and/or executable code or instructions) of the computer-readable medium 488 may be transferred and/or loaded to memory or memories of an electronic device.

[0059] The computer-readable medium 488 may include code (e.g., data and/or executable code or instructions). For example, the computer-readable medium 488 may include request storage instructions 490, device data searching instructions 492, request determination instructions 494, and/or command instructions 496.

[0060] In some examples, the request storage instructions 490 may be instructions, when executed, that cause a processor of an electronic device to store request information for a target device. For example, an electronic device (e.g., computing device 102) may receive and store request information corresponding to a target device as described in FIG. 1 and/or FIG. 2. For instance, an electronic device may utilize a target device identifier received with the request information to store the request information in association with the target device.

[0061] In some examples, the device data searching instructions 492 may be instructions, when executed, that cause a processor of an electronic device to search device data for a target device based on receiving a target device detection notification. For example, the device data searching instructions 492 may be executed to cause a processor to search device data for data corresponding to a target device as described in FIG. 1 and/or FIG. 2. For instance, the processor may utilize an identifier of the target device received with the target device detection notification to look up data corresponding to a target device.

[0062] In some examples, the request determination instructions 494 may be instructions, when executed, that cause a processor of an electronic device to determine that there is a pending request for the target device. For example, the processor may determine a pending request as described in FIG. 1 and/or FIG. 2. For instance, the processor may determine that an entry in the device data for the target device indicates that there is a pending request (e.g., waking request, lock request, wipe request, and/or alert request).

[0063] In some examples, the command instructions 496 may be instructions, when executed, that cause a processor of an electronic device to send a waking broadcast command and a command associated with the pending request indicated by the request information to a selected ad-hoc device or devices. The waking broadcast command may include a pattern that is unique to the target device. For example, the processor may send the commands as described in FIG. 1 and/or FIG. 2. For instance, the processor may send the commands with a pattern unique to the target device.

[0064] In some examples, the computer-readable medium may include selection instruction. The selection instructions may be instructions, when executed, that cause a processor of an electronic device to determine the selected ad-hoc device or devices based on time stamp data. For example, the processor may determine the selected ad-hoc device as described in FIG. 1. For instance, the selection instructions, when executed, may cause the processor to determine that a time stamp indicated by the time stamp data is within a time threshold.

[0065] As used herein, the term “and/or” may mean an item or items. For example, the phrase “A, B, and/or C” may mean any of: A (without B and C), B (without A and C), C (without A and B), A and B (but not C), B and C (but not A), A and C (but not B), or all of A, B, and C.

[0066] While various examples are described herein, the disclosure is not limited to the examples. Variations of the examples described herein may be within the scope of the disclosure. For example, operations, functions, aspects, or elements of the examples described herein may be omitted or combined.