Isolated alerts to notify you while you're on the move

JP7909659B2Active Publication Date: 2026-08-21APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

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

Smart Images

  • Figure 0007909659000001
    Figure 0007909659000001
  • Figure 0007909659000002
    Figure 0007909659000002
  • Figure 0007909659000003
    Figure 0007909659000003
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 of U.S. Provisional Application No. 63 / 185,926, filed May 7, 2021, entitled "Separation Alerts for Notification while Traveling", U.S. Provisional Application No. 63 / 197,317, filed Jun. 4, 2021, entitled "Separation Alerts for Notification while Traveling", and U.S. Patent Application No. 17 / 525,779, filed Nov. 12, 2021, entitled "Separation Alerts for Notification while Traveling", each of which is incorporated herein by reference.

[0002] The embodiments described herein generally relate to systems and methods for locating wireless devices and accessories.

Background Art

[0003] When a device loses its wireless connection to another device, the user can be warned about the loss of the connection as soon as the connection is lost, regardless of the likelihood that the loss of the connection is temporary. As a result, previous warnings regarding the loss of a wireless connection have surfaced too frequently and have been meaningless.

Summary of the Invention

[0004] In one embodiment, a method, performed by one or more processors of an electronic device to provide isolation notifications, provides: detecting movement exceeding a threshold distance from a trusted location; receiving an instruction 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 instruction that the electronic device is moving; monitoring the wireless connection for at least one accessory device; and, upon detecting a loss of wireless connection to at least one accessory device, sending an isolation notification.

[0005] In one embodiment, a method, performed by one or more processors of an electronic device to provide isolation notifications, provides: detecting movement exceeding a threshold distance from a trusted location; receiving an instruction that at least one accessory device is near the electronic device and storing information regarding the status of a radio connection with the at least one accessory device in response to the detection; receiving an instruction that the electronic device is located at a known location and monitoring a geofence for the known location; receiving an instruction that it is crossing a geofence boundary and monitoring the radio connection to the at least one accessory device; and detecting a loss of radio connection to the at least one accessory device and transmitting an isolation notification.

[0006] In one embodiment, a method is provided which is performed by one or more processors of an electronic device to provide isolation notifications, the method includes detecting movement exceeding a threshold distance from a trusted location; receiving an instruction that at least one accessory device is near the electronic device and storing information about the at least one accessory device; receiving an instruction that the electronic device is in motion and detecting that it is crossing the geofence boundary of a trusted location, increasing the rate of beacon scanning; and receiving beacon data and sending an isolation notification if the beacon data does not indicate that at least one accessory device is nearby.

[0007] In one embodiment, a method is provided which is performed by one or more processors of an electronic device to provide isolation notifications, the method includes receiving an instruction that it is being located in a known location, receiving an instruction that at least one accessory device is near the electronic device, storing information about at least one accessory device, increasing the rate of beacon scanning over a defined period of time when it detects that it is crossing the geofence boundary of the known location, and sending an isolation notification when it receives beacon data and the beacon data does not indicate that at least one accessory device is nearby. [Brief explanation of the drawing]

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

[0009] [Figure 2] This document describes a system for locating wireless accessories according to one embodiment.

[0010] [Figure 3]This document illustrates a system for pairing and locating wireless accessories according to an embodiment.

[0011] [Figure 4] This is a flowchart illustrating a method for use in a device locator system according to one embodiment.

[0012] [Figure 5] This is a timeline that provides isolated notifications while a mobile device is in motion, according to one embodiment.

[0013] [Figure 6] This is a timeline for providing isolated notifications for mobile devices in untrusted known locations, according to one embodiment.

[0014] [Figure 7] This is a timeline that provides isolated notifications while a mobile device is in motion, according to one embodiment.

[0015] [Figure 8] This is a timeline for providing isolated notifications for mobile devices in untrusted known locations, according to one embodiment.

[0016] [Figure 9] This is a flowchart illustrating bookkeeping, which may be used in some embodiments of the present invention.

[0017] [Figure 10] This is a flowchart illustrating the provision of separation notifications to connected accessory devices in one embodiment.

[0018] [Figure 11A] This is a flowchart illustrating the provision of separate notification in one embodiment. [Figure 11B] This is a flowchart illustrating the provision of separate notification in one embodiment.

[0019] [Figure 12] It is a flowchart showing beacon scanning in one embodiment.

[0020] [Figure 13] It is a flowchart showing the provision of a separation notice for unconnected accessory devices in one embodiment.

[0021] [Figure 14] The device locator UI according to one embodiment is shown. [Figure 15] The device locator UI according to one embodiment is shown. [Figure 16] The device locator UI according to one embodiment is shown. [Figure 17] The device locator UI according to one embodiment is shown. [Figure 18] The device locator UI according to one embodiment is shown.

[0022] [Figure 19] It is a block diagram showing an exemplary API architecture that can be used in some embodiments of the present invention.

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

[0024] [Figure 21] It is a block diagram of a computing system according to one embodiment.

MODE FOR CARRYING OUT THE INVENTION

[0025] The embodiments described herein provide techniques that enable separation notification and locator services for lost or misplaced devices or items. Various embodiments are described with reference to the drawings. However, some embodiments can be implemented without using one or more of these specific details, and in combination with other known methods and configurations. The following description mentions numerous specific details, such as specific configurations, dimensions, and processes, in order to provide a thorough understanding of the embodiments. In other cases, well-known semiconductor processes and manufacturing techniques are not described in particular detail so as not to unnecessarily obscure the embodiments. Throughout this specification, a reference to “one embodiment” means that a particular feature, structure, configuration, or characteristic described in relation to that embodiment is included in at least one embodiment. Thus, references to the phrase “in one embodiment” in various places throughout this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, configurations, or characteristics may be optionally combined in one or more embodiments.

[0026] The following description concerns a computing device that includes a touch-sensitive display. However, it should be understood that the computing device may also include one or more other physical user interface devices. Various applications that can run 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 the corresponding information displayed on the device may be coordinated and / or modified from one application to the next, and / or within each application. Thus, a common physical architecture of the device (such as a touch-sensitive surface) can support a variety of applications with intuitive and transparent user interfaces.

[0027] Some processes are described below in terms of sequential operations. However, please understand that some of the operations described may be performed in a different order. Furthermore, some operations can be performed in parallel rather than sequentially.

[0028] Figure 1 is a block diagram of a network operating environment 100 for mobile devices according to one embodiment. The network operating environment 100 includes a plurality of mobile devices, such as an accessory device having mobile devices 102A and 102B. Each of the mobile devices 102A to 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 may optionally include a user interface, such as the user interface 104 of mobile device 102B. In other embodiments, mobile device 102A may not have a user interface as an accessory device. Mobile device 102A may be a third-party device that utilizes an application programming interface to access device locator services. Third-party devices may be provided by different device manufacturers or may be part of a different ecosystem (e.g., an operating system) than mobile devices 102A and 102B. Mobile devices 102A and 102B can communicate via one or more wired and / or wireless networks 110 to perform data communications. For example, a wireless network 112 (e.g., a cellular network, a Wi-Fi network) can 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, can provide communication access to the wide area network 114.Subsequently, the gateway 116 and access device 118 can 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 can be established via the wireless network 112 and / or the access device 118. For example, mobile device 102A can make and receive telephone calls (e.g., using the VoIP protocol) via the wireless network 112, gateway 116, and wide area network 114 (e.g., using the TCP / IP or UDP protocol), send and receive email messages (e.g., using the POP3 protocol), and retrieve electronic documents and / or streams such as web pages, photos, and videos. In some implementations, mobile device 102A can 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, mobile device 102A or mobile device 102B may be physically connected to access device 118 using one or more cables, for example, if access device 118 is a personal computer. In this configuration, mobile device 102A or mobile device 102B may be referred to as a “tethered” device. In one embodiment, mobile device 102A can communicate with mobile device 102B via a wireless peer-to-peer connection 120. The wireless peer-to-peer connection 120 may be used to synchronize data between devices.

[0030] Mobile device 102A or mobile device 102B can communicate with one or more services, such as telephone 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, telephone service 130 can enable telephone communication between mobile device 102A and mobile device 102B, or between a mobile device and a wired telephone device. Telephone service 130 can route Voice over IP (VoIP) calls via a wide area network 114, or 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, for example, song files, audiobooks, movie files, video clips, and other media data. Storage service 160 can provide network storage capabilities to mobile devices 102A and mobile device 102B to store documents and media files. The device locator service 170 can enable a user to locate a lost or misplaced device that was connected to one or more wired and / or wireless networks 110 at least at some point in time. Other services may also be provided, including a software update service for updating operating system software or client software on a mobile device. In one embodiment, the messaging service 140, media service 150, storage service 160, and device locator service 170 can each be associated with a cloud service provider, and the various services are facilitated through a cloud service account associated with the mobile devices 102A-102B.

[0031] Mobile devices 102A-102B may have locally accessible applications, services, and functions on the device, including a location service 180. In particular, devices 102A-102B may have a device locator application (e.g., a "Find my" application) 190 to utilize the device locator service 170 and the location service 180. Locally accessible data may be stored in known locations 182 and secure or trusted locations 184. In some cases, a machine learning algorithm 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. For example, cluster data analysis may be used to identify, classify, and provide semantic labels for locations, such as locations frequently visited by the user. Specific secure or trusted locations 184 may be explicitly designated or confirmed as such by the user of devices 102A-B after data analysis. In other examples, known locations 182 or trusted locations 184 may be classified offline and provided by a device locator service 170 or a third party (e.g., 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 the analysis of locally stored data of frequently visited locations. For example, frequently visited locations such as home, car, workplace, and / or any other locations 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 that the user may frequently visit. Boundary information for each stored location may be stored along with the classification type of the location and any semantic labels assigned to the location. Stored information may include a defined set of boundaries or radial distances around point locations to enable the creation of geofences for locations. Geofences are virtual boundaries of real-world geographical areas. The Global Positioning System (GPS) may be used to create a virtual fence around locations and track the physical location of mobile devices 102A-B within the geofence boundaries, as well as their entry into and exit from 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 labels relating to the movement or motion of a device so that it is designated as “moving” or “stable” at a particular location over 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 relating to movement patterns / routines, and / or any other data accessible to the mobile device 102B. In some embodiments, the mobile device 102B may be classified with the “stable” semantic label after remaining within a geographic boundary defining a location (e.g., trusted location 184) over a defined period of time. In the simplest case, positioning data for the mobile device 102B may indicate that it remained within the geofence boundary for a particular location for a certain duration (e.g., 5 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 can support the inference that mobile device 102B is in a stable state, such as when mobile device 102B is located at a calendar reservation location. Application data indicating the type of application being used can also provide the inference that the device is in a stable state, such as when a media application is being used. User history data regarding routines or patterns while on the go can be used to determine whether mobile device 102B is in a stable state, such as a bedtime routine at home or a hotel location. Mobile device 102B can be classified as having the "on the go" label based on the user's previous behavior, patterns, or routines, and can be analyzed on mobile device 102B. For example, a user may have a routine of working at the same time every day, and if data on the device supports that the pattern is repeating, the "on the go" state may be assigned.In its simplest form, the speed at which a mobile device is moving or entering and leaving a known geographic area (e.g., using geofencing) may allow for the inference that mobile device 102B is in motion. If mobile device 102B is detected accelerating in a known transit area (e.g., a road, highway, rail line, etc.), mobile device 102B may be given the status "in motion". Similarly, if a transit application / card is being used / in use, mobile device 102B may be designated as "in motion".

[0034] Figure 2 shows 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, which includes one or more wireless transceivers and can communicate directly or indirectly (e.g., through another device or computer) with a companion device (e.g., a mobile device 102B) via a wireless network or peer-to-peer communication link. Some examples of wireless accessory devices include, but are not limited to, wireless earphones, headphones, headsets, fitness equipment, and other wearable devices (e.g., smartwatches, fitness bands, optical head-mounted displays). The wireless accessory 201 may also include other wireless devices such as game controllers or remote controls. In one embodiment, the wireless accessory 201 also includes smartphones, tablet computers, laptop computers, smart speaker devices, televisions, or television set-top boxes that are unable to access a wide area network such as the Internet (e.g., a wide area network 114 in Figure 1) at least temporarily. The wireless accessory may include any other wireless devices, including beacons or locator tags that can be attached to other devices to enable tracking or locating of those other devices. In one embodiment, the wireless accessory 201 can be paired 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, but the companion device is not limited to a mobile device. In some embodiments, the companion device may also include a laptop or desktop device, and in addition, it may include, but is not limited to, several wearable accessories such as a smartwatch device or a wearable display.

[0035] In one embodiment, the wireless accessory 201 can periodically transmit a wireless beacon signal. The wireless accessory 201 can transmit the beacon signal using one of the various wireless technologies described herein (e.g., Bluetooth®, Wi-Fi, etc.), and in one embodiment, it can also transmit the beacon using ultra-wideband (UWB) wireless technology. The beacon signal can be transmitted using a single wireless technology, one of several selectable wireless technologies, or several simultaneous wireless technologies. The beacon signal can transmit a beacon identifier containing information for specifically identifying the wireless accessory 201. In one embodiment, the beacon identifier is a public cryptographic key associated with the device.

[0036] The beacon signal can also transmit information about the wireless accessory 201, such as the beacon type, device classification, and battery level. In one embodiment, the beacon signal can also transmit device status, such as lost status, alarm status, separated from owner status, or near owner status. The beacon signal may also include information specifying battery life, charge status, and / or other status information. Lost status or "separated from owner" status may indicate that the wireless accessory 201 has determined that it is lost, or has been put into a lost state by the device owner. Alarm status may indicate that the wireless accessory 201 has been put into a status that should trigger an alarm if the device moves from its current location. Near owner status may indicate that the wireless accessory 201 has detected the presence of a mobile device 102B associated with the accessory's owner.

[0037] In some embodiments, the beacon signal can be detected by a finder device (not shown) locally located near the radio accessory 201 in order to use crowdsourcing to locate the lost radio accessory 201. The finder device may be a device similar to the mobile device 102B and may send and receive data over a wide area network 114 and / or may send and receive data using radio technology similar to that of the radio accessory 201 (e.g., Bluetooth). In particular, the finder device may receive data using the radio protocol on which the beacon signal is transmitted. The finder device may determine the location using one or more location and / or positioning services, including, but not limited to, a satellite positioning service 206 or a ground positioning system that uses RF signals received from a radio base station 205 such as a Wi-Fi access point or a cell tower transmitter of a cellular telephone network. In one embodiment, the finder device periodically stores the location determined based on one or more location and / or positioning services. The stored location may be associated with a timestamp on which the location was determined. When the finder device receives a beacon signal from the wireless accessory 201, the finder device can transmit its location to the device locator server 203 via the wide area network 114. The timestamp of the location determined by the finder device can be correlated with the timestamp of when the beacon signal was received in order to associate the geographical location with the received beacon signal.

[0038] If the wireless accessory 201 provides a public key within the beacon signal, the finder device can encrypt the determined location data and transmit the encrypted location data to the device locator server 203 via 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, the 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 and is available.

[0039] In one embodiment, when the finder device receives a beacon signal from the wireless accessory 201, it may behave differently depending on the device status communicated by the wireless accessory 201. In the case of a standard beacon signal, the finder device may queue encrypted location data and transmit the location data to the device locator server 203 during a periodic transmission window. However, if the wireless accessory 201 indicates an alarm state, the finder device may immediately transmit the location data to the device locator server 203. In addition, if the beacon signal from the wireless accessory 201 indicates that the accessory is near its owner, the finder device does not need to transmit the location data to the device locator server 203. Alternatively, the finder device may delay the transmission of encrypted location data.

[0040] If the owner of a wireless accessory 201 wants to locate 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 corresponding to the public encryption key. The location data returned to the mobile device 102B may 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 is then 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 can be determined by triangulation from multiple received locations, as well as by using the beacon signal RSSI associated with each location and other data such as timestamps or UWB ranging data contained within the location data.

[0041] Figure 3 shows a system 300 for pairing and locating a wireless accessory according to an embodiment described herein. In one embodiment, the user's mobile device 102B (e.g., device 102A) of the wireless accessory 201 may present an accessory pairing UI 302 that allows the user to pair the mobile device 102B with the wireless accessory 201. During the initial pairing (305) between the mobile device 102B and the wireless accessory 201, a public key exchange (310) may 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 the public keys of the 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 the 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) further establishes the shared secret using elliptic curve cryptography. For example, elliptic curve Diffie-Hellman (ECDH) can be used to enable the establishment of a public key pair and one or more shared secrets. In one embodiment, one or more shared secrets include a tracking prevention 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 containing device status information and a beacon identifier. In one embodiment, the beacon identifier is a public key derived from a shared secret established during public key exchange (310). Furthermore, the wireless accessory 201 can periodically perform public key derivation (315) to generate a new public key and begin broadcasting the new public key as the beacon identifier. The public key is a K-byte key, with a new K-byte key generated every M minutes. The values ​​K and M may vary between embodiments. In one embodiment, a 28-byte K value is used. In another embodiment, a 27-byte K value is used. The value K can be determined at least in part based on the beacon length associated with the radio protocol used to transmit the beacon signal 301. In one embodiment, the beacon signal can transmit a variation of a beacon advertisement packet associated with a low-energy radio 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 deterministically derived based on the timestamp and the tracking-prevention secret generated during the 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 a tracking-prevention 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 tracking-prevention secret is generated along with the ECDH public key and can be transferred to the wireless accessory 201. The tracking-prevention secret can then be used to allow 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 exponential value λi and a group element such as an elliptic curve point P. The scalar or exponential value λ = KDF(AT,i) is such that KDF is the key derivation function, AT is the tracking-prevention secret, and i is a counter or timestamp.

[0044] In one embodiment, a back-tracking resistor can be enabled to protect the tracking-prevention secret in the event that the wireless accessory 201 is compromised. When the back-tracking resistor is enabled, the tracking-prevention secret is transferred to the wireless accessory 201 but not held by the wireless accessory. Instead, the accessory calculates a value λi+1=H(λi||time) where λ0=AT and H is a cryptographic hash function. The wireless accessory 201 then stores λi over a given period i. If the wireless accessory 201 is compromised, only the current and future values ​​of λi for i are exposed, and the tracking-prevention secret AT is not exposed. In one embodiment, the back-tracking resistor is implemented by periodically writing λi to the non-volatile memory of the wireless accessory 201.

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

[0046] The wireless accessory 201 can enter a near-owner state after transmitting a beacon signal 301, if it 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. Furthermore, while the wireless accessory is in a near-owner state, the amount of data transmitted by the beacon signal 301 can be reduced. In one embodiment, the rate at which new public keys are generated can also be reduced while the wireless accessory is in a near-owner state.

[0047] The wireless accessory 201 can enter an alarm state when it receives a message from the mobile device 102B indicating that the wireless accessory 201 should enter an alarm state. When in an alarm state, the wireless accessory can first enter an activatable state in which the wireless accessory 201 can reduce or stop transmitting locator beacon signals, but other types of wireless signaling can continue. The wireless accessory 201 may remain in the activatable state until the state is deactivated by the mobile device 102B or an alarm is triggered. In one embodiment, the alarm may be triggered when movement is detected, for example, via an accelerometer in the wireless accessory 201. In one embodiment, the alarm may also be triggered when it is detected that the wireless accessory has moved out of range of the mobile device and is no longer close 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 that can receive the beacon signal transmitted by the wireless accessory and transmit the location and other data associated with the beacon signal 301 to the device locator server 203 via the wide area network 114. In one embodiment, the set of finder devices 303 may include a variant of the mobile device 102B or other types of electronic devices. For example, the set of finder devices may perform an operation (320) that correlates the beacon signal 301 received from the wireless accessory 201 with a device location associated with the finder devices. As described with respect to Figure 2, the device location may be determined via a satellite positioning service or a ground positioning system that uses RF signals received from a radio base station (e.g., a Wi-Fi access point or cell tower transmitter). In one embodiment, the set of finder devices 303 may also include a fixed device such as a smart speaker device, a television, or a television set-top box that can receive the beacon signal 301.

[0049] A set of finder devices 303 can encrypt location data using a beacon identifier (e.g., a 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 along with the data transmitted by the finder devices.

[0050] The device locator server 203 can store encrypted location data in a data store 304, and in one embodiment, the data store 304 can be a distributed database having multiple nodes. The 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 complete beacon identifier prevents the server from storing the complete beacon identifier. Other information can also be transmitted and stored along with the location data, either encrypted or unencrypted. Other information may include a timestamp when the beacon signal 301 was received, RSSI information of the received beacon, and / or distance information determined, for example, via UWB ranging.

[0051] If a user or owner of a 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 function 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 for location data (330) to the device locator server 203. The request 330 may include a set of public keys or public key hashes that can act as beacon identifiers for beacon data. The mobile device 102B can generate a set of public keys based on the secret information held by the mobile device 102B and the wireless accessory 201, and the timestamps on which the mobile device 102B wishes to receive the location data. In one embodiment, the set of public keys is a sequence Pi of public keys generated based on a tracking-prevention secret. The sequence of public keys Pi corresponds to a matching sequence of private keys di. The mobile device 102B can generate a sequence of public keys and the corresponding sequence of public keys di, where i is a counter or timestamp. In one embodiment, the mobile device 102B can generate a public key (or a hash of a public key) for the previous 24 hours and send it within request 330. If no data is found for the 24-hour public key, the mobile device 102B can send a generated key for an earlier period and return to a predetermined location data retention limit.

[0052] In one embodiment, encrypted location data is stored and indexed based on a hash of the public key instead of the public key, in order to prevent the location service data provider from storing data that could be used to associate the encrypted location data with a specific device, and therefore a specific user or user account. A finder device can transmit a hash of the public key broadcast within a beacon signal 301 associated with an 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, it may be necessary to send a key to the electronic device to enable the decryption of the location data. In one embodiment, the location data decryption key may be sent to the 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. A notification may be presented to inform the user that the location decryption key is being temporarily shared with the web-based interface server to enable the location data to be decrypted and presented before the location data is displayed via the web-based interface. In one embodiment, the sharing of the location decryption key can be performed via the 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 put into easy lost mode. In easy 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 or not 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 easy lost mode can be instructed by the device locator server 203 to relay a message to the wireless accessory 201 informing it that it is in easy 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 unlocked by the owner. Further examples of paired devices using location services can be found in U.S. Patent Application No. 16 / 543,227, “A System and Method for Locating Wireless Accessories,” filed on 16 August 2019, which is incorporated herein by reference in its entirety.

[0055] Figure 4 is a flowchart illustrating a method for use with the device locator system described herein. Figure 4A shows a method 400 for pairing a mobile device with a wireless accessory. The following descriptions of operation refer to the mobile device 102B, the wireless accessory 201 (e.g., 102A), and the device locator server 203.

[0056] As shown in Figure 4, Method 400 includes an operation (block 401) to perform initial pairing with a wireless accessory. Initial pairing may be Bluetooth® pairing or another type of pairing using other wireless radio technology. During initial pairing, the mobile device and the wireless accessory may exchange identifiers, passkeys, or other authentication information that enables wireless data exchange between the mobile or another electronic device and the wireless accessory. In one embodiment, initial pairing with a wireless accessory may include the exchange of authentication information associated with the wireless protocol on which pairing is performed, enabling all data exchanged wirelessly to have at least a first encryption layer.

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

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

[0059] Figure 5 shows a timeline 500 in which a mobile device 102B provides separation notification while it is in motion, according to one embodiment. In one embodiment, the mobile device 102B is paired with an accessory device 102A and has a wireless connection such as Bluetooth® connection. Thus, the accessory device 102A can be described as “connected” to the mobile device 102B. When the accessory device 102A leaves a trusted location 506 together with the mobile device 102B, separation notification can be provided to the connected accessory device 102A while it is in motion.

[0060] In one embodiment, when the mobile device 102B crosses the boundary of a geofence defined and monitored for a trusted location 502, entry into a trusted location 522 may be detected (526). As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When it is determined 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, whether it is in a “stable” state at the location, whether it has left the location, or whether it is in a “moving” state from / to a location. Upon entering a 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 while the mobile device 102B leaves a trusted location 504 and moves to an untrusted location 512 (e.g., in a “moving” state) (516).

[0061] When movement beyond a threshold distance from trusted location 506 is detected after crossing the geofence boundary of a trusted location, the mobile device 102B may be characterized as having left the trusted location and is in the “moving” 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 moves with the mobile device 102B while it has left trusted location 506 and is in the “moving” state. Bookkeeping may include recording the status of the radio connection between the mobile device 102B and each accessory device 102A that was determined to be between the mobile device 102B and the mobile device 102B at the time of departure 506. Beacon scanning may be performed at an increased rate in addition to monitoring each radio connection to determine each device that is moving with the mobile device 102B. In particular, beacon data received from beacon scanning 518 may include packets from accessory devices 102A having a status (e.g., near owner, far from owner, etc.) of at least one accessory device 102A. Some embodiments may provide storage of positioning information associated with the last status of the accessory device 102A.

[0062] The wireless connection to accessory device 102A can be monitored (516), and if a loss of wireless connection to at least one accessory device 102A is detected, an isolation notification may be sent and displayed on the 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 determine whether a wireless connection to at least one accessory device exists. Bookkeeping may be performed to update the status of nearby devices of the mobile device 102B while it is in motion (e.g., close to owner, far from owner, etc.).

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

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

[0065] Figure 6 is a timeline 600 for providing isolation notification for a mobile device 102B in a “stable” state at an untrusted known location 182, according to one embodiment. In one embodiment, the mobile device 102B is paired with an accessory device 102A and has a wireless connection such as a Bluetooth® connection. Thus, the accessory device 102A can be described as “connected” to the mobile device 102B. In one embodiment, if the accessory device 102A leaves trusted location 182 together with the mobile device 102B, isolation notification can be provided to the connected accessory device 102A at an untrusted location 606.

[0066] In one embodiment, when the mobile device 102B crosses the boundary of a geofence monitored for a trusted location 602, entry into a trusted location 622 may be detected (626). As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When it is determined 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, whether it is in a “stable” state at the location, whether it has left the location, or whether it is in a “moving” state from / to a location. Upon entering a trusted location (602), the radio connection between the accessory device 102A and the mobile device 102B may be monitored (616). In the simplest case, monitoring the radio connection may involve testing (e.g., by attempting to send packets) to confirm whether a radio connection exists to at least one accessory device. The wireless connection may continue to be monitored while the mobile device 102B leaves the trusted location 604 and moves to the untrusted location 612 (e.g., in a “moving” state) (616).

[0067] When movement beyond a threshold distance from a trusted location 606 is detected, the mobile device 102B may be characterized as having left the trusted location and is in the “moving” state 608 by the classifier. Bookkeeping 618 may be performed to determine each of the accessory devices 102A near the mobile device 102B when the user detects the mobile device 102B entering an untrusted location 628 and exiting an untrusted location 620. Bookkeeping may include recording the status of wireless connections 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 scanning may be performed at a high rate to determine each accessory device 102A with the mobile device 102B upon entry into an untrusted location 620 and upon exit from an untrusted known location 610 614. In particular, beacon data received from active beacon scans 618 and 620 may include packets from accessory devices 102A having a status indicating that at least one accessory device 102A is near the owner or away from the owner. Wireless connectivity with accessory devices 102A can be monitored (616), and if loss of wireless connectivity to at least one accessory device 102A is detected, an isolation notification may be sent and displayed on the user interface 104 unless the connection is re-established. Bookkeeping may be performed to update the status of nearby devices of the mobile device 102B.

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

[0069] Figure 7 shows a timeline 700 that provides isolation notifications while the mobile device 102B is in motion, according to one embodiment. In some embodiments, the accessory device 102A is paired with a device associated with a cloud-based user account, registered with a locator service 170 to enable access to the location information of the accessory device 102A, and is a public / private key pair stored in a synchronous keystore described in relation to Figure 4. The mobile device 102B can access the public / private key pair associated with the accessory device 102A by the cloud-based keystore 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.

[0070] As described above, when mobile device 102B is paired with accessory device 102A or accesses a cloud-based keystore, mobile device 102B is associated with accessory device 102A and can access the location information of accessory device 102A's locator service 170. In addition, when mobile device 102B is paired with accessory device 102A and / or has access to a cloud-based keystore using accessory device 102A's public / private key pair, mobile device 102B may be established as representing an ownership relationship with accessory device 102A, and beacon signal status regarding ownership (e.g., near owner and far owner) may be provided using that relationship based on distance to mobile device 102B. In other words, accessory device 102A has a status of near owner when it is near mobile device 102B and a status of far owner when it is not near mobile device 102B. Therefore, accessory device 102A may be described as a registered accessory having a relationship or association with mobile device 102B, but accessory device 102A is released, disconnected, and / or "unconnected" to mobile device 102B. If accessory device 102A leaves trusted location 706 together with mobile device 102B, separation notice may be provided to registered and unconnected accessory device 102A while it is in transit.

[0071] In one embodiment, when the mobile device 102B crosses the boundary of a monitored geofence for a trusted location 702, entry into a trusted location 722 may be detected (726). As described above, trusted and untrusted location information may be accessible on the mobile device 102B. When it is determined 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, whether it is in a “stable” state at the location, whether it has left the location, or whether it is in a “moving” state from / to a location.

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

[0073] Repeated beacon scans may be performed such that the accessory device 102A is monitored by repeated, increased beacon scans (716), and if the lost accessory device 102A is detected, an isolation 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 of the mobile device 102B while it is in motion.

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

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

[0076] Figure 8 is a timeline 800 for providing isolation notification for a mobile device 102B in a “stable” state at an untrusted known location 812, according to one embodiment. In some embodiments, accessory device 102A is a public / private key pair that is paired with a device associated with a cloud-based user account, registered with a locator service 170 to enable access to the location information of accessory device 102A, and stored in a synchronous keystore as described in relation to Figure 4. Mobile device 102B can access the public / private key pair associated with accessory device 102A by the cloud-based keystore 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.

[0077] As described above, when mobile device 102B is paired with accessory device 102A or accesses a cloud-based keystore, mobile device 102B is associated with accessory device 102A and can access the location information of accessory device 102A's locator service 170. In addition, when mobile device 102B is paired with accessory device 102A and / or has access to a cloud-based keystore using accessory device 102A's public / private key pair, mobile device 102B may be established as representing an ownership relationship with accessory device 102A, and beacon signal status regarding ownership (e.g., near owner and far owner) may be provided using that relationship based on distance to mobile device 102B. In other words, accessory device 102A has a status of near owner when it is near mobile device 102B and a status of far owner when it is not near mobile device 102B. Therefore, the accessory device 102A may be described as a registered accessory having a relationship or association with the mobile device 102B, but the accessory device 102A is released, disconnected, and / or "unconnected" to the mobile device 102B. In one embodiment, if the accessory device 102A leaves a trusted location 806 together with the mobile device 102B, an isolation notice may be provided to an unconnected accessory device 102A in an untrusted location.

[0078] In one embodiment, when mobile device 102B crosses the boundary of a geofence monitored for a trusted location, entry into trusted location 802 may be detected (828). As described above, trusted and untrusted location information may be accessible on mobile device 102B. When positioning information for mobile device 102B determines that 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 mobile device 102B has entered a location, is in a “stable” state at the location, has left the location, or is in a “moving” state from / to a location. When movement beyond a threshold distance from trusted location 806 is detected after crossing the geofence boundary of a trusted location, mobile device 102B may be characterized by the classifier as having left trusted location 830 and being in a “moving” state 808.

[0079] Bookkeeping 818 may be performed to determine each of the accessory devices 102A near the mobile device 102B when the user detects the mobile device 102B entering an untrusted location 818 and exiting an untrusted location 820. Bookkeeping may involve recording the status of wireless connections between the mobile device 102B and each device determined to be with the mobile device 102B upon entry 810 and exit 814. The number of wireless connections that the mobile device 102B can establish at any given time may be limited. A person skilled in the art will recognize that as wireless connections are established, lost, and / or re-established over time, the wireless connection status may change for each device, and that bookkeeping is performed to record the wireless connection status for each device. Beacon scanning 818 may be performed at an increased rate, in addition to monitoring each wireless connection, to determine each accessory device with the mobile device 102B upon entry into an untrusted location 820 and exit 814 from an untrusted known location 810. In particular, beacon data received from beacon scans 818 and 820 may include packets from accessory device 102A having a status indicating that at least one accessory device 102A is close to or far from the owner (e.g., a status close to the owner and a status far from the owner). Repeated beacon scans may be performed, as accessory device 102A may be described as being monitored using one or more proactive beacon scans, and if an indication of separation from the owner status is detected 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 the connection is re-established. Bookkeeping may be performed to update the status of nearby devices of mobile device 102B.

[0080] The geofence for untrusted locations can be monitored (824) to detect entry into and exit from untrusted location 832 (834). When leaving untrusted location 804, bookkeeping is performed (820), and when leaving trusted location 814, the status of accessory device 102A (such as accessory device 102A) that was near mobile device 102B is updated. The status may be updated to indicate whether or not it has received beacon data providing information about the status of accessory device 102A, such as whether accessory device 102A is near or far from its owner. In some embodiments, the timeline 700 is repeated when leaving untrusted location 814, and mobile device 102B continues to monitor accessory device 102A that was near mobile device 102B when leaving trusted location 706.

[0081] Figure 9 is a flowchart 900 illustrating bookkeeping, which may be used in some embodiments of the present invention. Optionally, bookkeeping may be performed when at least one location status change of the mobile device 102B or 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 status changes of any mobile device 102B or 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 accessory device 102A may be detected as being in close proximity to a known location using information from a set of devices that can 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, household electronics, any fixture, use of a transit card, other devices fixed to the location, or any other collected on-device data that may indicate the location of the mobile device 102B.

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

[0083] Next, a beacon scan is performed (908) to collect status information about an accessory device 102A that is paired with or otherwise associated with the mobile device 102B. The beacon data may be received by the mobile device 102B (910) and may provide an indication of whether the accessory device 102A is near its owner, far from its owner, or in 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. For example, if all wireless connections for the mobile device are in use, the beacon data for accessory device 102A may have a status of being near its owner and may not be able to connect 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, a condition may be placed on whether the mobile device 102B provides isolation notice to a particular accessory device 102A. An isolation notice may be provided to accessory device 102A if at least one accessory device is near the owner or has a wireless connection to the mobile device 102B when the user leaves a trusted location (914). Those skilled in the art will recognize that isolation notices may be provided when leaving a trusted location, as well as an accessory device acquired in transit, in addition to an untrusted location.

[0085] Figure 10 is a flowchart 1000 illustrating the provision of isolation notifications for connected accessory devices in one embodiment. Movement exceeding a threshold distance from a trusted location is detected (1002). A first geofence may be established for a trusted location, and the detection of a mobile device 102B crossing the boundary of the first geofence may indicate that the mobile device 102B has left 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, as described in Figure 9, can be performed to determine accessory devices 102A within the user's mobile device 102B and update the status information of the accessory devices 102A associated with the mobile device 102B (1004).

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

[0087] Alternatively, if the device location instruction is that the device is in a known location (1006), bookkeeping is performed when the device enters the known location (1010). When it is detected that the mobile device is crossing the geofence boundary of the known location, the geofence of the known location is monitored and bookkeeping (see Figure 9) is performed again (1012). An aggressive beacon scan is performed as shown in Figure 12 (1014). If the connection is not re-established (1018), an isolation notification is sent (1020). An aggressive beacon scan is performed again as shown in Figure 12 to determine the status of accessory device 102A (1020).

[0088] Figures 11A and 11B are flowcharts illustrating the provision of isolation notifications in one embodiment. Figure 11A is flowchart 1100 illustrating a method for providing isolation notifications in order to reduce the waiting time when presenting relevant isolation notifications. When a loss of wireless connectivity to at least one accessory device 102A is detected, a first timer may be set for a first defined period (e.g., 30 seconds) (1102). When the first timer expires, information is requested regarding whether the lost wireless connectivity can be re-established (1104). If the connectivity is re-established (1106), the status of the connectivity is set to established (1108). Alternatively, the status of the connectivity is set to not established (1110).

[0089] Figure 11B is a flowchart 1101 illustrating a technique for providing isolation notifications to reduce latency in presenting relevant isolation notifications. When a loss of wireless connectivity 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 connection status is set to established (1116). Alternatively, the connection status is set to not established (1118).

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

[0091] In some embodiments, the duration of the increased scan may be configured depending on a specific task, such as detecting the accessory device or monitoring the location of the accessory device 102A. For example, upon leaving a trusted location 706, a scan may be performed twice to immediately detect the accessory device 102A using the mobile device 102B, as shown in Figure 7. Continuing the example in Figure 7, the scan may be performed for a longer duration, as shown by the “increased beacon scan” 716, when monitoring the status of the accessory device 102A. In some embodiments, positioning information, such as GPS, is acquired so that the mobile device 102B records the last known location for a specific status of the accessory device 102A (e.g., near owner, far 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). In one embodiment, the beacon and beacon ID are public keys generated by the radio device based on the timestamp and a shared secret generated on the owner's mobile device. The status of a set of accessory devices (e.g., accessory device 102A) can be determined as "close to owner" or "away from owner" based on the received beacon data corresponding to each accessory device (1206).

[0093] Figure 13 is a flowchart 1300 illustrating the provision of isolation notifications for unconnected accessory devices in one embodiment. In one embodiment, movement exceeding a threshold distance from a trusted location 184 is detected. A first geofence may be established for the trusted location, and detection of a mobile device 102B crossing the boundary of the first geofence may indicate that the mobile device 102B has left 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] By performing bookkeeping as described in Figure 9 (1302), the accessory device 102A that is with the user can be determined, and the status information of the accessory device 102A associated with the mobile device 102B can be updated (1304).

[0095] Next, an indication may be received that the location status of mobile device 102B has changed (1306). If the indication is that mobile device 102B is in motion, the beacon scan may be increased (1308). The beacon scan may be increased when it is detected that the device is crossing the geofence boundary of a trusted location. In some embodiments, a classifier on mobile device 102B may be used to indicate that the device is in motion. If a loss of radio connectivity to at least one accessory device is detected (1316), and the connectivity is not re-established as described below with reference to Figures 11A and 11B (1318), a separation notification may be sent (1320). In some embodiments, the last known location geofence may be established at the last known location. If it is detected that the device is crossing the geofence boundary of the last known location over a threshold period, the rate of beacon scan may be increased as shown in Figure 12. If the threshold period is exceeded, a separation notification may be presented on mobile device 102B.

[0096] Alternatively, if the device location instruction is that the device is in a known location (1306), bookkeeping is performed when the device enters the known location (1310). When it is detected that the mobile device 102B is crossing the geofence boundary of the known location, the geofence for the known location is monitored and bookkeeping is performed (1312). An aggressive beacon scan is performed as shown in Figure 12. If the connection is not re-established (1318), an isolation notice is sent (1320). An aggressive beacon scan is performed again (1320).

[0097] Figures 14 to 18 show a device locator UI 204 according to one embodiment. Figure 14 shows a first graphical user interface of the device locator UI 204 according to one embodiment, showing notifications for various wireless accessories of the user. Figure 15 shows a second graphical user interface of the device locator UI 204 according to one embodiment, which allows the user to request that a lost wireless accessory be found on a map, add a trusted location, or stop notifications for the item. Figure 16 shows a third graphical user interface of the device locator UI 204 according to one embodiment, which allows the user to find a wireless accessory on a map. Figure 17 shows a third graphical user interface of the device locator UI 204 according to one embodiment, which allows the user to be notified when a wireless accessory is set to lost mode or when it is found.

[0098] As shown in Figure 14, the device locator UI 204 can be displayed on an electronic device 102B, which may be a mobile device 1400 or any other type of electronic device as described herein. The device locator UI 204 can be made to display an isolation notification 1402 on the home screen 1401 of the electronic device 1400.

[0099] As shown in Figure 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 may include a map 1504 having markers 1505 that indicate the current or last known location of a wireless device or accessory. The markers 1505 can be icons, images, graphics, or any other user interface elements that identify the accessory and communicate the location of the accessory. An selectable element 1506 within the device locator UI 204 may present a description or name of the wireless device or accessory and may show the estimated distance between the wireless device or accessory and the current location of the electronic device 1500, as shown in Figure 16. An selectable element 1503 within the device locator UI 204 may present an interface that allows the user to choose to add trusted locations, and an selectable element 1507 may present a user interface that allows the user to choose not to be notified about the location of a particular item.

[0100] As shown in Figure 16, the device locator UI 204 can present a second user interface that allows the wireless accessory to see the distance from item 1603 and electronic device 1600. In one embodiment, the second user interface can be displayed depending on the selection of selectable element 1506 shown in Figure 15. The second user interface can present a user interface element 1602 that represents and / or describes the wireless accessory in question, as well as a map 1601 and markers 1602 that show the current or last known location of the wireless accessory.

[0101] As shown in Figure 17, the device locator UI 204 may present a third graphical user interface that allows setting a wireless accessory to 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 may present a user interface element 1704 that represents and / or describes the wireless accessory in question and a set of selectable user interface elements. One selectable user interface element 1706 may 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 set to simple lost mode. An electronic device associated with the device locator UI 1704 may generate a set of public keys that the wireless accessory broadcasts with a beacon signal over 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 may notify one or more electronic devices associated with the user.

[0102] Another selectable user interface element 1707 allows the wireless accessory to be put into explicit lost mode. When explicitly put into lost mode, the wireless accessory cannot be paired with other devices until the accessory is unlocked by the user or owner who puts the device into lost mode. When submitting a request to put a wireless accessory into lost mode, the requesting user may be asked to enter credentials to ensure that the requesting user is authorized to request that lost mode be initiated on the lost accessory. Credentials may include a username or password associated with the user's account, such as a cloud service account to which the user, electronic device, and wireless accessory are associated. Credentials 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 can be displayed on the user's device to warn the person who finds the lost wireless accessory how to contact the requesting user. In another embodiment, the message and contact information can be displayed when another user attempts to pair another electronic device with the lost accessory.

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

[0105] Figure 19 is a block diagram illustrating an exemplary API architecture that may be used in some embodiments of the present invention. As shown in Figure 19, the API architecture 1900 includes an API implementation component 1910 (e.g., an operating system, library, device driver, API, application program, software, or other module) that implements API 1920. API 1920 specifies one or more functions, methods, classes, objects, protocols, data structures, formats, and / or other functionalities of the API implementation component that may be used by an API calling component 1930. API 1920 may specify at least one calling convention that specifies how a function of the API implementation component receives parameters from an API calling component and how a function returns 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 API 1920 to access and use the functionalities of the API implementation component 1910 specified by API 1920. The API implementation component 1910 may return a value to the API call component 1930 via API 1920 in response to an API call.

[0106] It will be understood that the API implementation component 1910 may include additional functions, methods, classes, data structures, and / or other functionalities not specified through API 1920 and not available to the API invocation component 1930. It should be understood that the API invocation component 1930 may be on the same system as the API implementation component 1910 or may be located remotely and can access the API implementation component 1910 over a network using API 1920. Figure 19 shows a single API invocation component 1930 interacting with API 1920, but it should be understood that other API invocation components that can 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, API 1920, and API calling component 1930 may be stored in a machine-readable medium, which includes any mechanism for storing information in a format readable by a machine (e.g., a computer or other data processing system). Examples of machine-readable media include magnetic disks, optical disks, random-access memory, read-only memory, and flash memory devices.

[0108] Figure 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 peripheral device interface 2006. Various components can be connected by one or more communication buses or signal lines. Various components may be separate logic components or devices, or they 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 a memory 2050 which may 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 facilitate multiple functions by being coupled to the peripheral interface 2006. For example, motion sensors 2010, light sensors 2012, and proximity sensors 2014 can be coupled to the peripheral interface 2006 to facilitate mobile device functions. One or more biometric sensors 2015 may also be present, such as a fingerprint scanner for fingerprint authentication or an image sensor for facial recognition. Other sensors 2016 can also be connected to the peripheral interface 2006, such as a positioning system (e.g., a GPS receiver), a temperature sensor, or other detection devices, to facilitate related functions. Camera functions, such as recording photographs and video clips, can be facilitated by utilizing a camera subsystem 2020 and optical sensors 2022, such as a charge-coupled device (CCD) or a capture-type metal-oxide-semiconductor (CMOS) optical sensor.

[0111] Communication functions can be facilitated through one or more wireless communication subsystems 2024, such subsystems as 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) on which the mobile device is intended to operate. For example, a mobile device including the illustrated device architecture 2000 may include wireless communication subsystems 2024 designed to operate on a GSM network, CDMA network, LTE network, Wi-Fi network, Bluetooth network, or any other wireless network. In particular, the wireless communication subsystem 2024 can provide a communication mechanism that allows a media playback application to retrieve resources from a remote media server or scheduled events from a remote calendar or event server.

[0112] By integrating the audio subsystem 2026 with the speaker 2028 and microphone 2030, voice-enabled functions such as voice recognition, voice duplication, digital recording, and telephone functions can be easily implemented. In the smart media devices described herein, the audio subsystem 2026 may be a high-quality audio system including support for virtual surround sound.

[0113] The I / O subsystem 2040 may include a touchscreen controller 2042 and / or other input controllers (one or more) 2045. In the case of a computing device including 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 the touchscreen controller 2042 may detect contact and movement and / or pressure using any of a plurality of touch and pressure sensing technologies, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, and other proximity sensor arrays or other elements for determining one or more contact points with the touch-sensitive display system 2046. Display outputs 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, the sensor controller 2044 is included for monitoring, controlling, and / or processing data received from one or more of the motion sensor 2010, the light sensor 2012, the proximity sensor 2014, or other sensors 2016. The sensor controller 2044 may include logic for interpreting the sensor data and determining the occurrence of one of more motion events or activities by analyzing the sensor data from the sensors.

[0115] In one embodiment, the I / O subsystem 2040 includes one or more other input controllers 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 styluses, 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 may 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 can also store communication 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, which include graphical user interface instructions to facilitate the processing of a graphical user interface.

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

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

[0120] Figure 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 various 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 provide computing devices and / or server devices to which computing devices can connect.

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

[0122] The computing system 2100 may also include a read-only memory (ROM) 2130 and / or another data storage device 2140 coupled to a bus 2135 that can store information and instructions for one or more processors 2110. The data storage device 2140 may be or include various storage devices such as flash memory devices, magnetic disks, or optical disks, and may be coupled to the computing system 2100 via the bus 2135 or via a remote peripheral interface.

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

[0124] The computing system 2100 may further include one or more network interfaces 2180 to provide access to a network such as a local area network. The network interfaces 2180 may include a wireless network interface having, for example, one or more antennas 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 a cellular telephone interface. For example, the network interfaces 2180 may also include a wired network interface for communicating with a remote device 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 by conforming, for example, IEEE 802.11 and / or the IEEE 802.11 standard, and / or the wireless network interface may provide access to a personal area network by conforming, for example, the Bluetooth standard. Other wireless network interfaces and / or protocols may also be supported. In addition to, or instead of, communication via the wireless LAN standard, the network interface(s) 2180 may provide wireless communication using, for example, the Time Division Multiple Access (TDMA) protocol, the Global System for Mobile Communications (GSM) protocol, the Code Division Multiple Access (CDMA) protocol, the 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 sources 2105 may include an external power supply, one or more batteries, one or more charge storage devices, a USB charger, or an AC / DC adapter coupled to another energy source. The energy measurement systems include at least one voltage or amperage measuring device capable of measuring the energy consumed by the computing system 2100 over a given period of time. Furthermore, it may include one or more energy measurement systems that measure the 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) of the system (client device or server). For example, the function may be a hardware acceleration function. In addition, in some embodiments, the system may use functions that are part of a special instruction set. For example, an instruction set that may be an extension to an instruction set architecture for a particular type of microprocessor may be used. Thus, in one embodiment, the system may provide a hardware acceleration mechanism for performing cryptographic operations to improve the speed at which it performs the functions described herein using these instruction sets.

[0128] When utilizing various aspects of the embodiments, it will be apparent to those skilled in the art that combinations or modifications of the above embodiments are possible to form stacked system-in-package structures. While the embodiments have been described in specific language for structural features and / or methodological work, it should be understood that the appended claims are not necessarily limited to the specific features or work described above. The specific features and actions disclosed should rather be understood as explanatory embodiments of the claims.

Claims

1. A computer implementation method, The electronic device determines that it has moved beyond a threshold distance from the first location and entered the geofence boundary of the second location. When the electronic device is within the geofence boundary of the second location, the status of the wireless connection between at least one accessory device and the electronic device is monitored by the electronic device. The electronic device determines that the status indicates a loss of wireless connection between the electronic device and the at least one accessory device. The electronic device transmits a separation notice based on at least a portion of the loss of wireless connection, Computer implementation methods including

2. Furthermore, before monitoring the status of the wireless connection, the electronic device determines whether it has been staying within the geofence boundary for a threshold period of time, The computer implementation method according to claim 1.

3. Furthermore, the method includes determining whether at least one accessory device is located near the electronic device. The computer implementation method according to claim 1.

4. Determining that the at least one accessory device is near the electronic device includes receiving instructions for a wireless connection with the at least one accessory device, or receiving beacon data indicating that the at least one accessory device is nearby. The computer implementation method according to claim 1.

5. Determining that the at least one accessory device is near the electronic device includes the electronic device determining, in response to receiving beacon data from the accessory device, that the at least one accessory device is within range of being able to respond to it. The computer implementation method according to claim 4.

6. After determining that the status indicates the loss of wireless connection, a first timer is set for a first defined period. When the first timer expires, information is requested regarding whether the lost wireless connection has been re-established. To update the information stored regarding the status of the wireless connection, Unless the aforementioned lost wireless connection has been re-established, the separation notice will be transmitted. The computer implementation method according to claim 1, further comprising:

7. Monitoring the last known location with geofencing, Based on the detection that the geofence boundary of the last known location has been crossed over a threshold period, the rate of beacon scans will be increased, The computer implementation method according to claim 1, further comprising:

8. The rate of the beacon scan is performed every N seconds over M minutes with a higher duty cycle. The computer implementation method according to claim 7.

9. Increasing the rate of the beacon scan so that it is performed at a rate P times greater than the expected rate of packets received from the at least one accessory device, The computer implementation method according to claim 8, further comprising:

10. One or more computer programs, comprising computer executable instructions executed by one or more processors in an electronic device, The electronic device is made to determine that it has moved beyond a threshold distance from the first location and entered the geofence boundary of the second location. When the electronic device is within the geofence boundary of the second location, the status of the wireless connection between at least one accessory device and the electronic device is monitored by the electronic device. The electronic device is made to determine that the status indicates a loss of wireless connection between the electronic device and the at least one accessory device. The electronic device causes the transmission of a separation notice based on at least a portion of the loss of wireless connectivity. A computer program that performs an action.

11. Furthermore, it includes additional computer executable instructions that, when executed by one or more processors, cause the electronic device to perform additional operations, wherein the additional operations are: Before monitoring the status of the wireless connection, the electronic device is made to determine whether it has been staying within the geofence boundary for a threshold period of time. The computer program according to claim 10.

12. Determining that the at least one accessory device is near the electronic device includes causing the electronic device to determine that it is within range of the at least one accessory device in response to receiving beacon data from the accessory device. The computer program according to claim 10.

13. Furthermore, it includes additional computer executable instructions that, when executed by one or more processors, cause the electronic device to perform additional operations, wherein the additional operations are: Based on the detection of the loss of wireless connectivity of at least one accessory device, a first timer is set for a first defined period. When the first timer expires, it requests information regarding whether the lost wireless connection has been re-established. Update the stored information regarding the status of the wireless connection. Unless the aforementioned lost wireless connection has been re-established, the separation notification will be sent. The computer program according to claim 10.

14. Furthermore, it includes additional computer executable instructions that, when executed by one or more processors, cause the electronic device to perform additional operations, wherein the additional operations are: Use geofence to monitor the last known location. Based on the detection that the geofence boundary of the last known location has been crossed over a threshold period, increase the rate of beacon scans. The computer program according to claim 10.

15. The rate of the beacon scan is performed every N seconds over M minutes with a higher duty cycle. The computer program according to claim 14.

16. Furthermore, the rate of the beacon scan is increased so that it is performed at a rate P times higher than the expected rate of packets received from the at least one accessory device. The computer program according to claim 14.

17. Memory containing computer executable instructions, A processor that accesses the memory and executes the computer executable instructions, The electronic device determines that it has moved beyond a threshold distance from the first location and entered the geofence boundary of the second location. If the electronic device is located within the geofence boundary of the second location, the status of the wireless connection between at least one accessory device and the electronic device is monitored by the electronic device. The electronic device determines that the status indicates a loss of wireless connection between the electronic device and the at least one accessory device. The electronic device transmits a separation notice based on at least a portion of the loss of wireless connectivity. A processor configured to perform an operation, An electronic device equipped with the following features.

18. The memory includes additional computer executable instructions, and the processor further, The electronic device is configured to determine whether it has been staying within the geofence boundary for a threshold period of time. The electronic device according to claim 17.

19. The memory includes additional computer executable instructions, and the processor further, The electronic device is configured to determine, upon receiving beacon data from the accessory device, that at least one accessory device is within range to respond to it. The electronic device according to claim 17.

20. The electronic device determines whether it is within the geofence boundary of the first location, The electronic device receives first beacon data from at least one accessory device, indicating that the electronic device is within range of the at least one accessory device in response to receiving the first beacon data. The electronic device determines that it has crossed the geofence boundary of the first location. After determining that the electronic device has crossed the geofence boundary, the electronic device receives second beacon data from the at least one accessory device indicating that the at least one accessory device is out of range. Upon receiving the second beacon data, the electronic device transmits an isolation notification, at least partially based on the fact that the at least one accessory device is out of range. Computer implementation methods, including those mentioned above.

Citation Information

Patent Citations

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

    JP2007150904A

  • Separation notifications for wireless accessories

    WO2020214711A1