Separation alerts for notifications while traveling

The method optimizes wireless connectivity alerts by detecting movement from trusted locations and monitoring accessory devices to send separation notifications only when necessary, reducing false alarms.

JP2025124649AActive Publication Date: 2025-08-26APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025076314
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-11-12
Filing Date
2025-05-01
Publication Date
2025-08-26
Estimated Expiration
2042-05-04

AI Technical Summary

Technical Problem

Existing systems alert users about loss of wireless connectivity too frequently, making notifications meaningless.

Method used

A method executed by electronic device processors to detect movement beyond a threshold distance from a trusted location, monitor wireless connections with accessory devices, and send separation notifications only when a loss of connection is detected, using geofencing and beacon scanning to optimize alerts.

Benefits of technology

Reduces unnecessary alerts by providing separation notifications only when the device moves out of a trusted area, ensuring alerts are meaningful and timely.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025124649000001_ABST
    Figure 2025124649000001_ABST
Patent Text Reader

Abstract

To provide a system and method of locating wireless devices and accessories.SOLUTION: In a method, movement beyond a threshold distance is detected from a trusted location. The method includes, in response to the detection, receiving an indication that at least one accessory device is nearby an electronic device, storing information on a status of a wireless connection with the at least one accessory device, receiving an indication that the electronic device is in transit, monitoring the wireless connection for the at least one accessory device, and upon detection of a lost wireless connection for the at least one accessory device, sending a separation notification.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of priority to U.S. Provisional Application No. 63 / 185,926, entitled "Separation Alerts for Notification while Traveling," filed May 7, 2021, U.S. Provisional Application No. 63 / 197,317, entitled "Separation Alerts for Notification while Traveling," filed June 4, 2021, and U.S. Patent Application No. 17 / 525,779, entitled "Separation Alerts for Notification while Traveling," filed November 12, 2021, each of which is incorporated herein by reference.

[0002] FIELD OF THE INVENTION The embodiments described herein generally relate to systems and methods for locating wireless devices and accessories. [Background technology]

[0003] When a device loses wireless connectivity with another device, the user can be alerted to the loss of connectivity as soon as the wireless connection is lost, regardless of whether the loss of connectivity may be temporary. As a result, previous alerts about loss of wireless connectivity surfaced too frequently to be meaningful. Summary of the Invention

[0004] In one embodiment, a method, executed by one or more processors of an electronic device to provide a separation notification, provides detecting movement beyond a threshold distance from a trusted location; and in response to the detecting, receiving an indication that at least one accessory device is near the electronic device, storing information regarding the status of a wireless connection with the at least one accessory device, receiving an indication that the electronic device is moving, monitoring the wireless connection for the at least one accessory device, and sending a separation notification upon detecting a loss of the wireless connection to the at least one accessory device.

[0005] In one embodiment, a method, executed by one or more processors of an electronic device to provide a separation notification, provides detecting movement beyond a threshold distance from a trusted location; and in response to the detecting, receiving an indication that at least one accessory device is near the electronic device and storing information regarding the status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is located at a known location and monitoring a geofence for the known location; monitoring the wireless connection to the at least one accessory device upon receiving an indication of crossing a geofence boundary; and sending a separation notification upon detecting a loss of the wireless connection to the at least one accessory device.

[0006] In one embodiment, a method, executed by one or more processors of an electronic device for providing a separation notification, includes detecting movement beyond a threshold distance from a trusted location; and in response to the detecting, receiving an indication that at least one accessory device is near the electronic device and storing information about the at least one accessory device; receiving an indication that the electronic device is moving; increasing a rate of beacon scanning upon detecting crossing a geofence boundary of the trusted location; and upon receiving beacon data, sending a separation notification if the beacon data does not indicate that at least one accessory device is near.

[0007] In one embodiment, a method executed by one or more processors of an electronic device to provide a separation notification includes receiving an indication of being located at a known location; receiving an indication that at least one accessory device is near the electronic device; storing information about the at least one accessory device; increasing a rate of beacon scanning for a defined period of time upon detecting crossing a geofence boundary of the known location; and upon receiving beacon data, sending a separation notification if the beacon data does not indicate that at least one accessory device is near. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a block diagram of a network operating environment for a mobile device, according to one embodiment.

[0009] [Figure 2] 1 illustrates a system for locating a wireless accessory, according to one embodiment.

[0010] [Figure 3]1 illustrates a system for pairing and locating a wireless accessory, according to an embodiment.

[0011] [Figure 4] FIG. 1 is a flow diagram illustrating a method for use in a device locator system, according to one embodiment.

[0012] [Figure 5] 1 is a timeline for providing separation notification while a mobile device is in motion, according to one embodiment.

[0013] [Figure 6] 1 is a timeline for providing separation notification for a mobile device in a known untrusted location, according to one embodiment.

[0014] [Figure 7] 1 is a timeline for providing separation notification while a mobile device is in motion, according to one embodiment.

[0015] [Figure 8] 1 is a timeline for providing separation notification for a mobile device in a known untrusted location, according to one embodiment.

[0016] [Figure 9] FIG. 1 is a flow diagram illustrating bookkeeping that may be used in some embodiments of the present invention.

[0017] [Figure 10] FIG. 10 is a flow diagram illustrating providing a detachment notification to a connected accessory device in one embodiment.

[0018] [Figure 11A] FIG. 10 is a flow diagram illustrating providing a detachment notification in one embodiment. [Figure 11B] FIG. 10 is a flow diagram illustrating providing a detachment notification in one embodiment.

[0019] [Figure 12] FIG. 10 is a flow diagram illustrating beacon scanning in one embodiment.

[0020] [Figure 13] FIG. 10 is a flow diagram illustrating providing a detachment notification to an unattached accessory device in one embodiment.

[0021] [Figure 14] 1 illustrates a device locator UI according to one embodiment. [Figure 15] 1 illustrates a device locator UI according to one embodiment. [Figure 16] 1 illustrates a device locator UI according to one embodiment. [Figure 17] 1 illustrates a device locator UI according to one embodiment. [Figure 18] 1 illustrates a device locator UI according to one embodiment.

[0022] [Figure 19] FIG. 1 is a block diagram illustrating an exemplary API architecture that may be used in some embodiments of the present invention.

[0023] [Figure 20] FIG. 1 is a block diagram of a device architecture for a mobile or embedded device, according to one embodiment.

[0024] [Figure 21] FIG. 1 is a block diagram of a computing system, according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0025] The embodiments described herein provide techniques for enabling separation notification and locator services for lost or misplaced devices or items. Various embodiments are described with reference to figures. However, certain embodiments may be practiced without one or more of these specific details and in combination with other known methods and configurations. In the following description, numerous specific details are set forth, such as specific configurations, dimensions, and processes, to provide a thorough understanding of the embodiments. In other instances, well-known semiconductor processes and manufacturing techniques are not described in particular detail so as not to unnecessarily obscure the embodiments. Throughout this specification, references to "one embodiment" mean that a particular feature, structure, configuration, or characteristic described in connection with that embodiment is included in at least one embodiment. Thus, references to the phrase "in one embodiment" in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, particular features, structures, configurations, or characteristics may be combined in any suitable manner in one or more embodiments.

[0026] In the following description, a computing device including a touch-sensitive display is described. However, it should be understood that the computing device may include one or more other physical user interface devices. Various applications that may be executed on the device may use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device may be adjusted and / or changed from one application to the next and / or within each application. In this way, a common physical architecture of the device (such as a touch-sensitive surface) may support a variety of applications with intuitive and transparent user interfaces.

[0027] Some processes are described below with respect to some sequential operations. However, it should be understood that some of the described operations may be performed in a different order. Furthermore, some operations may be performed in parallel rather than sequentially.

[0028] FIG. 1 is a block diagram of a network operating environment 100 for mobile devices, according to one embodiment. The network operating environment 100 includes multiple mobile devices, such as a mobile device 102A and a mobile device 102B, and an accessory device. Each of the mobile devices 102A-102B can be any electronic device capable of communicating with a wireless network and a wireless accessory device. Some exemplary mobile devices include, but are not limited to, smartphones, tablet computers, notebook computers, wearable computers (e.g., smartwatches or other wearable computing accessories), mobile media players, personal digital assistants, earpods, locator tags, headphones, head-mounted displays, health equipment, and other similar devices. Each of the mobile devices 102A and 102B can optionally include a user interface, such as the user interface 104 of the mobile device 102B. In other embodiments, the mobile device 102A, as an accessory device, may not have a user interface. The mobile device 102A can be a third-party device that utilizes an application programming interface to access a device locator service. The third-party devices may be provided by a different device manufacturer or may be part of a different ecosystem (e.g., operating system) than the mobile devices 102A and 102B. The mobile devices 102A and 102B may communicate over one or more wired and / or wireless networks 110 to perform data communications. For example, the wireless network 112 (e.g., a cellular network, a Wi-Fi network) may communicate with a wide area network 114, such as the Internet, by using a gateway 116. Similarly, an access device 118, such as a mobile hotspot wireless access device, may provide communication access to the wide area network 114.The gateway 116 and the access devices 118 may then communicate with the wide area network 114 via a combination of wired and / or wireless networks.

[0029] In some implementations, both voice and data communications may be established via the wireless network 112 and / or the access device 118. For example, the mobile device 102A may make and receive telephone calls (e.g., using a VoIP protocol), send and receive email messages (e.g., using a POP3 protocol), and retrieve electronic documents and / or streams, such as web pages, photos, and videos, via the wireless network 112, the gateway 116, and the wide area network 114 (e.g., using a TCP / IP or UDP protocol). In some implementations, the mobile device 102A may make and receive telephone calls, send and receive email messages, and retrieve electronic documents via the access device 118 and the wide area network 114. In some implementations, the mobile device 102A or the mobile device 102B may be physically connected to the access device 118 using one or more cables, for example, if the access device 118 is a personal computer. In this configuration, the mobile device 102A or the mobile device 102B may be referred to as a “tethered” device. In one embodiment, mobile device 102A can communicate with mobile device 102B over a wireless peer-to-peer connection 120. The wireless peer-to-peer connection 120 can be used to synchronize data between the devices.

[0030] Mobile device 102A or mobile device 102B can communicate with one or more services, such as telephony service 210, messaging service 140, media service 150, storage service 160, and device locator service 170, via one or more wired and / or wireless networks 110. For example, telephony service 130 can enable telephone communications between mobile device 102A and mobile device 102B or between a mobile device and a wired telephone device. Telephony service 130 can route Voice over IP (VoIP) calls over wide area network 114 or can access a cellular voice network (e.g., wireless network 112). Messaging service 140 can provide, for example, email and / or other messaging services. Media service 150 can provide access to media files, such as, for example, song files, audiobooks, movie files, video clips, and other media data. Storage service 160 can provide network storage capabilities for mobile device 102A and mobile device 102B to store documents and media files. The device locator service 170 may enable a user to locate a lost or misplaced device that was, at least at some point, connected to one or more wired and / or wireless networks 110. Other services may also be provided, including a software update service for updating operating system or client software on the mobile device. In one embodiment, the messaging service 140, the media service 150, the storage service 160, and the device locator service 170 may each be associated with a cloud service provider, and the various services are facilitated via a cloud service account associated with the mobile device 102A-102B.

[0031] Mobile devices 102A-102B may have locally accessible applications, services, and features on the device, including location services 180. In particular, devices 102A-102B may have a device locator application (e.g., a "Find my" application) 190 to utilize device locator service 170 and location services 180. Locally accessible data may be stored in known locations 182 and secure or trusted locations 184. In some cases, machine learning algorithms 186 may be used to identify known locations 182 and / or trusted locations 184. Cluster analysis is provided as an example of a machine learning algorithm that may be used, but those skilled in the art will recognize that other algorithms may be used to identify potential known or trusted locations. By way of example, cluster data analysis may be used to identify, classify, and provide semantic labels for locations, such as locations frequently visited by a user. Particular secure or trusted locations 184 may be explicitly designated or confirmed as such by the user of device 102A-B after data analysis. In other examples, known locations 182 or trusted locations 184 may be classified offline and provided by the device locator service 170 or a third party (eg, a database with map information).

[0032] On-device heuristics and / or machine learning models may be used to infer relationships between users and locations based on analysis of locally stored data of frequently visited locations. For example, frequently visited locations such as home, car, work, and / or any other location may be designated by the user as trusted locations 184. Known locations 182 may be business locations, public spaces, parks, museums, and / or any other locations the user may frequently visit. Boundary information for each stored location may be stored along with a classification type for the location and any semantic labels assigned to the location. The stored information may include a defined set of boundaries or a radius distance around a point location to enable creation of a geofence for the location. A geofence is a virtual boundary of a real-world geographic area. A global positioning system (GPS) may be used to create a virtual fence around a location and track the physical location of mobile devices 102A-B within the geofence boundary as well as entry and exit into the bounded area.

[0033] The machine learning algorithm 186 may include on-device heuristics, machine learning algorithms, or a combination thereof, to analyze and assign a label related to the device's movement or motion, such that it is designated as being in an "in motion" or "stable" state at a particular location for a period of time. The analysis may be performed using various signals from data sources available to the mobile device 102B, including, but not limited to, sensor data, positioning data, calendar data, transit card usage data, application data, historical data related to travel patterns / routines, and / or any other data accessible to the mobile device 102B. In some embodiments, the mobile device 102B may be classified with a "stable" semantic label after remaining within the geographic boundaries defining a location (e.g., trusted location 184) for a defined period of time. In the simplest case, positioning data for the mobile device 102B may remain within the boundaries of a geofence for a particular location for a certain duration (e.g., five minutes). Sensor data, such as accelerometer data, may indicate that the mobile device 102B is stationary, supporting the inference that it is stable. Application data may support an inference that the mobile device 102B is in a steady state, such as being located at a calendar appointment location. Application data indicating the type of application in use may also provide an inference that the device is in a steady state, such as using a media application. A user's historical data regarding on-the-go routines or patterns may be used to determine whether the mobile device 102B is in a steady state, such as a bedtime routine at home or a hotel location. The mobile device 102B may be classified as having an "on-the-go" label based on previous behavior, patterns, or routines for the user and analyzed on the mobile device 102B. For example, a user may have a routine of going to work at the same time every day, and if data on the device supports that the pattern is repeated, an "on-the-go" state may be assigned.In the simplest case, the speed at which a mobile device is moving or entering or leaving a known geographic area (e.g., using a geofence) may allow for the inference that the mobile device 102B is in motion. If the mobile device 102B is detected accelerating in a known transit area (e.g., a road, highway, railroad line, etc.), the mobile device 102B may be given an "in motion" status. Similarly, if a transit application / card is used / in use, the mobile device 102B may be designated as "in motion."

[0034] FIG. 2 illustrates a system 200 for locating a wireless accessory 201, according to one embodiment. In one embodiment, the wireless accessory 201 is an accessory device 102A, includes one or more wireless transceivers, and can communicate either directly or indirectly (e.g., through another device or computer) with a companion device (e.g., a mobile device 102B) over a wireless network or a peer-to-peer communication link. Some examples of wireless accessory devices include, but are not limited to, wireless earbuds, headphones, headsets, fitness equipment, and other wearable devices (e.g., smart watches, fitness bands, optical head-mounted displays). The wireless accessory 201 can also include other wireless devices, such as a game controller or remote control. In one embodiment, the wireless accessory 201 also includes a smartphone, tablet computer, laptop computer, smart speaker device, television, or television set-top box that, at least temporarily, is unable to access a wide area network such as the Internet (e.g., wide area network 114 of FIG. 1 ). The wireless accessory may also be any other wireless device, including a beacon or locator tag that can be attached to other devices to enable tracking or locating the other devices. In one embodiment, the wireless accessory 201 can pair with the mobile device 102B using a wireless technology standard such as, but not limited to, Bluetooth®. The wireless accessory 201 can also communicate with the mobile device 102B via wireless technologies such as Wi-Fi Direct, Zigbee®, or AirPlay. The companion device with which the wireless accessory 201 is paired is generally referred to as the mobile device 102B, although the companion device is not limited to a mobile device. The companion device can also include a laptop or desktop device in some embodiments, and in addition, can include some wearable accessories, such as, but not limited to, a smartwatch device or a wearable display.

[0035] In one embodiment, the wireless accessory 201 may periodically transmit a wireless beacon signal. The wireless accessory 201 may transmit the beacon signal using one of the various wireless technologies described herein (e.g., Bluetooth, Wi-Fi, etc.), and in one embodiment may also transmit the beacon using ultra-wideband (UWB) wireless technology. The beacon signal may be transmitted using a single wireless technology, one of multiple selectable wireless technologies, or multiple simultaneous wireless technologies. The beacon signal may transmit a beacon identifier that includes information to specifically identify the wireless accessory 201. In one embodiment, the beacon identifier is a public encryption key associated with the device.

[0036] The beacon signal may also communicate information about the wireless accessory 201, such as beacon type, device classification, battery level, etc. In one embodiment, the beacon signal may also communicate a device status, such as a lost status, an alarm status, an away from owner status, or a near to owner status. The beacon signal may also include information specifying battery life, charging status, and / or other status information. A lost status or an "away from owner" status may indicate that the wireless accessory 201 has determined itself lost or has been placed in a lost state by the device's owner. An alarm status may indicate that the wireless accessory 201 has been placed in a status that should trigger an alarm if the device is moved from its current location. A near to owner status may indicate that the wireless accessory 201 has detected the nearby presence of a mobile device 102B associated with the accessory's owner.

[0037] In some embodiments, the beacon signals can be detected by a finder device (not shown) in local proximity to the wireless accessory 201 to use crowdsourcing to locate the lost wireless accessory 201. The finder device can be a device similar to the mobile device 102B and can transmit and receive data over the wide area network 114 and / or using a wireless technology similar to the wireless accessory 201 (e.g., Bluetooth, etc.). In particular, the finder device can receive data using the wireless protocol over which the beacon signals are transmitted. The finder device can determine its location using one or more location and / or positioning services, including, but not limited to, satellite positioning services 206 or terrestrial positioning systems using RF signals received from wireless base stations 205, such as Wi-Fi access points or cell tower transmitters of a cellular telephone network. In one embodiment, the finder device periodically stores its location determined based on one or more location and / or positioning services. The stored location can be associated with a timestamp at which the location was determined. When the finder device receives a beacon signal from the wireless accessory 201, the finder device may transmit the location of the finder device to the device locator server 203 over the wide area network 114. A timestamp of the finder device's determined location may be correlated with the timestamp at which the beacon signal was received to associate a geographic location with the received beacon signal.

[0038] If the wireless accessory 201 provides a public key in the beacon signal, the finder device can encrypt the determined location data and transmit the encrypted location data to the device locator server 203 over the wide area network 114. In one embodiment, additional data can be encrypted and transmitted with the location data, or transmitted unencrypted to the device locator server 203. For example, a received signal strength indicator (RSSI) of the beacon signal can be transmitted with the location data. The RSSI data can then be used to determine the distance of the wireless accessory 201 from the finder device and assist in triangulation on the owner device. If the RSSI data is transmitted unencrypted, in one embodiment, the server can use the RSSI information to reduce noise by discarding very weak signals in the presence of other stronger signals. In one embodiment, UWB ranging data can also be provided, where such data is available.

[0039] In one embodiment, when a finder device receives a beacon signal from a wireless accessory 201, it can behave differently depending on the device status communicated by the wireless accessory 201. For standard beacon signals, the finder device can queue encrypted location data and transmit the location data to the device locator server 203 during periodic transmission windows. However, if the wireless accessory 201 indicates an alarm condition, the finder device can immediately transmit the location data to the device locator server 203. Additionally, if the beacon signal of the wireless accessory 201 indicates that the accessory is near the accessory's owner, the finder device may not transmit the location data to the device locator server 203. Alternatively, the finder device may delay transmitting the encrypted location data.

[0040] If the owner of the wireless accessory 201 wishes to locate the location of the wireless accessory, the owner can access a device locator user interface 204 on the mobile device 102B. The device locator user interface 204 may be associated with a device locator application used to locate electronic devices and accessories registered to a user's online account, such as a cloud service account or another type of online account. The device owner can use the device locator UI 204 to query the device locator server 203 for location data that may have been sent to the device locator server by the finder device of the wireless accessory 201. In one embodiment, the mobile device 102B can send a public encryption key associated with the wireless accessory 201 to the device locator server 203. The device locator server 203 can then return any stored location data that corresponds to the public encryption key. The location data returned to the mobile device 102B can be encrypted data encrypted by the finder device using the public encryption key. The mobile device 102B can decrypt the encrypted location data using the associated private key. The decoded location data may then be processed by the mobile device 102B to determine the most likely location of the wireless accessory 201. In various embodiments, the most likely location of the wireless accessory 201 may be determined by triangulation from multiple received locations and using other data, such as the beacon signal RSSI associated with each location and timestamps or UWB ranging data included within the location data.

[0041] 3 illustrates a system 300 for pairing and locating a wireless accessory according to embodiments described herein. In one embodiment, a mobile device 102B (e.g., an example of device 102A) of a user of a wireless accessory 201 can present an accessory pairing UI 302 that allows the user to pair the mobile device 102B with the wireless accessory 201. During initial pairing (305) between the mobile device 102B and the wireless accessory 201, a public key exchange (310) can be performed between the mobile device and the wireless accessory 201. In one embodiment, during the public key exchange (310), the mobile device 102B and the wireless accessory 201 exchange public keys of a public key pair generated by the device and the wireless accessory 201. In one embodiment, the public key exchange (310) is a one-way transfer in which the mobile device 102B sends the public key of a public / private key pair to the wireless accessory 201. Alternatively or additionally, the public key exchange (310) may be a Diffie-Hellman key exchange in which the device and accessory establish a shared secret between the two parties. In one embodiment, the public key exchange (310) also establishes the shared secret using elliptic curve cryptography. For example, elliptic curve Diffie-Hellman (ECDH) may be used to enable the establishment of a public key pair and one or more shared secrets. In one embodiment, the one or more shared secrets include an anti-tracking secret from which the wireless accessory 201 can periodically derive additional public keys.

[0042] After the wireless accessory 201 is paired with the mobile device 102B, the wireless accessory 201 can periodically broadcast a beacon signal 301 that includes device status information and a beacon identifier. In one embodiment, the beacon identifier is a public key derived from a shared secret established during a public key exchange (310). Additionally, the wireless accessory 201 can periodically perform a public key derivation (315) to generate a new public key and begin broadcasting the new public key as a beacon identifier. The public key is a K-byte key, and a new K-byte key is generated every M minutes. The values ​​K and M can vary between embodiments. In one embodiment, a K value of 28 bytes is used. In one embodiment, a K value of 27 bytes is used. The value K can be determined based at least in part on a beacon length associated with a wireless protocol used to transmit the beacon signal 301. In one embodiment, the beacon signal can transmit a variant of a beacon advertisement packet associated with a low energy wireless protocol, such as Bluetooth® Low Energy.

[0043] In one embodiment, the value M is 15 minutes, and a new K-byte key is generated every 15 minutes. The public key can be derived deterministically based on the timestamp and the anti-tracking secret generated during public key exchange 310. The public key derivation (315) process allows the wireless accessory 201 to use different keys over time, preventing long-term association of a particular key with a particular device. The key can be derived based on the anti-tracking secret known only to the mobile device 102B and the wireless accessory 201, allowing only the mobile device 102B and the mobile device to determine which public key is broadcast by the wireless accessory 201 at any given timestamp. The anti-tracking secret can be generated along with the ECDH public key and transferred to the wireless accessory 201. The anti-tracking secret can then be used to enable the wireless accessory 201 to generate a sequence of public keys Pi. In one embodiment, the sequence of public keys Pi = λi · P defines a group operation between a scalar or exponent value λi and a group element, such as an elliptic curve point P. A scalar or exponential value λ=KDF(AT,i), where KDF is a key derivation function, AT is an anti-tracking secret, and i is a counter or timestamp.

[0044] In one embodiment, backtracking resistance can be enabled to protect the anti-tracking secret if the wireless accessory 201 is compromised. When backtracking resistance is enabled, the anti-tracking secret is transferred to the wireless accessory 201 but is not retained by the wireless accessory. Instead, the accessory calculates the value λi+1 = H(λi||time), where λo = A T and H is a cryptographic hash function. The wireless accessory 201 then stores λi for a given period of time i. If the wireless accessory 201 is compromised, only the current and future values ​​of i, λi, are exposed, not the anti-tracking secret A T. In one embodiment, backtracking resistance is performed by periodically writing λi to the non-volatile memory of the wireless accessory 201.

[0045] In one embodiment, the wireless accessory 201 may transmit a beacon signal 301 every two seconds, although other beacon rates may be used, and the beacon rate may change under certain circumstances. For example, the wireless accessory 201 may decrease its beacon rate when in close proximity to its owner. The beacon rate may also change based on an event triggered by an accelerometer. For example, the wireless accessory 201 may increase its beacon rate when in an alarm state, which may be triggered by an accelerometer on the wireless accessory 201.

[0046] The wireless accessory 201 may enter the near-owner state if, after transmitting the beacon signal 301, the wireless accessory 201 receives a response from the mobile device 102B associated with the accessory's user indicating that the mobile device 102B is within range of the wireless accessory. Additionally, while the wireless accessory is in the near-owner state, the amount of data transmitted by the beacon signal 301 may be reduced. In one embodiment, the rate at which new public keys are generated may also be reduced while the wireless accessory is in the near-owner state.

[0047] The wireless accessory 201 can enter an alarm state upon receiving a message from the mobile device 102B indicating that the wireless accessory 201 should enter an alarm state. When in the alarm state, the wireless accessory can first enter an armed state in which the wireless accessory 201 can reduce or stop transmitting locator beacon signals, although other types of wireless signaling can continue. The wireless accessory 201 can remain in the armed state until the state is deactivated by the mobile device 102B or an alarm is triggered. In one embodiment, the alarm can be triggered when movement is detected, for example, via an accelerometer within the wireless accessory 201. In one embodiment, the alarm can also be triggered when the wireless accessory detects that it has moved out of range of the mobile device and is no longer in proximity to its owner. When an alarm is triggered, the rate of the beacon signal 301 can be increased to increase the speed at which the wireless accessory 201 can be located.

[0048] The beacon signal 301 transmitted by the wireless accessory 201 can be detected by a set of finder devices 303 and / or mobile devices 102B, which are other electronic devices capable of receiving the beacon signal transmitted by the wireless accessory and transmitting location and other data associated with the beacon signal 301 to the device locator server 203 over the wide area network 114. In one embodiment, the set of finder devices 303 can include variations of mobile devices 102B or can be other types of electronic devices. For example, the set of finder devices can perform an operation (320) to correlate the beacon signal 301 received from the wireless accessory 201 with a device location associated with the finder device. As described with respect to FIG. 2 , device location can be determined via a satellite positioning service or a terrestrial positioning system using RF signals received from wireless base stations (e.g., Wi-Fi access points or cell tower transmitters). In one embodiment, the set of finder devices 303 can also include fixed devices, such as smart speaker devices, televisions, or television set-top boxes, capable of receiving the beacon signal 301.

[0049] The set of finder devices 303 may encrypt the location data using the beacon identifier (e.g., public key) received in the beacon signal 301 and transmit the location data (325) to the device locator server 203. The data transmitted by the set of finder devices 303 is transmitted anonymously, and the identification information of the finder devices is not stored with the data transmitted by the finder devices.

[0050] The device locator server 203 can store the encrypted location data in a data store 304, which in one embodiment can be a distributed database having multiple nodes. A hash of the accessory's beacon identifier / public key can be transmitted along with the encrypted location data. The encrypted location data can be stored in a database node based on the hash of the beacon identifier. The encrypted location data can be indexed by the device locator server 203 using the hash of the beacon identifier. Transmitting the hash of the beacon identifier instead of the full beacon identifier prevents storage of the full beacon identifier in the server. Other information, either encrypted or unencrypted, can also be transmitted and stored along with the location data. The other information can include a timestamp of when the beacon signal 301 was received, RSSI information of the received beacon, and / or ranging information determined, for example, via UWB ranging.

[0051] When a user or owner of the wireless accessory 201 wishes to locate the accessory, the user or owner can access a device locator UI 204 on the mobile device 102B. The device locator UI 204 may be associated with a locator application 190 or a feature of the mobile device 102B. The device locator UI 204 may also have a web-based interface that can be accessed from the mobile device 102B or another type of electronic device, such as a laptop or desktop device. Once the mobile device 102B loads the device locator UI 204, it can send a request (330) for location data to the device locator server 203. The request 330 can include a set of public keys or public key hashes that can serve as beacon identifiers for the beacon data. The mobile device 102B can generate a set of public keys based on secret information maintained by the mobile device 102B and the wireless accessory 201 and a timestamp at which the mobile device 102B wishes to receive location data. In one embodiment, the set of public keys is a sequence Pi of public keys generated based on the tracking prevention secret. The sequence of public keys Pi corresponds to a matching sequence of private keys di. The mobile device 102B can generate the sequence of public keys and the corresponding sequence di of public keys, where i is a counter or timestamp. In one embodiment, the mobile device 102B can generate and send in the request 330 public keys for the previous 24 hours (or hashes of the 24 hours of public keys). If no data is found for the 24 hours of public keys, the mobile device 102B can send generated keys for an earlier period to revert to the predetermined location data retention limit.

[0052] In one embodiment, the encrypted location data is stored and indexed based on a hash of the public key instead of the public key to prevent location service data providers from storing data that can be used to tie the encrypted location data to a particular device and therefore to a particular user or user account. A finder device can transmit a hash of the public key broadcast in a beacon signal 301 associated with the observed location. The device owner can query the device locator server 203 using the hash of the public key determined for the query period.

[0053] In some embodiments, when a location query is performed via a web-based interface from an electronic device such as a laptop or desktop device, a key to enable decryption of the location data may be required to be sent to the electronic device. In one embodiment, a decryption key for the location data may be sent to a server providing the web-based interface to enable the server to decrypt the location data, at least while the location data is being viewed via the web-based interface. Before the location data is displayed via the web-based interface, a notice may be presented to inform the user that a location decryption key has been temporarily shared with the web-based interface server to enable the location data to be decrypted and presented. In one embodiment, sharing of the location decryption key may be performed via automatic and temporary delegation of location query rights by a proxy account associated with the web-based interface.

[0054] In one embodiment, the wireless accessory 201 can be placed in simple lost mode. In simple lost mode, a set of future public keys can be generated for the wireless accessory and sent to the device locator server 203. The device locator server 203 can then notify the mobile device 102B whether any location data corresponding to a key in the set of future public keys has been received. In one embodiment, a finder device transmitting the location of a wireless accessory in simple lost mode can instruct the device locator server 203 to relay a message to the wireless accessory 201 informing the wireless accessory that it is in simple lost mode. A similar mechanism can be used to relay a message to the wireless accessory 201 that puts the accessory into explicit lost mode. Explicit lost mode can be enabled by the user via the device locator UI 204. In explicit lost mode, the wireless accessory 201 cannot be paired with another device unless it is unlocked by the owner. Further examples of paired devices using location services can be found in U.S. Patent Application No. 16 / 543,227, entitled "A System and Method for Locating Wireless Accessories," filed August 16, 2019, which is incorporated herein by reference in its entirety.

[0055] 4A and 4B are flow diagrams illustrating methods for use with the device locator system described herein. FIG. 4A illustrates a method 400 for pairing a mobile device with a wireless accessory. The following operational description aspects refer to a mobile device 102B, a wireless accessory 201 (e.g., 102A), and a device locator server 203.

[0056] As shown in FIG. 4 , method 400 includes an act of performing initial pairing with a wireless accessory (block 401). The initial pairing can be Bluetooth® pairing or another type of pairing using other wireless radio technologies. During initial pairing, the mobile device and wireless accessory can exchange identifiers, passkeys, or other authentication information that enables wireless data exchange to occur between the mobile or other electronic device and the wireless accessory. In one embodiment, the initial pairing with the wireless accessory can include an exchange of authentication information associated with the wireless protocol over which pairing is being performed, allowing all data exchanged wirelessly to have at least a first layer of encryption.

[0057] The mobile device may then generate a public / private key pair and one or more additional shared secrets (block 402). The device may then send the public key and one or more additional shared secrets to the wireless accessory (block 403). Various key generation techniques may be used. In one embodiment, a variant of ECDH is used to generate the public key pair for encryption. In one embodiment, the one or more additional shared secrets may include an anti-tracking secret that allows the wireless accessory to derive a new public key based on an existing public key.

[0058] After generating the public / private key pair and one or more additional shared secrets, the mobile device may store the public / private key pair in a key store (block 404). In one embodiment, the key store is a cloud-based key store that may be synchronized with other devices associated with the same cloud service account or family of cloud service accounts with which the mobile device and wireless accessory are associated. The cloud-based key store allows the wireless accessory to be located by other synchronized devices. The mobile device may then register the wireless accessory with a device management server (block 405). Registering the wireless accessory with the device management server may form an association between the wireless accessory and the cloud service account with which the mobile device is associated. The device management server may be associated with other cloud-based servers used to facilitate cloud-based services accessible to mobile devices, such as device locator server 203 of FIGS. 2 and 3 . Further examples of paired devices using location services can be found in U.S. Patent Application No. 16 / 543,227, entitled "A System and Method for Locating Wireless Accessories," filed August 16, 2019, which is incorporated herein by reference in its entirety.

[0059] 5 is a timeline 500 for providing a separation notification while a mobile device 102B is in motion, according to one embodiment. In one embodiment, the mobile device 102B is paired with the accessory device 102A and has a wireless connection, such as a Bluetooth connection. Thus, the accessory device 102A may be described as "tethered" to the mobile device 102B. When the accessory device 102A exits the trusted location 506 with the mobile device 102B, a separation notification may be provided to the tethered accessory device 102A while in motion.

[0060] In one embodiment, entry into the trusted location 502 may be detected 526 when the mobile device 102B crosses the boundary of a geofence defined and monitored for the trusted location 502. As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When a determination is made from positioning information (e.g., GPS) about the mobile device 102B that the mobile device 102B has entered a trusted location, a geofence for the trusted location may be established and monitored. In some embodiments, one or more signals may be used to determine whether the mobile device 102B has entered the location, is “stable” at the location, has exited the location, or is “in transit” from / to the location. Upon entering the trusted location 502, the wireless connection between the accessory device 102A and the mobile device 102B may be monitored 516. The wireless connection may continue to be monitored 516 while the mobile device 102B leaves the trusted location 504 and moves to an untrusted location 512 (eg, "in motion" state).

[0061] When movement is detected more than a threshold distance from the trusted location 506 after crossing the geofence boundary of the trusted location, the mobile device 102B may be characterized as having exited the trusted location and is in an “in motion” state 508 by the classifier. Bookkeeping 518 may be performed to determine each of the accessory devices 102A that are near the mobile device 102B as it exits the trusted location 506 and moves with the mobile device 102B while in the “in motion” state. Bookkeeping may include recording the status of a wireless connection between the mobile device 102B and each accessory device 102A determined to be between the mobile device 102B and the mobile device 102B at the time of exit 506. Beacon scanning may be performed at an increased rate in addition to monitoring each wireless connection to determine each device that is moving with the mobile device 102B. In particular, beacon data received from the beacon scanning 518 may include packets from the accessory device 102A that have at least one accessory device 102A status (e.g., close to the owner, far from the owner, etc.). Some embodiments may provide for storage of positioning information associated with the last status of the accessory device 102A.

[0062] Wireless connections with accessory devices 102A may be monitored (516), and upon detecting loss of wireless connection to at least one accessory device 102A, a detachment notification may be sent and presented on user interface 104 unless the connection is re-established. In the simplest case, monitoring wireless connections may involve testing (e.g., by attempting to send packets) to see if wireless connection to at least one accessory device exists. Bookkeeping may be performed to update the status of nearby devices (e.g., close to owner, far from owner, etc.) of mobile device 102B while it is moving.

[0063] If no loss of wireless connection is detected, wireless connection monitoring 516 stops upon detection of entry into untrusted location 528. The geofence of untrusted location 524 may be monitored to detect entry into untrusted location 510. Upon exiting untrusted location 514, bookkeeping is again performed (520) to update the status of any accessory device 102A (e.g., close to owner, far from owner, etc.).

[0064] While timeline 500 is presented as providing bookkeeping and separation notification upon exiting trusted location 504, one skilled in the art will recognize that the same provision of separation notification in timeline 500 may be performed upon exiting a known untrusted location. In some embodiments, timeline 500 repeats upon exiting untrusted location 514, and mobile device 102B continues to monitor accessory device 102A that was near mobile device 102B upon exiting trusted location 506. In yet another embodiment, additional accessory devices acquired upon exiting untrusted location 514 may optionally be monitored for separation from mobile device 102B.

[0065] 6 is a timeline 600 for providing a separation notification for a mobile device 102B that is in a "stable" state at an untrusted known location 182, according to one embodiment. In one embodiment, the mobile device 102B is paired with the accessory device 102A and has a wireless connection, such as a Bluetooth connection. Thus, the accessory device 102A may be described as "tethered" to the mobile device 102B. In one embodiment, if the accessory device 102A moves out of the trusted location 182 with the mobile device 102B, a separation notification may be provided to the tethered accessory device 102A at the untrusted location 606.

[0066] In one embodiment, entry into the trusted location 622 may be detected (626) when the mobile device 102B crosses the boundary of a geofence monitored for the trusted location 602. As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When a determination is made from positioning information (e.g., GPS) about the mobile device 102B that the mobile device 102B has entered a trusted location, a geofence for the trusted location may be established and monitored. In some embodiments, one or more signals may be used to determine whether the mobile device 102B has entered the location, is “stable” at the location, has exited the location, or is “in transit” from / to the location. Upon entering the trusted location (602), the wireless connection between the accessory device 102A and the mobile device 102B may be monitored (616). In the simplest case, monitoring the wireless connection may involve testing (e.g., by attempting to send packets) to see if a wireless connection exists to at least one accessory device. The wireless connection may continue to be monitored 616 while the mobile device 102B leaves the trusted location 604 and moves to an untrusted location 612 (eg, "in motion" state).

[0067] When movement beyond a threshold distance from the trusted location 606 is detected, the mobile device 102B may be characterized as having exited the trusted location and is in an "in motion" state 608 by the classifier. Bookkeeping 618 may be performed to determine each of the accessory devices 102A in the vicinity of the mobile device 102B upon detection of the user's entry of the mobile device 102B into an untrusted location 628 and exit of the untrusted location 620. Bookkeeping may include recording the status of a wireless connection between the mobile device 102B and each accessory device 102A determined to be between the mobile device 102B and the mobile device 102B upon entry 610 and exit 614. In addition to monitoring each wireless connection, beacon scans may be performed at a high rate to determine each accessory device 102A with the mobile device 102B upon entry into the untrusted location 620 and upon exit 614 from the known untrusted location 610. In particular, the beacon data received from active beacon scans 618 and 620 may include packets from the accessory device 102A having a status indicating whether the at least one accessory device 102A is near or far from the owner. Wireless connections with the accessory device 102A may be monitored (616), and upon detecting a loss of wireless connection to the at least one accessory device 102A, a separation notification may be sent and presented on the user interface 104 unless the connection is re-established. Bookkeeping may be performed to update the status of nearby devices for the mobile device 102B.

[0068] The geofence of the untrusted location 624 may be monitored to detect entry and exit 614 into the untrusted location 610. Upon exiting the untrusted location 604, bookkeeping is performed again (620) to update the status of any accessory devices 102A (e.g., accessory device 102A) that were near the mobile device 102B upon exiting the trusted location 614. The status may be updated to indicate whether the accessory device 102A has a wireless connection with the mobile device 102B or has lost connection. The status may also be updated to indicate whether beacon data has been received that provides information regarding the status of the accessory device 102A, such as whether the accessory device 102A is near or far from its owner. In some embodiments, the timeline 500 repeats upon exiting the untrusted location 614, and the mobile device 102B continues to monitor the accessory device 102A that was near the mobile device 102B upon exiting the trusted location 606.

[0069] 7 is a timeline 700 for providing separation notification while mobile device 102B is in motion, according to one embodiment. In some embodiments, accessory device 102A is paired with a device associated with a cloud-based user account and registered with locator service 170 to enable access to location information for accessory device 102A, a public / private key pair stored in the synchronized key store described in connection with FIG. 4. Mobile device 102B may access the public / private key pair associated with accessory device 102A through the cloud-based key store for the cloud-based user account. In one embodiment, mobile device 102B is paired with accessory device 102A and has access to the public / private key pair associated with accessory device 102A. In either case, a relationship or association is formed between mobile device 102B and accessory device 102A, and mobile device 102B and accessory device 102A do not have a wireless connection, such as a Bluetooth connection, with accessory device 102A.

[0070] As described above, when mobile device 102B is paired with accessory device 102A or has access to the cloud-based key store, mobile device 102B is associated with accessory device 102A and may access location information from locator service 170 of accessory device 102A. Additionally, when mobile device 102B is paired with accessory device 102A and / or has access to the cloud-based key store using the public / private key pair of accessory device 102A, mobile device 102B may be established as representing an ownership relationship with accessory device 102A, and beacon signal status regarding ownership (e.g., close to owner and far from owner) may be provided based on distance to mobile device 102B using that relationship. In other words, accessory device 102A has a close to owner status when it is near mobile device 102B and a far from owner status when it is not in proximity to mobile device 102B. Thus, the accessory device 102A may be described as a registered accessory that has a relationship or association with the mobile device 102B, but the accessory device 102A is released, disconnected, and / or "untethered" from the mobile device 102B. If the accessory device 102A moves out of the trusted location 706 with the mobile device 102B, a separation notification may be provided to the registered and untethered accessory device 102A while in motion.

[0071] In one embodiment, entry into a trusted location 722 may be detected (726) when the mobile device 102B crosses the boundary of a geofence monitored for the trusted location 702. As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When a determination is made from positioning information (e.g., GPS) for the mobile device 102B that the mobile device 102B has entered a trusted location, a geofence for the trusted location may be established and monitored. In some embodiments, one or more signals may be used to determine whether the mobile device 102B has entered a location, is “stable” at the location, has exited the location, or is “in transit” from / to the location.

[0072] When movement is detected more than a threshold distance from the trusted location 706 after crossing the geofence boundary of the trusted location, the mobile device 102B may be characterized as having exited the trusted location and is in an "in motion" state 708 by the classifier. Bookkeeping 718 may be performed to determine each of the accessory devices 102A that are in the vicinity of the mobile device 102B as it exits the trusted location (706) and moves with the mobile device 102B while in the "in motion" state. Bookkeeping may include recording the status of a wireless connection between the mobile device 102B and each accessory device 102A determined to be between the mobile device 102B at the time of exit (706). The mobile device 102B may be limited in the number of wireless connections the device can establish at any time. Those skilled in the art will recognize that wireless connection status may change for each device as wireless connections are established, lost, and / or re-established over time, and bookkeeping is performed to record the wireless connection status for each device. Beacon scans may be performed at an increased rate to determine devices traveling with mobile device 102B. In particular, beacon data received from beacon scan 718 may include packets from accessory device 102A having a status for at least one accessory device 102A (e.g., a close to owner status and a far from owner status).

[0073] Repeated beacon scans may be performed such that the accessory device 102A is monitored (716) with repeated, increased beacon scans, and if a lost accessory device 102A is detected, a separation notification may be sent and presented on the user interface 104 unless the connection is re-established. Bookkeeping may be performed to update the status of nearby devices on the mobile device 102B while it is on the move.

[0074] If loss of accessory device 102A is not detected, wireless connection monitoring 716 stops upon detection of entry 710 into untrusted location 728. The geofence of untrusted location 724 may be monitored to detect entry into untrusted location 712. Upon exiting untrusted location 714, bookkeeping is performed again (720) to update the status of any accessory device 102A.

[0075] While timeline 700 is presented as providing bookkeeping and separation notification upon exiting trusted location 704, one skilled in the art will recognize that the same provision of separation notification in timeline 700 may be performed upon exiting a known untrusted location. In some embodiments, timeline 700 repeats upon exiting untrusted location 714, and mobile device 102B continues to monitor accessory device 102A that was near mobile device 102B upon exiting trusted location 706. In yet another embodiment, additional accessory devices acquired upon exiting untrusted location 714 may optionally be monitored for separation from mobile device 102B.

[0076] FIG. 8 is a timeline 800 for providing a separation notification for a mobile device 102B that is in a “stable” state at an untrusted known location 812, according to one embodiment. In some embodiments, the accessory device 102A is paired with a device associated with a cloud-based user account and registered with the locator service 170 to enable access to the location information of the accessory device 102A, a public / private key pair stored in the synchronized key store described in connection with FIG. 4 . The mobile device 102B may access the public / private key pair associated with the accessory device 102A by way of the cloud-based key store for the cloud-based user account. In one embodiment, the mobile device 102B is paired with the accessory device 102A and has access to the public / private key pair associated with the accessory device 102A. In either case, a relationship or association is formed between the mobile device 102B and the accessory device 102A, and the mobile device 102B and the accessory device 102A do not have a wireless connection, such as a Bluetooth connection, with the accessory device 102A.

[0077] As described above, when mobile device 102B is paired with accessory device 102A or has access to the cloud-based key store, mobile device 102B is associated with accessory device 102A and may access location information from locator service 170 of accessory device 102A. Additionally, when mobile device 102B is paired with accessory device 102A and / or has access to the cloud-based key store using the public / private key pair of accessory device 102A, mobile device 102B may be established as representing an ownership relationship with accessory device 102A, and beacon signal status regarding ownership (e.g., close to owner and far from owner) may be provided based on distance to mobile device 102B using that relationship. In other words, accessory device 102A has a close to owner status when it is near mobile device 102B and a far from owner status when it is not in proximity to mobile device 102B. Thus, the accessory device 102A may be described as a registered accessory that has a relationship or association with the mobile device 102B, but the accessory device 102A is released, disconnected, and / or "untethered" from the mobile device 102B. In one embodiment, if the accessory device 102A moves out of the trusted location 806 with the mobile device 102B, a detachment notification may be provided to the untethered accessory device 102A in an untrusted location.

[0078] In one embodiment, entry into a trusted location 802 may be detected 828 when the mobile device 102B crosses the boundary of a geofence monitored for the trusted location. As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When a determination is made from positioning information for the mobile device 102B that the mobile device 102B has entered a trusted location, a geofence for the trusted location may be established and monitored. In some embodiments, one or more signals may be used to determine whether the mobile device 102B has entered a location, is in a "stable" state at the location, has exited the location, or is in an "in transit" state from / to the location. When movement is detected more than a threshold distance from the trusted location 806 after crossing the geofence boundary of the trusted location, the mobile device 102B may be characterized by a classifier as having exited the trusted location 830 and being in an "in transit" state 808.

[0079] Bookkeeping 818 may be performed upon detection of a user's entry of the mobile device 102B into an untrusted location 818 and exit of the mobile device 102B from an untrusted location 820 to determine each of the accessory devices 102A in the vicinity of the mobile device 102B. Bookkeeping may involve recording the status of the wireless connection between the mobile device 102B and each device determined to be with the mobile device 102B upon entry 810 and exit 814. The mobile device 102B may be limited in the number of wireless connections it can establish at any time. Those skilled in the art will recognize that wireless connection status may change for each device as wireless connections are established, lost, and / or re-established over time, and bookkeeping is performed to record the wireless connection status for each device. Beacon scanning 818 may be performed at an increased rate upon entry into an untrusted location 820 and upon exit 814 from a known untrusted location 810 to determine each accessory device with the mobile device 102B, in addition to monitoring each wireless connection. In particular, the beacon data received from beacon scans 818 and 820 may include packets from at least one accessory device 102A having a status indicating whether the accessory device 102A is near or far from the owner (e.g., near owner status and far owner status). As the accessory devices 102A may be described as being monitored using one or more active beacon scans, repeated beacon scans may be performed, and upon detecting an indication of separation from owner status from the beacon data for at least one accessory device 102A, a separation notification may be sent and presented on the user interface 104 unless a connection is re-established. Bookkeeping may be performed to update the status of nearby devices for the mobile device 102B.

[0080] The geofence of the untrusted location may be monitored 824 to detect 834 entry and exit into the untrusted location 832. Upon exiting the untrusted location 804, bookkeeping is performed 820 to update the status of any accessory devices 102A (e.g., accessory device 102A) that were near the mobile device 102B upon exiting the trusted location 814. The status may be updated to indicate whether beacon data was received that provides information regarding the status of the accessory device 102A, such as whether the accessory device 102A is near or far from its owner. In some embodiments, the timeline 700 repeats upon exiting the untrusted location 814, and the mobile device 102B continues to monitor the accessory device 102A that was near the mobile device 102B upon exiting the trusted location 706.

[0081] FIG. 9 is a flow diagram 900 illustrating bookkeeping that may be used in some embodiments of the present invention. Optionally, bookkeeping may be performed when a change in the location status of at least one of the mobile device 102B or the accessory device 102A is detected (902). Those skilled in the art will recognize that bookkeeping of the status of whether the mobile device is near one or more accessory devices may be performed on demand or using a status change of any of the mobile device 102B or the accessory device 102A. One or more signals may be used to detect a location change, such as crossing a geofence boundary or positioning service. In some embodiments, the mobile device 102B and the accessory device 102A may be detected as being in proximity to a known location using information from a set of devices that may be used as signals to detect a location change, such as entry into the location using a paired door lock or entry panel, a light switch, a household electronic device, any fixtures, use of a transportation card, other devices fixed at the location, or any other collected on-device data that may indicate the location of the mobile device 102B.

[0082] Next, status regarding wireless connections with at least one accessory device 102A is received (904), and the status information is stored (906). For the mobile device 102B associated with each accessory device 102A, any type of status information regarding the wireless connections may be stored, such as a change in connection status, a loss of connection, the presence of a connection, an RSSI measurement, the available wireless connection of the mobile device 102B at the time of the check, and / or any other status information. For example, each accessory device 102A that has a wireless connection may be given a status of close to the owner of the mobile device 102B, and each accessory device 102A that does not have a wireless connection may be given a status of far from the owner.

[0083] A beacon scan is then performed (908) to collect status information regarding the accessory device 102A paired or otherwise associated with the mobile device 102B. Beacon data may be received (910) by the mobile device 102B and may provide an indication of whether the accessory device 102A is near the owner, far from the owner, or any other status for which a beacon signal is provided. The beacon data may provide additional status information, including, but not limited to, accessory device status, lost status, alarm status, and / or any other status. As an example, if all of the wireless connections for the mobile device are in use, the beacon data for the accessory device 102A may have a status of near the owner and not be connected wirelessly because all available connections are in use for the mobile device 102B. Information regarding the status of at least one accessory device derived from the beacon data may be stored (912).

[0084] Optionally, conditions may be placed on whether the mobile device 102B provides a separation notification to a particular accessory device 102A. If at least one accessory device is close to the owner or has a wireless connection to the mobile device 102B when the user leaves a trusted location (914), the accessory device 102A may be provided with a separation notification. Those skilled in the art will recognize that separation notifications may be provided when leaving trusted locations in addition to untrusted locations, as well as accessory devices acquired in transit.

[0085] FIG. 10 is a flow diagram 1000 illustrating providing a separation notification to a connected accessory device in one embodiment. Movement beyond a threshold distance from a trusted location is detected (1002). A first geofence may be established for the trusted location, and detection of the mobile device 102B crossing the boundary of the first geofence may indicate that the mobile device 102B has exited the trusted location. In some embodiments, multiple signals are used to determine whether the mobile device 102B has moved beyond a threshold distance from a trusted location, such as a location classified as the user's home. Bookkeeping, such as that described in FIG. 9, may be performed to determine the accessory devices 102A within the user's mobile device 102B and update status information for the accessory devices 102A associated with the mobile device 102B (1004).

[0086] Next, an indication that the location status of the mobile device 102B has changed may be received (1006). If the indication is that the mobile device 102B is moving, the wireless connection of the accessory device 102A is monitored (1008). In some embodiments, a classifier on the mobile device 102B may be used to indicate that the device is in a moving state. If a loss of wireless connection to at least one accessory device is detected (1016), and if the connection is not re-established (1018), as described below with reference to FIGS. 11A and 11B, a separation notification may be sent (1020). In some embodiments, a last known location geofence may be established at the last known location. If crossing the geofence boundary of the last known location for a threshold period is detected, the rate of beacon scanning may be increased, as shown in FIG. 12. If a threshold period (e.g., 30 seconds) is exceeded, a separation notification may be presented on the mobile device 102B.

[0087] Alternatively, if the device location indication is that the device is at a known location (1006), bookkeeping is performed upon entering the known location (1010). When the mobile device detects that it has crossed the geofence boundary of the known location, the geofence of the known location is monitored, and bookkeeping (see FIG. 9) is performed again (1012). An active beacon scan is performed (1014), as shown in FIG. 12. If the connection is not re-established (1018), a separation notification is sent (1020). An active beacon scan is again performed (1020), as shown in FIG. 12, to determine the status of the accessory device 102A.

[0088] 11A and 11B are flow diagrams illustrating providing a separation notification in one embodiment. FIG. 11A is a flow diagram 1100 illustrating an approach for providing a separation notification to reduce latency in presenting an associated separation notification. When a loss of wireless connection to at least one accessory device 102A is detected, a first timer may be set 1102 for a first defined period (e.g., 30 seconds). When the first timer expires, information is requested 1104 regarding whether the lost wireless connection is re-established. If the connection is re-established 1106, the status of the connection is set 1108. Alternatively, the status of the connection is set 1110 as not established.

[0089] 11B is a flow diagram 1101 illustrating an approach for providing a separation notification to reduce latency in presenting an associated separation notification. When a loss of wireless connection to at least one accessory device 102A is detected, a second geofence for the last known location is monitored (1112). The defined boundary for the last known location 182 may be accessible by the mobile device 102B. If the mobile device 102B does not quickly move across the second geofence boundary (1114), the status of the connection is set to an established status (1116). Alternatively, the status of the connection is set as not established (1118).

[0090] FIG. 12 is a flow diagram 1200 illustrating proactive beacon scanning in one embodiment. Periodic beacon scanning using the wireless baseband processor is performed 1201 at a higher duty cycle, such as 100%. The increased beacon scanning is performed both when the accessory device 102A is accessible on or off the WAN network. In some embodiments, the rate of beacon scanning is performed every N seconds for M minutes, such as 6 seconds every 3 minutes. The rate is increased to be performed P times, such as 3 times, more than the expected rate of packets received from the accessory device 102A, which is transmitted every Q seconds, such as every 2 seconds. In other words, the beacon scanning increase rate P may be a multiple of Q seconds of expected receipt of beacon data from the accessory device 102A. Between scans, the wireless baseband processor may be in a sleep state. While beacon scanning can also be performed when the application processor is active, beacon scanning can also be performed by the wireless processor and wireless radio receiver as a low-power operation while the mobile device 102B is idle, inactive, or otherwise in a low-power state. In some embodiments, the scan may be performed at a higher duty cycle, such as 100%, to ensure capture of beacon data from nearby devices.

[0091] In some embodiments, the duration of the increased scan may be configured depending on the particular task, such as detecting an accessory device or monitoring the location of accessory device 102A. For example, upon exiting trusted location 706, two scans may be performed to immediately detect accessory device 102A with mobile device 102B, as shown in FIG. 7. Continuing the example of FIG. 7, the scan may be performed for a longer duration, as shown by "increased beacon scan" 716, when monitoring the status of accessory device 102A. In some embodiments, positioning information, such as GPS, is obtained for mobile device 102B to record the last known location of accessory device 102A for a particular status (e.g., close to owner, far from owner)

[0092] The beacon ID and timestamp of the beacon data are stored 1202, and the application processor is woken up to process the beacon data 1204. The beacon, beacon ID, in one embodiment, is a public key generated by the wireless device based on the timestamp and a shared secret generated at the owner's mobile device. The status of a set of accessory devices (e.g., accessory device 102A) can be determined 1206 as "close to owner" or "far from owner" based on the received beacon data corresponding to each accessory device.

[0093] 13 is a flow diagram 1300 illustrating providing a detachment notification to an untethered accessory device in one embodiment. In one embodiment, movement beyond a threshold distance from a trusted location 184 is detected. A first geofence may be established for the trusted location, and detection of the mobile device 102B crossing the boundary of the first geofence may indicate that the mobile device 102B has exited the trusted location. In some embodiments, multiple signals are used to determine whether the mobile device 102B has moved beyond a threshold distance from a trusted location, such as a location classified as the user's home.

[0094] Bookkeeping such as that described in FIG. 9 may be performed (1302) to determine which accessory devices 102A are with the user and to update (1304) the status information of the accessory devices 102A associated with the mobile device 102B.

[0095] Next, an indication that the location status of the mobile device 102B has changed may be received (1306). If the indication is that the mobile device 102B is moving, beacon scanning may be increased (1308). Beacon scanning may be increased upon detecting crossing of a geofence boundary of a trusted location. In some embodiments, a classifier on the mobile device 102B may be used to indicate that the device is moving. If loss of wireless connection to at least one accessory device is detected (1316), and if connection is not re-established (1318), as described below with reference to FIGS. 11A and 11B, a separation notification may be sent (1320). In some embodiments, a last known location geofence may be established at the last known location. If crossing of the geofence boundary of the last known location is detected for a threshold period, the rate of beacon scanning may be increased as shown in FIG. 12. If the threshold period is exceeded, a separation notification may be presented on the mobile device 102B.

[0096] Alternatively, if the device location indication is that the device is at a known location (1306), bookkeeping is performed upon entering the known location (1310). When the mobile device 102B detects crossing the geofence boundary of the known location, the geofence for the known location is monitored and bookkeeping is performed (1312). As shown in FIG. 12, an active beacon scan is performed. If the connection is not re-established (1318), a separation notification is sent (1320). An active beacon scan is performed again (1320).

[0097] 14-18 illustrate the device locator UI 204, according to one embodiment. FIG. 14 illustrates a first graphical user interface of the device locator UI 204, according to an embodiment, showing notifications for the user's various wireless accessories. FIG. 15 illustrates a second graphical user interface of the device locator UI 204, according to one embodiment, which allows a user to request that a left-behind wireless accessory be seen on a map, add a trusted location, or stop notifications for the item. FIG. 16 illustrates a third graphical user interface of the device locator UI 204, according to one embodiment, which allows a user to find a wireless accessory on a map. FIG. 17 illustrates a third graphical user interface of the device locator UI 204, according to one embodiment, which allows a user to be notified when a wireless accessory is placed in lost mode or found.

[0098] 14, the device locator UI 204 can be displayed on the electronic device 102B, which can be a mobile device 1400 or any other type of electronic device described herein. The device locator UI 204 can cause a separation notification 1402 to be presented on the home screen 1401 of the electronic device 1400.

[0099] As shown in FIG. 15 , the device locator UI 204 can present a unified graphical interface on the electronic device 1500 through which multiple different types of devices and accessories can be located, including wireless devices with network or cellular access and wireless accessories without native network access. The device locator UI 204 can include a map 1504 with a marker 1505 indicating the current or last known location of the wireless device or accessory. The marker 1505 can be an icon, image, graphic, or any other user interface element that identifies the accessory and conveys the accessory's location. A selectable element 1506 in the device locator UI 204 can present a description or name of the wireless device or accessory and can indicate the estimated distance between the wireless device or accessory and the current location of the electronic device 1500, as shown in FIG. 16 . A selectable element 1503 in the device locator UI 204 can present an interface that allows a user to select to add a trusted location, and a selectable element 1507 can present a user interface that allows a user to select not to be notified about the location of a particular item.

[0100] 16, the device locator UI 204 may present a second user interface that allows the wireless accessory to view the distance from the item 1603 and the electronic device 1600. In one embodiment, the second user interface may be displayed in response to selection of the selectable element 1506 shown in FIG. 15. The second user interface may present user interface elements 1602 that represent and / or describe the wireless accessory in question, as well as a map 1601 and a marker 1602 that indicate the current or last known location of the wireless accessory.

[0101] As shown in FIG. 17 , the device locator UI 204 can present a third graphical user interface that allows the wireless accessory to be placed in lost mode. In one embodiment, if the wireless accessory cannot be located via the device locator UI 204, the map 1701 does not display a marker indicating the accessory's location. The device locator UI 204 can present user interface elements 1704 that represent and / or describe the wireless accessory in question and a set of selectable user interface elements. One selectable user interface element 1706 can present an option to notify the user when the accessory is found. When found notification is enabled, in one embodiment, the wireless accessory can be placed in simplified lost mode. An electronic device associated with the device locator UI 1704 can generate a set of public keys that the wireless accessory will broadcast with its beacon signal during a future period (e.g., the next 24 hours, the next 48 hours, etc.). If a signal is detected by a finder device using one of the future keys, the device locator server can notify one or more electronic devices associated with the user.

[0102] Another selectable user interface element 1707 can place the wireless accessory in explicit lost mode. When explicitly placed in lost mode, the wireless accessory cannot be paired with other devices until the accessory is unlocked by the user or owner who places the device in lost mode. When sending a request to place the wireless accessory in lost mode, the requesting user may be required to enter authentication information to ensure that the requesting user is authorized to request that lost mode be initiated on the lost accessory. The authentication information may include a username or password associated with the user, the electronic device, and the user's account, such as a cloud service account with which the wireless accessory is associated. The authentication information may also include biometric information, such as fingerprint or facial recognition data.

[0103] In one embodiment, a message and contact information provided by the requesting user may be displayed on the user device to alert the finder of the lost wireless accessory on how to contact the requesting user. In one embodiment, the message and contact information may be displayed when another user attempts to pair another electronic device with the lost accessory.

[0104] 18 , the device locator UI 204 can present a fourth graphical user interface within the electronic device 1800 that allows for the designation of a known location 1806 shown on the map with 1804 to become a trusted location upon selection of a selectable element 1803. The device locator UI 204 can present a user interface element 1805 that represents and / or describes the wireless accessory in question.

[0105] FIG. 19 is a block diagram illustrating an exemplary API architecture that may be used in some embodiments of the present invention. As shown in FIG. 19, the API architecture 1900 includes an API implementation component 110 (e.g., an operating system, library, device driver, API, application program, software, or other module) that implements an API 1920. The API 1920 specifies one or more functions, methods, classes, objects, protocols, data structures, formats, and / or other features of the API implementation component that may be used by an API calling component 1930. The API 1920 may specify at least one calling convention that specifies how functions of the API implementation component receive parameters from the API calling component and how the functions return results to the API calling component. The API calling component 1930 (e.g., an operating system, library, device driver, API, application program, software, or other module) makes API calls through the API 1920 to access and use the functionality of the API implementation component 1910 as specified by the API 1920. The API implementation component 1910 may return a value to the API calling component 1930 through the API 1920 in response to the API call.

[0106] It will be understood that API implementation component 1910 may include additional functions, methods, classes, data structures, and / or other functionality that is not specified through API 1920 and available to API invocation component 1930. It should be understood that API invocation component 1930 may be on the same system as API implementation component 1910 or may be located remotely and may access API implementation component 1910 using API 1920 over a network. While Figure 19 shows a single API invocation component 1930 interacting with API 1920, it should be understood that other API invocation components, which may be written in a different language (or the same language) as API invocation component 1930, may use API 1920.

[0107] The API implementation component 1910, the API 1920, and the API calling component 1930 may be stored on a machine-readable medium, which includes any mechanism for storing information in a form readable by a machine (e.g., a computer or other data processing system). For example, machine-readable media include magnetic disks, optical disks, random access memory, read-only memory, flash memory devices, and the like.

[0108] 20 is a block diagram of a device architecture 2000 for a mobile or embedded device, according to one embodiment. The device architecture 2000 includes a memory interface 2002, a processing system 2004 including one or more data processors, image processors, and / or graphics processing units, and a peripherals interface 2006. The various components may be coupled by one or more communication buses or signal lines. The various components may be separate logic components or devices, or may be integrated into one or more integrated circuits, such as a system on a chip integrated circuit.

[0109] The memory interface 2002 can be coupled to memory 2050, which can include high-speed random access memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM), and / or non-volatile memory, such as, but not limited to, flash memory (e.g., NAND flash, NOR flash, etc.).

[0110] Sensors, devices, and subsystems can couple to the peripherals interface 2006 to facilitate multiple functions. For example, a motion sensor 2010, a light sensor 2012, and a proximity sensor 2014 can be coupled to the peripherals interface 2006 to facilitate mobile device functions. One or more biometric sensor(s) 2015, such as a fingerprint scanner for fingerprint authentication or an image sensor for facial recognition, may also be present. Other sensors 2016 can also be connected to the peripherals interface 2006, such as a positioning system (e.g., a GPS receiver), a temperature sensor, or other detection devices, to facilitate related functions. A camera subsystem 2020 and an optical sensor 2022, such as a charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) optical sensor, can be utilized to facilitate camera functions such as recording pictures and video clips.

[0111] Communication functions may be facilitated via one or more wireless communication subsystems 2024, which may include radio frequency receivers and transmitters and / or optical (e.g., infrared) receivers and transmitters. The specific design and implementation of the wireless communication subsystem 2024 may depend on the communication network(s) over which the mobile device is intended to operate. For example, a mobile device including the illustrated device architecture 2000 may include a wireless communication subsystem 2024 designed to operate over a GSM network, a CDMA network, an LTE network, a Wi-Fi network, a Bluetooth network, or any other wireless network. In particular, the wireless communication subsystem 2024 may provide a communication mechanism by which a media playback application can retrieve resources from a remote media server or scheduled events from a remote calendar or event server.

[0112] The audio subsystem 2026 can be coupled to a speaker 2028 and a microphone 2030 to facilitate voice-enabled functions such as voice recognition, voice duplication, digital recording, and telephony. In the smart media devices described herein, the audio subsystem 2026 can be a high-quality audio system that includes support for virtual surround sound.

[0113] The I / O subsystem 2040 may include a touchscreen controller 2042 and / or other input controller(s) 2045. In the case of a computing device that includes a display device, the touchscreen controller 2042 may be coupled to a touch-sensitive display system 2046 (e.g., a touchscreen). The touch-sensitive display system 2046 and touchscreen controller 2042 may detect contact and movement and / or pressure using any of a number of touch and pressure sensing technologies, including, for example, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch-sensitive display system 2046. Display output for the touch-sensitive display system 2046 may be generated by a display controller 2043. In one embodiment, the display controller 2043 may provide frame data to the touch-sensitive display system 2046 at a variable frame rate.

[0114] In one embodiment, a sensor controller 2044 is included to monitor, control, and / or process data received from one or more of the motion sensor 2010, the light sensor 2012, the proximity sensor 2014, or the other sensors 2016. The sensor controller 2044 can include logic to interpret the sensor data and determine the occurrence of one of a number of motion events or activities through analysis of the sensor data from the sensors.

[0115] In one embodiment, I / O subsystem 2040 includes other input controller(s) 2045 that can be coupled to other input / control devices 2048, such as one or more buttons, rocker switches, thumbwheels, infrared ports, USB ports, and / or pointer devices such as a stylus, or control devices such as up / down buttons for volume control of speaker 2028 and / or microphone 2030.

[0116] In one embodiment, memory 2050 coupled to memory interface 2002 can store instructions for operating system 2052, including Portable Operating System Interface (POSIX) compliant and non-compliant operating systems or embedded operating systems. Operating system 2052 can include instructions for handling basic system services and performing hardware-dependent tasks. In some implementations, operating system 2052 can be a kernel (e.g., a UNIX kernel).

[0117] Memory 2050 may also store communications instructions 2054 to facilitate communication with one or more additional devices, one or more computers, and / or one or more servers, for example, to retrieve web resources from a remote web server. Memory 2050 may also include user interface instructions 2056, including graphical user interface instructions that facilitate processing of a graphical user interface.

[0118] Additionally, memory 2050 may store sensor processing instructions 2058 for facilitating sensor-related processes and functions, telephone instructions 2060 for facilitating telephone-related processes and functions, messaging instructions 2062 for facilitating electronic messaging-related processes and functions, web browser instructions 2064 for facilitating web browsing-related processes and functions, media processing instructions 2066 for facilitating media processing-related processes and functions, location services instructions including GPS and / or navigation instructions 2068 and Wi-Fi-based location instructions for facilitating location-based functions, camera instructions 2070 for facilitating camera-related processes and functions, and / or other software instructions 2072 for facilitating other processes and functions, such as security processes and functions, and system-related processes and functions. Memory 2050 may also store other software instructions, such as web video instructions for facilitating web video-related processes and functions, and / or web shopping instructions for facilitating web shopping-related processes and functions. In some implementations, the media processing instructions 2066 are divided into audio processing instructions that facilitate audio processing related processes and functions and video processing instructions that facilitate video processing related processes and functions. A mobile device identifier, such as an International Mobile Equipment Identity (IMEI) 2074 or similar hardware identifier, can also be stored in memory 2050.

[0119] Each of the above-identified instructions and applications may correspond to a set of instructions that perform one or more of the functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. Memory 2050 may include additional instructions or fewer instructions. Furthermore, various functions may be implemented in hardware and / or software, including one or more signal processing and / or application specific integrated circuits.

[0120] 21 is a block diagram of a computing system 2100, according to one embodiment. The computing system 2100 shown in the figure is intended to represent a variety of computing systems (wired or wireless), including, for example, one or more implementations of a desktop computer system, a laptop computer system, a tablet computer system, a cellular telephone, a personal digital assistant (PDA) including a cellular-enabled PDA, a set-top box, an entertainment system or other consumer electronic device, a smart home appliance device, or a smart media playback device. Alternative computing systems may include more, fewer, and / or different components. The computing system 2100 may be used to host a computing device and / or a server device to which a computing device may connect.

[0121] Computing system 2100 includes a bus 2135 or other communication device for communicating information, and processor(s) 2110 coupled to bus 2135 that may process information. While computing system 2100 is illustrated with a single processor, computing system 2100 may include multiple processors and / or coprocessors. Computing system 2100 may further include memory 2120, such as random access memory (RAM) or other dynamic storage device, coupled to bus 2135. Memory 2120 may store information and instructions that may be executed by processor(s) 2110. Memory 2120 may also be used for storing temporary variables or other intermediate information during execution of instructions by processor(s) 2110.

[0122] Computing system 2100 may also include a read-only memory (ROM) 2130 and / or another data storage device 2140 coupled to bus 2135 that may store information and instructions for processor(s) 2110. Data storage device 2140 may be or include a variety of storage devices such as a flash memory device, a magnetic disk, or an optical disk, and may be coupled to computing system 2100 via bus 2135 or via a remote peripheral interface.

[0123] Computing system 2100 may also be coupled to a display device 2150 via bus 2135 to display information to a user. Computing system 2100 may also include an alphanumeric input device 2160, including alphanumeric and other keys, that may be coupled to bus 2135 to communicate information and command selections to processor(s) 2110. Another type of user input device includes a cursor control device 2170, such as a touchpad, mouse, trackball, or cursor direction keys, that communicates direction information and command selections to processor(s) 2110 and controls cursor movement on display device 2150. Computing system 2100 may also receive user input from remote devices communicatively coupled via one or more network interface(s) 2180.

[0124] The computing system 2100 may further include one or more network interface(s) 2180 to provide access to a network, such as a local area network. The network interface(s) 2180 may include, for example, a wireless network interface having antenna(s) 2185, which may represent one or more antennas (e). The computing system 2100 may include multiple wireless network interfaces, such as a combination of Wi-Fi, Bluetooth, near field communication (NFC), and / or cellular telephone interfaces. For example, the network interface(s) 2180 may also include a wired network interface for communicating with remote devices via a network cable 2187, which may be, for example, an Ethernet cable, a coaxial cable, a fiber optic cable, a serial cable, or a parallel cable.

[0125] In one embodiment, the network interface(s) 2180 may provide access to a local area network, for example, by conforming to the IEEE 802.11 and / or IEEE 802.11 standards, and / or the wireless network interface may provide access to a personal area network, for example, by conforming to the Bluetooth standard. Other wireless network interfaces and / or protocols may also be supported. In addition to, or instead of, communication via a wireless LAN standard, the network interface(s) 2180 may provide wireless communication using, for example, a time division multiple access (TDMA) protocol, a global system for mobile communications (GSM) protocol, a code division multiple access (CDMA) protocol, a long term evolution (LTE) protocol, and / or any other type of wireless communication protocol.

[0126] The computing system 2100 may further include one or more energy sources 2105 and one or more energy measurement systems 2145. The energy source 2105 may include an AC / DC adapter coupled to an external power source, one or more batteries, one or more charging storage devices, a USB charger, or other energy source. The energy measurement system includes at least one voltage or amperage measurement device capable of measuring energy consumed by the computing system 2100 over a predetermined period of time. The computing system 2100 may further include one or more energy measurement systems that measure energy consumed by, for example, a display device, a cooling subsystem, a Wi-Fi subsystem, or other frequently used or high-energy consuming subsystems.

[0127] In some embodiments, the hash functions described herein may utilize dedicated hardware circuitry (or firmware) in a system (client device or server). For example, the functions may be hardware-accelerated functions. Additionally, in some embodiments, the system may use functions that are part of a specialized instruction set. For example, the system may use an instruction set that may be an extension to the instruction set architecture for a particular type of microprocessor. Thus, in one embodiment, the system may provide hardware acceleration mechanisms for performing cryptographic operations to improve the speed at which the functions described herein are performed using these instruction sets.

[0128] It will be apparent to those skilled in the art that combinations or variations of the above embodiments are possible when utilizing various aspects of the embodiments to form stacked system-in-package structures. Although the embodiments have been described in language specific to structural features and / or methodological acts, it should be understood that the appended claims are not necessarily limited to the specific features or acts described above. Rather, the specific features and acts disclosed should be understood as illustrative embodiments of the claims.

Claims

1. 1. A method executed by one or more processors of an electronic device for providing a separation notification, comprising: Detecting movement beyond a threshold distance from a trusted location; In response to the detection, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information regarding a status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is in motion; monitoring the wireless connection for the at least one accessory device; and transmitting a detachment notification upon detecting a loss of wireless connectivity for the at least one accessory device.

2. setting a first timer for a first defined period upon detecting a loss of wireless connectivity for the at least one accessory device; requesting information as to whether the lost wireless connection will be re-established upon expiration of the first timer; updating stored information regarding the status of the wireless connection; and sending said detachment notification unless said lost connection is re-established; The method of claim 1 further comprising:

3. Upon detecting a loss of wireless connectivity for the at least one accessory device, monitoring a second geofence for a last known location; updating stored information regarding the status of the wireless connection; and transmitting the separation notification upon detecting a crossing of the second geofence boundary within a second defined time period; The method of claim 1 further comprising:

4. monitoring a geofence for a last known location; increasing a rate of beacon scanning upon detecting crossing of a geofence boundary of a last known location for a threshold period; The method of claim 1 further comprising:

5. 5. The method of claim 4, wherein the rate of beacon scanning is performed every N seconds for M minutes with a higher duty cycle.

6. 5. The method of claim 4, further comprising increasing the rate of the beacon scans to be performed at a rate P times greater than an expected rate of packets received from the at least one accessory device.

7. receiving an indication that the electronic device is located at a known location; ceasing the monitoring of the wireless connection when the electronic device is located within the boundaries of the known location; The method of claim 1 further comprising:

8. receiving an indication that at least one accessory device is in the vicinity of the electronic device; 10. The method of claim 1, comprising at least one of receiving an indication of a wireless connection with the at least one accessory device or receiving beacon data having an indication that the at least one accessory device is nearby.

9. 1. A method executed by one or more processors of an electronic device for providing a separation notification, comprising: Detecting movement beyond a threshold distance from a trusted location; In response to the detection, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information regarding a status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is located at a known location and monitoring a geofence for the known location; monitoring the wireless connection for the at least one accessory device upon receiving an indication of crossing the geofence boundary; and transmitting a detachment notification upon detecting a loss of wireless connectivity for the at least one accessory device.

10. determining whether the known location is located within the known location, including a defined boundary for the geofence and a characterization of a location type by a classifier, for a threshold time period; The method of claim 8 further comprising:

11. 1. A method executed by one or more processors of an electronic device for providing a separation notification, comprising: Detecting movement beyond a threshold distance from a trusted location; In response to the detecting, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information about the at least one accessory device; receiving an indication that the electronic device is in motion; increasing a rate of beacon scanning upon detecting crossing of a geofence boundary of the trusted location; upon receiving beacon data, if the beacon data does not indicate that the at least one accessory device is nearby, transmitting a separation notification.

12. sending a separation notification when beacon data is received indicating that no paired devices are nearby; The method of claim 10 further comprising:

13. setting a first timer for a first defined period of time; Upon expiration of the first timer, requesting information regarding whether the lost wireless connection has been re-established; sending a detachment notification unless the lost connection is re-established; The method of claim 11 further comprising:

14. monitoring a second geofence for the last known location; transmitting a separation notification upon detecting a crossing of the second geofence boundary within a second defined time period; The method of claim 10 further comprising:

15. sending a request for positioning coordinates to a location service; The method of claim 10 further comprising:

16. 11. The method of claim 10, wherein the rate of the beacon scan is performed every N seconds for M minutes, causing electronic device radios to operate at a higher duty cycle.

17. 11. The method of claim 10, further comprising increasing the rate of the beacon scans to be performed at a rate P times greater than an expected rate of data packets received from the at least one accessory device.

18. 1. A method executed by one or more processors of an electronic device for providing a separation notification, comprising: receiving an indication located at a known location; receiving an indication that at least one accessory device is in proximity to the electronic device and storing information about the at least one accessory device; increasing a rate of beacon scanning for a defined period of time upon detecting a geofence boundary crossing for the known location; upon receiving beacon data, if the beacon data does not indicate that the at least one accessory device is nearby, transmitting a separation notification.

19. A non-transitory machine-readable medium storing instructions for causing one or more processors of an electronic device to perform operations, the operations comprising: Detecting movement beyond a threshold distance from a trusted location; In response to the detection, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information regarding a status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is in motion; monitoring the wireless connection for the at least one accessory device; and transmitting a detachment notification upon detecting a loss of wireless connectivity for the at least one accessory device.

20. setting a first timer for a first defined period upon detecting a loss of wireless connectivity for the at least one accessory device; requesting information regarding whether the lost wireless connection will be re-established upon expiration of the first timer; updating stored information regarding the status of the wireless connection; and sending said detachment notification unless said lost connection is re-established; 20. The non-transitory machine-readable medium of claim 19, further comprising:

21. Upon detecting a loss of wireless connectivity for the at least one accessory device, monitoring a second geofence for a last known location; updating stored information regarding the status of the wireless connection; and transmitting the separation notification upon detecting a crossing of the second geofence boundary within a second defined time period; 20. The non-transitory machine-readable medium of claim 19, further comprising:

22. monitoring a geofence for a last known location; increasing a rate of beacon scanning upon detecting crossing of a geofence boundary of a last known location for a threshold period; 20. The non-transitory machine-readable medium of claim 19, further comprising:

23. 23. The non-transitory machine-readable medium of claim 22, wherein the rate of the beacon scans is performed every N seconds for M minutes with a higher duty cycle.

24. 23. The non-transitory machine-readable medium of claim 22, further comprising increasing the rate of the beacon scans to be performed at a rate P times greater than an expected rate of packets received from the at least one accessory device.

25. receiving an indication that the electronic device is located at a known location; ceasing the monitoring of the wireless connection when the electronic device is located within the boundaries of the known location; 20. The non-transitory machine-readable medium of claim 19, further comprising:

26. receiving an indication that at least one accessory device is in the vicinity of the electronic device; 20. The non-transitory machine-readable medium of claim 19, comprising at least one of receiving an indication of a wireless connection with the at least one accessory device or receiving beacon data having an indication that the at least one accessory device is nearby.

27. 1. A data processing system comprising: a memory for storing instructions for execution; and one or more processors that execute the instructions stored in memory, the instructions, when executed, causing the one or more processors to: Detecting movement beyond a threshold distance from a trusted location; In response to the detection, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information regarding a status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is in motion; monitoring the wireless connection for the at least one accessory device; and transmitting a detachment notification upon detecting a loss of wireless connectivity for the at least one accessory device.

28. a data processing system, the one or more processors comprising: setting a first timer for a first defined period upon detecting a loss of wireless connectivity for the at least one accessory device; requesting information as to whether the lost wireless connection will be re-established upon expiration of the first timer; updating stored information regarding the status of the wireless connection; and 28. The data processing system of claim 27, further comprising: transmitting said detachment notification unless said lost connection is re-established.

29. a data processing system, the one or more processors comprising: upon detecting a loss of wireless connectivity for the at least one accessory device, monitoring a second geofence for a last known location; updating stored information regarding the status of the wireless connection; and 28. The data processing system of claim 27, further configured to: send the separation notification upon detecting a crossing of the second geofence boundary within a second defined period of time.

30. a data processing system, the one or more processors comprising: monitoring a geofence for a last known location; 28. The data processing system of claim 27, further comprising: increasing a rate of beacon scanning upon detecting crossing a geofence boundary of a last known location for a threshold period of time.

31. 31. The data processing system of claim 30, wherein the rate of the beacon scan is performed every N seconds for M minutes with a higher duty cycle.

32. a data processing system, the one or more processors comprising:

31. The data processing system of claim 30, further configured to increase the rate of the beacon scans to be performed at a rate P times greater than an expected rate of packets received from the at least one accessory device.

33. a data processing system, the one or more processors comprising: receiving an indication that the electronic device is located at a known location; 28. The data processing system of claim 27, further comprising: ceasing said monitoring of said wireless connection when said electronic device is located within a boundary of said known location.

34. 10. A data processing system, comprising:

28. The data processing system of claim 27, comprising at least one of receiving an indication of a wireless connection with the at least one accessory device or receiving beacon data with an indication that the at least one accessory device is nearby.

35. A non-transitory machine-readable medium storing instructions for causing one or more processors of an electronic device to perform operations, the operations comprising: Detecting movement beyond a threshold distance from a trusted location; In response to the detection, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information regarding a status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is located at a known location and monitoring a geofence for the known location; monitoring the wireless connection for the at least one accessory device upon receiving an indication of crossing the geofence boundary; and transmitting a detachment notification upon detecting a loss of wireless connectivity for the at least one accessory device.

36. determining whether the known location is located within the known location, including a defined boundary for the geofence and a characterization of a location type by a classifier, for a threshold time period; 36. The non-transitory machine-readable medium of claim 35, further comprising:

37. 1. A data processing system comprising: a memory for storing instructions for execution; and one or more processors that execute the instructions stored in memory, the instructions, when executed, causing the one or more processors to: Detecting movement beyond a threshold distance from a trusted location; In response to the detection, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information regarding a status of a wireless connection with the at least one accessory device; receiving an indication that the electronic device is located at a known location and monitoring a geofence for the known location; monitoring the wireless connection for the at least one accessory device upon receiving an indication of crossing the geofence boundary; and transmitting a detachment notification upon detecting a loss of wireless connectivity for the at least one accessory device.

38. a data processing system, the one or more processors comprising:

38. The data processing system of claim 37, further configured to determine whether the known location is located within the known location, including a defined boundary for the geofence and a characterization of a location type by a classifier, for a threshold time period.

39. A non-transitory machine-readable medium storing instructions for causing one or more processors of an electronic device to perform operations, the operations comprising: Detecting movement beyond a threshold distance from a trusted location; In response to the detecting, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information about the at least one accessory device; receiving an indication that the electronic device is in motion; increasing a rate of beacon scanning upon detecting crossing of a geofence boundary of the trusted location; upon receiving the beacon data, if the beacon data does not indicate that the at least one accessory device is nearby, sending a separation notification.

40. sending a separation notification when beacon data is received indicating that no paired devices are nearby; 40. The non-transitory machine-readable medium of claim 39, further comprising:

41. setting a first timer for a first defined period of time; Upon expiration of the first timer, requesting information regarding whether the lost wireless connection has been re-established; sending a detachment notification unless the lost connection is re-established; 41. The non-transitory machine-readable medium of claim 40, further comprising:

42. monitoring a second geofence for the last known location; transmitting a separation notification upon detecting a crossing of the second geofence boundary within a second defined time period; 40. The non-transitory machine-readable medium of claim 39, further comprising:

43. sending a request for positioning coordinates to a location service; 40. The non-transitory machine-readable medium of claim 39, further comprising:

44. 40. The non-transitory machine-readable medium of claim 39, wherein the rate of the beacon scan is performed every N seconds for M minutes, causing an electronic device radio to operate at a higher duty cycle.

45. 11. The method of claim 10, further comprising increasing the rate of the beacon scans to be performed at a rate P times greater than an expected rate of data packets received from the at least one accessory device.

46. 1. A data processing system comprising: a memory for storing instructions for execution; and one or more processors that execute the instructions stored in memory, the instructions, when executed, causing the one or more processors to: Detecting movement beyond a threshold distance from a trusted location; In response to the detecting, receiving an indication that at least one accessory device is in the vicinity of the electronic device and storing information about the at least one accessory device; receiving an indication that the electronic device is in motion; increasing a rate of beacon scanning upon detecting crossing of a geofence boundary of the trusted location; upon receiving the beacon data, if the beacon data does not indicate that the at least one accessory device is nearby, sending a separation notification.

47. a data processing system, the one or more processors comprising:

47. The data processing system of claim 46, further configured to send a separation notification upon receiving beacon data indicating that the paired device is not nearby.

48. a data processing system, the one or more processors comprising: setting a first timer for a first defined period of time; requesting information regarding whether the lost wireless connection will be re-established upon expiration of the first timer; 48. The data processing system of claim 47, further comprising: sending a detachment notification unless the lost connection is re-established.

49. a data processing system, the one or more processors comprising: monitoring a second geofence for the last known location; 47. The data processing system of claim 46, further configured to: send a separation notification upon detecting a crossing of the second geofence boundary within a second defined period of time.

50. a data processing system, the one or more processors comprising:

47. The data processing system of claim 46, further configured to send a request for positioning coordinates to a location service.

51. 47. The data processing system of claim 46, wherein said rate of said beacon scanning is performed every N seconds for M minutes, causing electronic device radios to operate at a higher duty cycle.

52. 47. The data processing system of claim 46, further comprising increasing the rate of the beacon scans to be performed at a rate P times greater than an expected rate of data packets received from the at least one accessory device.

53. A non-transitory machine-readable medium storing instructions for causing one or more processors of an electronic device to perform operations, the operations comprising: receiving an indication located at a known location; receiving an indication that at least one accessory device is in proximity to the electronic device and storing information about the at least one accessory device; increasing a rate of beacon scanning for a defined period of time upon detecting a geofence boundary crossing for the known location; upon receiving the beacon data, if the beacon data does not indicate that the at least one accessory device is nearby, sending a separation notification.

54. 1. A data processing system comprising: a memory for storing instructions for execution; and one or more processors that execute the instructions stored in memory, the instructions, when executed, causing the one or more processors to: receiving an indication located at a known location; receiving an indication that at least one accessory device is in proximity to the electronic device and storing information about the at least one accessory device; increasing a rate of beacon scanning for a defined period of time upon detecting a geofence boundary crossing for the known location; upon receiving the beacon data, if the beacon data does not indicate that the at least one accessory device is nearby, sending a separation notification.

Citation Information

Patent Citations

  • Mobile communication terminal, emergency notification system and emergency notification program

    JP2007150904A

  • Separation notifications for wireless accessories

    WO2020214711A1