Generate unexpected location notification

By establishing encrypted communication between the monitoring device and the monitored device, and utilizing geofencing and time period configuration, the system automatically detects and notifies users of location deviations, solving the problem of users being unable to monitor device location in real time. This enhances security and privacy while reducing device battery and data consumption.

CN115529559BActive Publication Date: 2026-01-30APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211137581.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-04-10
Filing Date
2020-05-06
Publication Date
2026-01-30
Estimated Expiration
2040-05-06

AI Technical Summary

Technical Problem

In existing technologies, it is difficult for users to monitor and notify whether mobile devices have deviated from their expected location in real time, especially when the device cannot be physically observed, leading to security and privacy issues.

Method used

By establishing encrypted communication between the monitoring device and the monitored device, and utilizing geofencing and time period configuration, the monitoring device automatically detects the location of the monitored device and sends notifications when it deviates from the expected location or loses connection, ensuring that users are aware of the device's location in a timely manner.

Benefits of technology

It improves device security and privacy, reduces battery consumption and data usage, and provides real-time location monitoring notifications, enhancing users' understanding of the device's location.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115529559B_ABST
    Figure CN115529559B_ABST
Patent Text Reader

Abstract

This disclosure relates to generating unexpected location notifications. Specifically, a method is disclosed, comprising: receiving an expected location configuration from a second device associated with a second user by a first device associated with a first user, the expected location configuration specifying a time period defined by a start time and an end time and an expected geographic area where the first device is expected to be located during the specified time period; determining by the first device that the current time is within the time period specified in the expected location configuration; determining by the first device at the current time that the location of the first device is different from the geographic area specified by the expected location configuration; and in response to at least determining that the location of the first device is different from the geographic area specified by the expected location configuration: sending a first notification from the first device to the second device indicating that the first device is not within the geographic area.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with application number 202010370550.8, application date May 6, 2020, entitled "Generating Unexpected Location Notification". Technical Field

[0002] This disclosure relates in general to receiving a notification at a computing device when another computing device is not in the expected location. Background Technology

[0003] Many users may have mobile computing devices capable of tracking and reporting their location. Parents or guardians of these users may wish to utilize these capabilities. For example, parents of children using mobile devices may use the capabilities of their children's devices to ensure their safety. For instance, parents may want to ensure their children's safety during times when they may not be physically able to watch over them (e.g., when the child is at school). Similarly, guardians of elderly users may want to use the location monitoring capabilities of the elderly user's computing device to ensure the elderly user is where they are expected to be. Summary of the Invention

[0004] In some implementations, when the first computing device is not in its intended location, it can send a notification to the second computing device. The user of the second computing device (e.g., a parent or guardian) can remotely configure (e.g., associated with a child) the intended location of the first computing device, which could be a specific location for a given time period. During this time period, the first computing device can monitor its own location and check if it is within the intended location. If the first computing device leaves or fails to enter the intended location during the configured time period, it can transmit a notification to the second computing device indicating that the second computing device is not in the intended location. Similarly, if the first computing device loses connectivity with other devices, the second computing device provides a notification to the user (e.g., a parent or guardian) regarding the inability to determine the location of the first computing device.

[0005] Specific implementations offer at least the following advantages. For example, these implementations provide parents with a way to define the expected location for their child's device and receive a notification if the device is not in the expected location. This improves the child's safety because the device can be used to ensure the child is in a safe location (e.g., school) rather than an unsafe one. The notification improves parents' use of their computing devices because they receive notifications instead of having to periodically contact or worry about their child's location. These implementations are faster than known methods because parents receive notifications immediately rather than being notified of a lost child by someone else. These implementations are advantageous because they notify parents even when the child's device is unreachable according to the expected notification regarding the child's location. This also improves parents' understanding of their child's location, as they can then use another method to locate the child. Furthermore, the child's device monitors its own location and does not exchange location information with, for example, servers. The child's device can perform low-power location checks relative to its surroundings, rather than power-intensive location determination that requires communication with external servers and more complex location calculations. This reduces the child's device's battery usage, data usage, and processor cycling. This also enhances the child's privacy, as no other device tracks or otherwise manipulates the child's location.

[0006] Details of one or more specific embodiments are set forth in the following figures and detailed descriptions. Other features, aspects, and potential advantages will become apparent from the detailed descriptions, the figures, and the claims. Attached Figure Description

[0007] Figure 1 This is a block diagram of an exemplary system for unexpected location notifications.

[0008] Figure 2 This is a notification timeline diagram illustrating how different notifications can be transmitted based on different expected location configurations and time periods.

[0009] Figure 3 The configuration process is shown, through which the desired location configuration can be generated and implemented on the monitored device.

[0010] Figure 4 This is an example of a monitored device transmitting a notification of the expected location when it enters the expected location.

[0011] Figure 5 This is an example of a monitored device transmitting a notification of an unexpected location when it enters the expected location.

[0012] Figure 6 This is an example of a monitored device transmitting a notification of the expected location when it leaves the expected location.

[0013] Figure 7 The connection loss status of the monitored device is shown, in which the server device then notifies the monitoring device that the monitored device is unreachable.

[0014] Figure 8 The monitoring device is shown when it receives a notification of an unexpected location.

[0015] Figure 9 The action flow that can be followed after receiving an unexpected location notification is shown.

[0016] Figure 10 This is a flowchart of an exemplary process performed by the monitored device for notification of unexpected locations.

[0017] Figure 11 This is another flowchart of an exemplary process performed by monitoring equipment for notification of unexpected locations.

[0018] Figure 12 It is achievable. Figures 1 to 11 A block diagram of an exemplary computing device illustrating its features and processes.

[0019] Similar reference symbols in the various figures indicate similar elements. Detailed Implementation

[0020] Figure 1 This is a block diagram of an exemplary system 100 for generating notifications of unexpected locations. For example, parents may want to determine when their child deviates from expected routine behavior or leaves an expected location (e.g., school, home, etc.) during the day when they may not be able to physically observe their child. Parents can use monitoring device 140 to create expected locations for monitored device 138 (e.g., using the child's device as a proxy for the child) and send the expected locations to monitored device 138. Monitored device 138 can monitor the location of the monitored device during a time period specified for the expected location and notify monitoring device 140 (e.g., the parent's device) when the child is not at the expected location during said specified time period.

[0021] refer to Figure 1In some implementations, system 100 may include a monitoring device 140 and a monitored device 138. Notification of either monitoring device 140 or monitored device 138 may be a laptop computer, desktop computer, smartphone, tablet, wearable device (e.g., smartwatch), or any other computing device. For example, system 100 may be an unexpected location notification system that provides users of monitoring device 140 (e.g., parents or other authorized family members) with the ability to remotely create (e.g., associated with a child or other family member) an expected location configuration for monitored device 138 via network 120 (e.g., LAN, WAN, Internet, etc.) and / or server device 110. System 100 may also provide operators of monitoring device 140 with the ability to receive notifications when the monitored device is not in the expected location or when notification of being in the expected location is not provided at a specific time (e.g., due to the monitored device losing connection).

[0022] User-specified desired location configurations (e.g., configurations based on time, geographic location, device environment / conditions, etc.) and any communication corresponding to those configurations can be encrypted end-to-end, as described herein. This ensures that configuration data can only be accessed by devices associated with the user (e.g., and / or their child), and not by the server (e.g., server 110), thus protecting user privacy.

[0023] In some implementations, monitoring device 140 may generate a desired location configuration for the monitored device 138. For example, a parent may use a configuration application 145 at monitoring device 140 to create a desired location configuration. The desired location configuration may include various specific specifications. For example, the desired location configuration may include geofence specifications, geofence identifiers, time periods, and the target monitored device 138.

[0024] In some implementations, parents define the desired location as a geofence. A geofence can be a virtual geographic boundary representing a real-world location as a virtual entity. In some implementations, parents define the geofence specification using, for example, geographic coordinates, distance measurements, etc. For example, configuration application 145 may provide one or more interfaces for parents to view locations on a map, draw boundaries to form geofences, etc. Configuration application 145 may also receive text-based location input (e.g., addresses). The created geofence may precisely track the boundaries of a location (e.g., the walls of a building), or it may be an approximate shape surrounding the location (e.g., a circle large enough to encompass the entire building). Parents may implement the created geofence on the target monitored device as the desired location. Parents may define the time period as the time during which the geofence represents the desired location of the monitored device. In some implementations, configuration application 145 may generate a data structure or structured data object representing the desired location configuration. The data structure may be configured to be consumed by, for example, the monitored device 138.

[0025] In some implementations, monitoring device 140 may be configured to send a desired location configuration to monitored device 138. For example, monitoring device 140 may send the desired location configuration to monitored device 138 via server 110. Monitoring device 140 may also send these configurations directly to monitored device 138 via a peer-to-peer connection (e.g., Bluetooth, peer-to-peer Wi-Fi, etc.) or via some other network connection that does not include server 110.

[0026] In some implementations, parents and children may each use computing devices registered within a set of interconnected devices (e.g., a family group). In other implementations, a single user account may be used to operate each device. For example, a user family (e.g., two parents and their child) may each have a specific user account. Family user accounts may be linked together within a user account family or user account network. The associations between user accounts can be further defined. For example, when purchasing or activating a device, a parent may configure an account that can configure or control how other accounts are used. Similarly, a parent's account may be authorized to implement intended location configurations on the child's computing device and receive notifications of unintended locations.

[0027] In some implementations, each of the monitoring device 140 and the monitored device 138 is included within the home of the associated device, as described above. Therefore, Figure 1A monitoring device 140 and a monitored device 138 in a family group 180 are illustrated. In other embodiments, these devices are not associated as devices, but rather as user accounts used with each device, as described above. Each device can execute a different user application used by a different user for a desired location configuration. For example, a parent can use the configuration application 145 of monitoring device 140 to generate a desired location configuration. The parent can then transmit the generated desired location configuration from monitoring device 140 to monitored device 138, for example, used by one of the parent's children. Monitoring device 140 can also be used to communicate with server device 110 and receive notifications of actions from monitored devices.

[0028] In some implementations, the monitored device 138 receives a data message that includes a desired location configuration. The monitored device 138 may receive the data message from server device 110. The monitored device 138 may be configured to identify an account identifier associated with the desired location configuration based on the data message.

[0029] The monitored device 138 can be configured to determine that an account identifier is a member of a trusted group (e.g., a family group) of account identifiers. For example, the monitored device 138 can identify a parent's account identifier. Alternatively, the monitored device 138 can identify an account identifier as belonging to an account identifier family (e.g., a user family) that also includes a user account identifier currently used with the monitored device 138. In response to determining that an account identifier associated with a received expected location configuration is authorized, the monitored device 138 can be configured to automatically apply the expected location configuration. In one embodiment, the monitored device 138 implements the expected location configuration to compare its current location with an expected location for a specified time, and if the monitored device 138 determines that it is in an unexpected location, it transmits a notification to the monitoring device 140.

[0030] In some implementations, the anticipated location configuration results in a change to the default configuration of the monitored device 138. For example, the anticipated location configuration may cause the monitored device 138 to perform new tasks, such as periodically comparing the current time with a time period specified in the anticipated location configuration, periodically checking its own location, comparing its location with another location, and transmitting notifications triggered by location comparisons.

[0031] More specifically, the monitored device 138 can be configured by a desired location configuration to periodically detect the current time and determine whether it is within a specified time period. For example, a parent could create a desired location configuration for their child's monitored device 138 during school hours (e.g., 9:00 AM to 3:00 PM). The monitored device 138 can be configured to periodically (e.g., every minute) detect its current location. The monitored device 138 can be configured to compare its current location with a desired location provided in the desired location configuration. For example, the monitored device 138 can compare its current location with a geofence provided in the desired location configuration. The monitored device 138 can use the comparison to determine whether it is inside or outside the geofence. The monitored device 138 can periodically perform location checks and location comparisons during the time period specified in the desired location configuration. In one implementation, the monitored device 138 checks its own location only relative to a local point (e.g., a Wi-Fi device). The monitored device 138 may not be configured to provide its location to the server device 110. The monitored device 138 may not be configured to respond to location data requests from the server device 110 or the monitoring device 140.

[0032] In one implementation, the monitored device 138 may be configured to determine that it is in an unexpected location. For example, the monitored device 138 may detect that the current time is within a time period specified in the expected location configuration. The monitored device 138 may determine that its current location is outside the geofence representing the expected location as described above.

[0033] The monitored device 138 can be configured to determine a confidence level associated with an expected location notification. The confidence level can indicate the likelihood that the device is near or held by a child. For example, the monitored device 138 can be a wearable device (e.g., a smartwatch) worn by a child on their wrist. The monitored device 138 can be configured to detect whether it is on a child's wrist. For example, the monitored device 138 can use multiple body temperature, motion, haptic feedback, or other sensors to detect whether the child is wearing the device or whether it has been placed, for example, in a locker or on a desk. Alternatively, the monitored device 138 can be a mobile phone device or a mobile computing device (which is typically not wearable). The monitored device 138 can be configured to determine whether the child has recently used or moved the monitored device 138. Based on data from the one or more sensors, the monitored device 138 can determine a confidence level that the monitored device 138 is held by or near a child.

[0034] In one implementation, the monitored device 138 provides a confidence level as part of a notification it sends to the server device 110. For example, the monitored device 138 may provide a percentage value, a grade, or a measure on a defined scale to indicate the confidence level. In some implementations, the monitored device 138 may provide a confidence level only when the confidence level is low (e.g., to prompt parents to take action, such as locating the child).

[0035] Based on the determination, the monitored device 138 can be configured to generate an unexpected location notification. In some embodiments, the unexpected location may include an identifier of the monitored device 138 and a notification that the monitored device 138 is outside the expected location. In some embodiments, the monitored device 138 may not transmit any data about the geofence, but only data about the monitored device 138 being outside the geofence that serves as its expected location. In other embodiments, the monitored device 138 may send a geofence identifier of the expected location. For example, there may be a situation where the monitored device 138 leaves the expected first geofence that overlaps with an unexpected second geofence. In this case, the monitored device 138 may be within the second geofence, but this may not be its expected location. Therefore, the monitored device 138 provides a geofence identifier of the geofence in which the monitored device 138 is required to be located at that time. In some embodiments, the geofence identifier cannot be used to determine the specifications of the geofence. For example, the geofence identifier may simply be a random number created by the monitoring device 140 when creating the expected location configuration to be associated with the geofence. For example, monitoring device 140 may use encryption keys that server device 110 may not have to generate geofence identifiers.

[0036] In some implementations, the expected location configuration allows the monitored device 138 to send a notification only if it unexpectedly enters or leaves the geofence. In other implementations, the expected location configuration allows the monitored device 138 to send a notification whenever it enters or leaves the geofence, regardless of whether it is expected or unexpected. This means sending notifications when there is expected entry, expected exit, unexpected entry, or unexpected exit. In other implementations, a notification is sent whenever the monitored device 138 unexpectedly remains within the geofence for more than the said time period or unexpectedly fails to enter the geofence at the start of the said time period.

[0037] In some implementations, the monitored device 138 may transmit an unexpected location notification to the server device 110. The monitored device 138 may transmit the notification to the server device 110 under several different circumstances. For example, the monitored device 138 may transmit a notification to the server device 110 whenever the monitored device 138 unexpectedly enters an expected location or unexpectedly leaves an expected location (e.g., leaves too early or too late). In some implementations, the server device 110 may be configured to transmit a notification to the monitoring device 140 only if the monitored device 138 reports unexpected behavior. In other words, the server device 110 may forward a notification to the monitoring device 140 only if the monitored device 138 reports that it is in an unexpected location or leaves an expected location too early or too late. In other implementations, the server device 110 forwards all notifications it receives to the monitoring device 140.

[0038] In some implementations, the monitored device 138 is alerted whenever a new intended location configuration is created for it. For example, a child can view a notification on the monitored device 138 indicating that their parent has set up an intended location configuration on the monitored device 138.

[0039] In some implementations, users of the monitored device 138 may be authorized to review, approve, edit, or remove intended location configurations. For example, users may be notified of new intended location configurations, and users may provide approval for the intended location configurations before they take effect. Approval may be provided per intended location. For example, a child may approve intended location configurations related to the child's school but reject intended location configurations related to the child's home. Children may provide one-time approval for intended location configurations. For example, older children may have greater freedom to enter and leave school and may only occasionally or temporarily comply with intended location configurations. In contrast, parents of younger children may want continuous approval for intended location configurations; therefore, younger children using the monitored device 138 may provide continuous approval.

[0040] Accordingly, whenever monitoring device 140 edits an existing expected location configuration, the monitored device 138 may be notified. For example, a parent may expand the size of the expected location or increase the associated time period during which the child is expected to be within the expected location. These changes are notified to the monitored device 138, and the user (e.g., the child) may choose to approve or reject the changes either once or continuously.

[0041] Additionally, the monitored device 138 can also display a notification whenever a notification is provided to a specific monitoring device. For example, if a child leaves the expected location, the monitored device 138 will notify the monitoring device 140 and display a notification stating that the child is in an unexpected location.

[0042] In some implementations, monitoring device 140 may not receive notifications if the monitored device 138 removes the expected location configuration. For example, a child may remove the expected location configuration from the monitored device 138. Therefore, the monitored device 138 may not compare its location with the expected location and may not send any notifications to anyone, regardless of the current location of the monitored device 138. Parents may notice the configuration removal and may discuss with their child why they wanted to maintain the expected location configuration on the monitored device 138.

[0043] In some situations, the monitored device 138 may lose connection with the server device 110. For example, the monitored device 138 may encounter technical problems, or weather conditions may cause signal loss. In this case, the server device 110 may not receive any communication from the monitored device 138 at all (e.g., when a notification is scheduled to be sent from the expected location). In this case, the server device 110 may not forward any information to the monitoring device 140.

[0044] Monitoring device 140 can be configured to track whether it receives notifications as expected (e.g., considering connection loss). For example, configuration application 145 can be configured to operate a scheduler module. Using the scheduler module, configuration application 145 can be configured to compare the time period specified in the expected location configuration with the current time. Configuration application 145 can be configured to determine whether the current time overlaps with the time period of the expected location configuration. If they overlap, configuration application 145 can be configured to determine whether the expected location configuration specifies sending an expected location notification (e.g., a notification when a child enters school at the expected time). If an expected location notification is specified, configuration application 145 can determine whether that notification has been received at the current time. If an expected location notification is needed but not received, configuration application 145 can be configured to display a location unknown notification to the user (e.g., a parent).

[0045] For example, a person can remove a pre-defined location configuration to avoid location monitoring by a second person who is perceived as a threat. For instance, a first person might be subject to a second person's pre-defined location configuration on their monitored device 138. If the first person is not in the second person's pre-defined location, the second person might threaten or harm the first person. The first person could then secretly remove the pre-defined location configuration. Thus, the first person could escape the pre-defined location without any notification reaching the second person's monitoring device 140 and attempt to obtain assistance from the authorities.

[0046] Figure 1The server device 110 is shown to include a notification service 112 and a data storage 132. The notification service 112 includes a notification communicator module 116. The data storage 132 includes configuration data 122. The notification communicator module 116 of the server device 110 can be configured to receive expected location configuration from a monitoring device 140 and transmit the expected location configuration to a monitored device 138. The notification communicator module 116 of the server device 110 can also be configured to receive unexpected location notifications from the monitored device 138 and transmit the notifications to the monitoring device 140.

[0047] In some implementations, the notification communicator module 116 receives data transmissions or messages from the monitoring device 140 that include the expected location configuration and the user account identifier of the user of the target monitored device. In some implementations, the monitoring device 140 may encrypt the expected location configuration but not the user account identifier, enabling the notification communicator module 116 to transmit the expected location configuration to the correct user.

[0048] Data storage 132 includes configuration data 122. Configuration data 122 may include stored, encrypted expected location configurations. For example, in the event that server device 110 loses network connectivity via network 120 to, for example, monitored device 138, configuration data 122 may store expected location configurations received from monitoring device 140. Configuration data 122 may store or cache the expected location configurations until a network connection is re-established between server device 110 and monitored device 138.

[0049] On the monitored device 138, the configuration application 150 can be configured to receive and implement the expected location configuration and provide notifications of attempts to circumvent the configuration. Therefore, a child can use the configuration application 150 on the monitored device 138, similar to the configuration application 145 on the monitoring device 140, to check the received expected location configuration and understand how its implementation affects the functionality of the monitored device 138.

[0050] In one embodiment, monitoring device 140 may be configured to encrypt a desired location configuration and transmit it, along with, for example, an identifier of monitored device 138, to server device 110. As described above, any communication between monitored device 138 and monitoring device 140 may be end-to-end encrypted. Server device 110 may not have the ability to decrypt the content of any encrypted communication. Monitored device 138 may be configured to decrypt the received desired location configuration and apply the settings specified therein to monitored device 138. In one embodiment, monitoring device 140 and monitored device 138 communicate with each other using an encrypted messaging service, thereby preventing server device 110 from decrypting or accessing the content of any messages exchanged between monitoring device 140 and monitored device 138. In another embodiment, monitoring device 140 and monitored device 138 exchange encryption keys using a peer-to-peer communication link that does not involve server device 110. For example, a parent may use a peer-to-peer communication link to exchange encryption keys between the parent's monitoring device 140 and monitored device 138. In this implementation, the monitoring device 140 and the monitored device 138 may not use the encrypted messaging service, but instead use their on-device encryption and decryption capabilities to protect messages sent via the server device 110.

[0051] In some implementations, server device 110 may not decrypt or access any content of the intended location configuration. For example, monitored device 138 may have the key necessary to decrypt the encrypted intended location configuration, while server device 110 may not have the encryption key necessary to decrypt the encrypted intended location configuration. However, server device 110 may be able to read some unencrypted portions of the intended location configuration. For example, server device 110 may be able to access the geofence identifier of the intended location, as well as the identifiers of monitored device 138 and monitoring device 140, from the intended location configuration. For example, when monitored device 138 sends a notification to server device 110, the notification may include the user account identifier of the user of monitored device 138 (i.e., the source of the notification), the user account identifier of the user of monitoring device 140 (i.e., the final target of the notification), and only the intended location identifier (e.g., geofence identifier) ​​currently associated with monitored device 138. Server device 110 may have previously received this data as part of the intended location configuration and may compare the received data with the stored data of monitored device 138. Based on this comparison, server device 110 determines to forward the notification to monitoring device 140. For example, monitored device 138 may report that it is “outside” a specific intended location. Based on the received geofence identifier and / or monitored device identifier and the time, server device 110 identifies this as unintended behavior, and monitoring device 140 should receive a notification that monitored device 138 has unintendedly left the intended location.

[0052] Figure 2 This is a notification timeline diagram 200 illustrating how different notifications can be delivered based on different expected location configurations and time periods. For example, parents can target... Figure 2 Each time period shown creates a different expected location configuration or setting for the child's monitored device.

[0053] Figure 2 Multiple times and reasons why the monitored device may send notifications are illustrated. In some implementations, parents may create expected location configurations for one or more of these time periods. For example, time period 202 represents the time between 4:10 PM one day and 8:00 AM the next day. During these times, parents may want their child to stay home and not leave without parental permission. Therefore, parents may define home as the expected location and the time from 4:10 PM to 8:00 AM the next day as the time during which the monitored device 138 should be at home. Additionally, in some implementations, the time zone of the expected location configuration is the time zone of the monitored device 138. Therefore, 4:10 PM or 8:00 AM in the examples above refers to those times that arrive in the time zone of the monitored device 138.

[0054] Parents can configure specific notifications for this expected location configuration. Some notifications can be for when the child's device is not in the expected location (e.g., not in a specific location at a specific time). For example, parents might want to be notified whenever the monitored device 138 leaves the house between 4:10 PM and 8:00 AM. Relatedly, parents might want to be notified only if the monitored device 138 leaves the house for more than a certain period of time (e.g., five minutes). For example, the child might briefly leave home to go to a vehicle or a neighbor's house. In this example, such a brief departure might not trigger a notification from the monitored device 138.

[0055] Alternatively, parents may wish to receive a notification if their child's monitored device 138 enters the home between 4:10 PM and 8:00 AM. This could be a notification that the child's device has entered the expected location but not at the expected time. For example, parents may have set 4:10 PM as the deadline by which the child must return home from outside. If the child is late and returns after 4:10 PM, the monitored device 138 can be configured to transmit a notification.

[0056] Time period 204 represents the time between 8:00 AM and 9:00 AM, such as... Figure 2As shown. During time period 204, parents can create an expected location configuration that causes the monitored device 138 to send a notification if the monitored device 138 does not arrive at a certain location before the end of the defined time period. For example, parents can define their child's school as the expected location of the child after 9:00 AM. Parents can assume that the child is on their way to school between 8:00 AM and 9:00 AM. In other words, the child's expected location is neither at home nor at school, but on the way. In some implementations, the travel time described above may not cause the monitored device 138 to generate a notification to the monitoring device 140. However, if the child does not arrive at school before exactly 9:00 AM, the monitored device 138 may generate a notification. Alternatively, the monitored device 138 may generate a notification when the child enters school, such as at 8:40 AM.

[0057] Time period 206 represents the time between 9:00 AM and 3:00 PM. Similar to time period 202 where home is the expected location, parents can consider school as the expected location for their child during the period from 9:00 AM to 3:00 PM. If the monitored device 138 determines that the child has left school at any time between 9:00 AM and 3:00 PM, the monitored device 138 can generate a notification indicating that the child has unintentionally left the expected location and transmit it to the monitoring device 140.

[0058] Referring again briefly to time period 204, the child needs to be at school before 8:00 AM sharp, or the monitored device 138 generates a notification that the child is not in the expected location. Time period 208 illustrates a contrasting scenario involving flexible time periods (or grace periods). As shown, time period 208 represents the time between 3:00 PM and 3:10 PM. As mentioned above, school can be the child's expected location. During time period 208, parents can expect the child to be leaving school, and the time parents can expect the child to leave school can be variable (e.g., within a ten-minute range). Between 3:00 PM and 3:10 PM, the child may, for example, be on school grounds, boarding a school bus, or being picked up by someone. In other words, any arrival time between 4:00 PM and 4:10 PM can be considered an expected departure, and any departure notification sent during this time period will be an expected departure notification, not an unexpected departure notification. Therefore, parents can generate an expected location configuration that causes the monitored device 138 to transmit an unexpected location notification only if the child has not left school before 3:10 PM. In other words, if a child has left school before 3:05 PM or 3:06 PM, no notification may be generated or an expected departure notification may be generated, because the monitored device 138 can be configured to treat the time period 208 as a flexible time period.

[0059] The time period 210, representing 3:10 PM to 4:00 PM, indicates another on-the-go time period similar to time period 204. Parents may not have yet set the expected location configuration for time period 210.

[0060] The time period 212, representing 4:00 PM to 4:10 PM, represents another flexible time period or grace period similar to time period 208. During time period 212, parents can expect their child to be returning home from school, and this return time can be variable (e.g., within a ten-minute range). In other words, any arrival time between 4:00 PM and 4:10 PM can be considered expected arrival, and any arrival notification sent during this time period will be an expected arrival notification, not an unexpected arrival notification. Various factors can affect a child's return time, such as when the child leaves school and traffic conditions on the way home. Therefore, parents can expect their child to be home no later than 4:10 PM and can configure an expected location configuration that causes the monitored device 138 to generate an unexpected location notification only if the child is not home before 4:10 PM.

[0061] Figure 3 A configuration process 300 is illustrated, through which a desired location configuration can be generated and implemented on the monitored device. In some implementations, Figure 3 The process can utilize ( Figure 1 The configuration application 145 at the monitoring device 140 (as shown) is used to execute this. For example, parents can use... Figure 3 The process involves creating the intended location configuration for the monitored devices used by the child.

[0062] Phase 310 illustrates a series of configuration options or settings that can be used to generate the desired location configuration. As shown, menu 312 in configuration phase 310 can be used to select settings for when parents wish to be notified. The selection can indicate notification when the monitored device 138 leaves the desired location, when the monitored device 138 arrives at the desired location, or when the monitored device 138 is not in the desired location.

[0063] Menu 314 can display a list of locations that could be the expected locations of the monitored device 138. For example, for a child, the expected locations could include the child's home and the child's school.

[0064] These desired locations can be configured by parents in various ways. Parents can import location data from another application. Figure 3During the configuration process, for example, parents can access the contacts application on monitoring device 140. The contacts application can store contact data for the child's school. For example, contact data may include the school name, school address, school emergency contact, contact information for important school figures (e.g., the principal, the child's teacher), school hours, and a school map. Parents can import some or all of this data into the configuration application 145. For example, parents can import the school address into the configuration application 145 and save the address as the desired location. The desired location can be marked with the school name in the configuration application 145.

[0065] Alternatively, parents can use stage 312 to configure the desired location. In some implementations, parents can manually enter a location label or tap a previously created label to transition to stage 312, as shown in transition step 355.

[0066] Phase 312 provides at least one of two options to help parents configure the desired location. In some embodiments, parents may be able to select a location using map display 322. For example, parents can use map display 322 to navigate to a map view of their child's school. For example, the child's school may be shown as building 324. Parents may want to define the desired location relative to building 324. In some embodiments, parents may select building 324 and define a circle 328 of radius 326 around building 324. The circle may represent the desired location. In other embodiments (not shown), parents may select building 324 and simply enter a numerical radius at a specific distance. In still other embodiments, parents may configure the desired location as the exact boundary of building 324, rather than a circle including building 324 and some additional area. Phase 312 may also provide parents with the ability to enter a specific address as the desired location (e.g., the street address of the child's school) using text box 330.

[0067] Once the expected location is configured, parents can confirm and return to stage 310 using confirmation control 332, as shown in transition step 365. In stage 310, parents can use menu 316 to set the time applied to the expected location configuration. For example, parents can set the child's expected school hours to be from 9:00 AM to 3:00 PM. In another embodiment, parents can import school time data from a contact application as described above, and automatically populate menu 316 with the imported school time data. Once each configuration option has been selected, parents can confirm the creation of the expected location configuration using confirmation control 318 in stage 310. In some embodiments, selecting confirmation control 318 causes monitoring device 140 to automatically transmit the new expected location configuration to server device 110 for transmission to the monitored device 138.

[0068] In some implementations, a single monitoring device can create multiple intended location configurations for the same monitored device. For example, monitoring device 140 may utilize... Figure 3 The process creates 138 for the monitored device Figure 2 Each notification shown is an example of a notification. Furthermore, a monitoring device can create expected location configurations for multiple monitored devices. For example, a parent using monitoring device 140 can create expected location configurations for a child currently using monitored device 138, as well as for another child who may be using a different monitored device.

[0069] Additionally, a monitored device can provide notifications to multiple monitoring devices. In other words, monitored device 138 can be configured to provide notifications to monitoring device 140 and also to another device. For example, a parent using monitoring device 140 can create a desired location configuration for a child using monitored device 138. This parent can configure notifications from monitored device 138 to be received at monitoring device 140 and also on a device used by the other parent of the child.

[0070] In addition, parents can configure expected locations to be repetitive (e.g., for each weekday within a week). As mentioned above, parents can import school time data from another application such as a contacts app. Similarly, parents can import weekly or monthly schedule data or school year calendar data from a calendar app. Parents can configure their child's expected location based on the schedule data or calendar data. For example, except for Friday (which may be a school holiday), the child can be expected to be at school every day of the week. Therefore, parents can adjust any repetitions based on the imported calendar data. As another example, the child may have fewer hours on Fridays. Therefore, parents can create a repetitive expected location configuration for Monday through Thursday and a separate expected location configuration for Friday.

[0071] Figure 4 An example 400 of a monitored device configured to transmit notifications based on an expected location is shown. More specifically, Figure 4 This is an example of a monitored device transmitting a target location notification to server device 110 as it enters the target location.

[0072] Figure 4 This shows that the monitored device 138 has entered the expected position 328. Figure 4 The expected location 328 shown can be similar to the location created by parents using monitoring device 140. Figure 3 The expected location 328 is shown. In some embodiments, the monitored device 138 transmits the expected location notification to the server device 110 when it crosses the boundary of the geofence corresponding to the expected location 328.

[0073] The applicable expected location configuration may specify that a child should be at school before 9:00 AM. In one embodiment, the monitored device 138 may be configured to transmit an expected location notification if the child enters before or at 9:00 AM. In another embodiment, the monitored device 138 may be configured not to transmit a notification if the child is at school before 9:00 AM. However, if the child is not at school by 9:00 AM, the monitored device 138 may be configured to transmit an unexpected location notification. For example, the notification may indicate that the child should have entered school at 9:00 AM, but the child is elsewhere. Furthermore, when the child does enter school late, the monitored device 138 may be configured to transmit another notification regarding the child now entering the expected location at the current time.

[0074] For example, children using the monitored device 138 can enter school at approximately 9:00 AM. As long as the child is before 9:00 AM (or at any time between 8:00 AM and 9:00 AM, such as...) Figure 3 (As shown) Upon entering the school, the monitored device 138 can consider itself to be in the expected location. Once the monitored device 138 is within the expected location 328, it can be configured to send an expected location notification to the server device 110.

[0075] In some implementations, the monitored device 138 may be configured to monitor its own location. The monitored device 138 may determine its own location periodically (e.g., every minute). For example, the monitored device 138 may be connected to a Wi-Fi network or a cellular data network. The monitored device 138 may interpret its location by, for example, geographic coordinates or by its distance or orientation relative to Wi-Fi or cellular data network equipment. The monitored device 138 may also be configured to create a virtual subset of its surrounding locations within a certain range. For example, the monitored device 138 may divide its surrounding locations into virtual tiles that may be smaller polygons (e.g., squares) of the same size.

[0076] The monitored device 138 can be configured to compare its own location with a desired location provided within a received desired location configuration. For example, the monitored device 138 can extract desired location information (e.g., geographic coordinates) from the received desired location configuration. The monitored device 138 can use the extracted desired location information to define a geofence for itself.

[0077] In some implementations, when a location change exceeds a threshold amount, the monitored device 138 compares its own location with a desired location (e.g., a geofence). For example, the monitored device 138 may detect that it is within a first tile of a virtual tile generated from the surrounding location as described above. The monitored device 138 may also detect that the first virtual tile overlaps with a geofence defining the desired location. In other words, the monitored device 138 may consider itself to be in the desired location. For example, a child using the monitored device 138 may be in the first classroom of their school, which includes the desired location.

[0078] The monitored device 138 can then detect that it has moved to a second virtual tile, different from the first virtual tile. For example, a child may move to another classroom in a school. The change from the first virtual tile to the second virtual tile may prompt the monitored device 138 to determine whether it is still within a virtual tile overlapping with the geofence of the intended location. In one embodiment, the monitored device 138 compares the second virtual tile with the geofence and determines that they overlap. Therefore, the monitored device 138 determines that it is still in the intended location.

[0079] In contrast, a child can move from the first classroom (i.e., the first virtual tile) to a location outside the school, such as an external street. The monitored device 138 can now detect that the second virtual tile does not overlap with the geofence of the intended location. Therefore, the monitored device 138 can check the time to determine whether the monitored device 138 should still be within the geofence of the intended location at this point. If so, the monitored device 138 can determine that moving to the second virtual tile has caused the monitored device 138 to leave the intended location and enter an unintended location. Based on this determination, the monitored device 138 can be configured to transmit an unintended location notification.

[0080] In another implementation, the monitored device 138 may determine whether it is in the expected location based on the distance traveled. For example, the monitored device 138 may be in a first location when the expected location configuration is valid. The monitored device 138 may then move to a second location. The second location may be more than a threshold distance (e.g., more than 20 feet) from the first location. The monitored device 138 may determine that the location change is significant and requires checking whether it is still within the expected location. The monitored device 138 may compare its location with the expected location and determine that it is outside the expected location. Based on this determination, the monitored device 138 may be configured to send an unexpected location notification, as described above.

[0081] As described above, server device 110 can be configured to only pass certain notifications to monitoring device 140. Based on the parent configuration at monitoring device 140, notifications of expected behavior can be generated and sent to server device 110, but not forwarded to monitoring device 140.Figure 4 As shown, server device 110 does not send any notifications to monitoring device 140. In other embodiments, notifications of the expected behavior may not be generated at all at the monitored device 138.

[0082] Figure 5 Example 500 illustrates a monitored device transmitting a notification of an unexpected location when it enters an expected location. More specifically, Figure 5 This is an example of a monitored device transmitting a notification before it has reached the expected location.

[0083] Figure 5 This illustrates that the monitored device 138 has not yet entered the intended location 328. For example, a child may be required to be at their school by 9:00 AM. In other words, the school is the intended location at that time. If the child fails to enter the school by 9:00 AM, the monitored device 138 can detect that they are not in the intended location. For example, the child may be late due to traffic, and the monitored device 138 can detect that they are on a public road instead of within the boundary of the intended location 328. Therefore, the monitored device 138 may (e.g., at 9:02 AM) transmit an unintended location notification to the server device 110, indicating that the monitored device 138 is unintendedly outside the geofence defining the intended location 328.

[0084] In some implementations, server device 110 may be configured to transmit an unexpected location notification to monitoring device 140. For example, parents may receive a notification at monitoring device 140 and be informed that their child has not yet arrived at school. In some implementations, monitoring device 140 may be configured to display notification text indicating that the child is not in the expected location. For example, the notification may state, "Jane did not arrive at school at the expected arrival time of 9:00 AM."

[0085] In some implementations, the monitored device 138 can send a second notification once the child finally enters school (e.g., at 9:15 AM). In other implementations, no second notification is generated.

[0086] Figure 6 This is another example 600 where the monitored device transmits a notification of the expected location when it leaves the expected location. More specifically, Figure 6 This is an example of a monitored device transmitting a notification when it has left the expected location at the expected time.

[0087] Figure 6 This indicates that monitored device 138 left its intended location 328 at approximately 3:00 PM. Continue Figures 2 to 5 Example, Figure 6This can indicate that the child has left the expected school location at the expected time of 3:00 PM. In some implementations, leaving the expected location at the expected time can cause the monitored device 138 to generate an expected location notification and transmit it to the server device 110. The server device 110 can then pass the notification to the monitoring device 140. In some implementations, the monitoring device 140 can be configured to display the notification in conjunction with the expected time of departure. Figure 5 The notification text received in the example shown is different. For example, the notification could state "Jane left school as expected at 3:00 PM".

[0088] Figure 7 The monitored device is shown in connection loss state 700, whereby the server device then notifies the monitoring device that the monitored device is unreachable.

[0089] The monitored device 138 may be configured to connect to a mobile data network via network tower 502 (or one of a plurality of network towers that may be located nearby at any time). Alternatively, the monitored device 138 may typically connect to a Wi-Fi network or any other network that enables the monitored device 138 to communicate with server device 110 and / or monitoring device 140.

[0090] One or more factors may cause the monitored device 138 to lose its connection to the network. These could include technical problems, weather issues, device power loss, or the monitored device 138 being in an area with poor signal reception. Connection loss may occur when the monitored device 138 should send a notification (e.g., regarding its location or departure from its expected location). The server device 110 may not receive any expected (or unexpected) location notification from the monitored device 138 when the monitoring device 140 is expected to receive such notification. The server device 110 may choose not to transmit any information to the monitoring device 140.

[0091] In some implementations, monitoring device 140 may be configured to display a notification to parents when no expected location notification is received. Monitoring device 140 may display a location unknown notification to parents, indicating that the location of the monitored device 138 cannot be determined. For example, monitoring device 140 may display the message "Jane's location unknown. No expected location notification received."

[0092] The above text is relative to Figure 7 The examples illustrate that, in some implementations, notification is determined by whether the monitored device is observed to be in an unexpected location. For example, with Figure 7In contrast, monitored device 138 may lose connection in the middle of the day (such as at 12:00 PM). In the example where the child is expected to be at school from 9:00 AM to 3:00 PM, no notification may be generated. Monitored device 138 is not configured to notify about its location at 12:00 PM. Therefore, a connection loss event at 12:00 PM may not result in any notification being generated because monitored device 138 has not determined that it is in an unexpected location.

[0093] Figure 8 A monitoring device 140 is shown in response to receiving a notification of an unexpected location. For example, a child may be supposed to be at school until 3:00 PM, but may unexpectedly leave school at 1:30 PM. In response, the child's monitored device 138 may generate and transmit a notification indicating that the child has unexpectedly left the intended location too early. In some embodiments, the monitoring device 140 may receive... Figure 8 The notification is displayed in an unexpected location and includes options to take further action. For example, parents can view the notification and simply clear or remove it using the clear control 804. Alternatively, parents may wish to take other actions and use the action control 806 to continue. (Relative to...) Figure 9 Describe these actions.

[0094] Figure 9 A flow of actions 900 that can be followed after receiving an unexpected location notification is shown. Stage 902 shows the unexpected location notification and actions including contact action 904, contact action 906, location action 908, and cancellation action 910. Contact action 904 can be used to directly contact the monitored device 138. For example, a parent may want to contact their child in response to receiving a notification that their child is not in the expected location. Different options associated with contact action 904 are shown in stage 904. As shown, the parent may want to contact their child using a phone application 912. The parent may want to send a text message to their child (e.g., asking where their child is). The parent may be able to send a text message to their child using a text messaging application 914 built into the configuration application 145. Alternatively, the parent may be able to send a text message to their child using an instant messaging application 916, which is different from the configuration application 145.

[0095] Instead of directly contacting the child, parents may want to contact someone they know is nearby or has entrusted the child to safely. For example, when parents receive an unexpected location notification, they might want to contact one of their child's teachers (e.g., the teacher who was expected to be teaching the child when the parent received the unexpected location notification). Similar to contact action 904, parents can use contact action 906 to contact the teacher, as well as contact options 912, 914, and 916.

[0096] In response to receiving an unexpected location notification, parents may also wish to locate their child. Using location action 908, parents can access device locator 918. Device locator 918 allows the user to view the location of the monitored device. In some embodiments, device locator 918 is a feature of configuration application 145. In other embodiments, selecting location action 908 on configuration application 145 causes a switch to another application corresponding to device locator 918.

[0097] Device locator 918 can be configured to retrieve the current location information of the monitored device 138. In some embodiments, device locator 918 displays a map view showing the location of the monitored device 138, such as... Figure 9 As shown. The device locator 918 can also be configured to indicate the expected location where the monitored device 138 should be. For example... Figure 9 As shown, the device locator 918 indicates the intended location 328 around the building 324. For example, in Figure 9 In the image, device locator 918 indicates that the child should be in or near the school (building 324) at 1:30 PM. However, the icon indicating the child's location is shown as being completely outside the expected location. Parents may wish to first use device locator 918 and then contact the child using contact action 904 to inquire about the details of the unexpected departure from school and the reason for the child's current location.

[0098] Parents may also deem the notification irrelevant or unnecessary and may wish to cancel it. In some implementations, stage 902 further enables parents to cancel the notification by selecting cancellation action 910 and receiving a cancellation confirmation via stage 920. Stage 920 also enables parents to use check control 922 to check the configuration of the currently active event. For example, parents may find the currently received notification unnecessary and check the existing intended location configuration to make changes. In some implementations, selecting check control 922 can cause the monitoring device to display the intended location configuration that led to the currently received configuration. Figure 3 The configuration process.

[0099] Exemplary process

[0100] To enable readers to clearly understand the technical concepts described herein, the following process describes specific steps performed in a particular order. However, one or more steps of a particular process may be rearranged and / or omitted while remaining within the intended scope of the technology disclosed herein. Furthermore, different processes and / or their steps may be combined, recombined, rearranged, omitted, and / or performed in parallel to create different processing flows also within the intended scope of the technology disclosed herein. Moreover, although some details of the technology disclosed herein may be omitted or briefly summarized in the following process for clarity, the details described in the preceding paragraphs can be combined with the process steps described below to obtain a more complete and comprehensive understanding of these processes and the technology disclosed herein.

[0101] Figure 10 This is a flowchart of an example process 1000 for configuring the expected location of a monitored device. For example, process 1000 may be performed by a computing device (e.g., monitored device 138).

[0102] At step 1002, the monitored device 138 may be configured to receive a first message including a first expected location configuration. As described above, the monitored device 138 may receive the expected location configuration from the monitoring device 140 via the server device 110. In some embodiments, the expected location configuration is defined by the user of the monitoring device 140. For example, a parent using the monitoring device 140 may implement the expected location configuration for their child using the monitored device 138. The expected location configuration specifies the expected location of the monitored device during a specific time period.

[0103] Once the expected location configuration is active, the monitored device 138 can be configured to periodically check its own location, compare it with the expected location, and check the current time to determine whether the monitored device 138 is within the expected location. A location may be the expected location at a certain time, but become the unexpected location later than the time period specified in the expected location configuration. Therefore, at step 1004, the monitored device 138 can be configured to identify the current time. For example, the monitored device 138 may determine that the current time is within the specified time period, and that at the current time, the monitored device 138 is within the expected location. Therefore, the monitored device 138 may not generate any notification.

[0104] However, at a later time, the monitored device 138 may perform another location check and determine that it is no longer in the expected location, even if it is still within the specified time period. Therefore, step 1006 shows that the monitored device 138 determines that the current location of the monitored device does not correspond to the expected location. Based on the expected location configuration, the monitored device 138 can be configured to send a notification in this case. Therefore, at step 1008, the monitored device 138 automatically sends a notification to the monitoring device 140 that the monitored device 138 is not in the expected location. As described above relative to... Figure 1 The monitored device 138 can transmit the notification to the server device 110, and the server device 110 can forward the notification to the monitoring device 140.

[0105] In an alternative scenario, the current time may exceed the time period specified in the expected location configuration, but the monitored device 138 may still be at the (previously) expected location. After the specified time period, the monitored device 138 may be configured to treat the expected location as an unexpected location. For example, the time period may be specified as 9:00 AM to 3:00 PM, during which the monitored device 138 is to remain at the expected location (e.g., a child is to remain at school). However, the monitored device 138 may detect that it is still at the (previously) expected location, but the current time may now be 3:15 PM. In this case, as shown in step 1008, the monitored device 138 may also be configured to automatically send a notification to the monitoring device 140 regarding the monitored device 138 not being at the expected location.

[0106] Figure 11 This is a flowchart 1100 of another exemplary process for configuring the expected location of the monitored device. For example, process 1100 may be performed by a computing device (e.g., monitoring device 140).

[0107] At step 1102, monitoring device 140 may be configured to generate a first message including a first expected location configuration for the monitored device. In some embodiments, the expected location configuration specifies the expected location of the monitored device during a time period. For example, a parent using monitoring device 140 would implement an expected location configuration for a child using monitoring device 138. The expected location configuration specifies the expected location of the monitored device during a specific time period.

[0108] Step 1104 shows that the monitoring device 140 can transmit a first message to the monitored device 138. As described above relative to... Figure 1 The monitoring device 140 can transmit the expected location configuration to the monitored device 138 via the server device 110. The server device 110 can be configured to transmit the expected location configuration information, a portion of which can be encrypted.

[0109] As shown in step 1106, the monitoring device 140 receives a second message from the monitored device, indicating that the monitored device was not in the expected location during the said time period. (As stated above relative to...) Figure 10 The monitored device 138 may notice that it is not in the expected location, or is in a previously expected location but beyond the time period specified in the expected location configuration. The monitoring device 140 (via server device 110) receives a notification from the monitored device 138. In some embodiments, the notification is displayed on the display screen of the monitoring device 140, as shown in step 1108. For example, parents can check the notification and choose to take one or more actions in response to it. As described above relative to... Figure 8 and Figure 9 Parents can choose to contact their child, contact another person, locate their child, or cancel or edit the intended location configuration.

[0110] Graphical User Interface

[0111] This disclosure describes above various graphical user interfaces (GUIs) for implementing various features, processes, or workflows. These GUIs can be presented on a variety of electronic devices, including, but not limited to, laptop computers, desktop computers, computer terminals, television systems, tablet computers, e-book readers, and smartphones. One or more of these electronic devices may include a touch-sensitive surface. The touch-sensitive surface can process multiple simultaneous input points, including processing data related to the pressure, degree, or position of each input point. Such processing can facilitate gestures using multiple fingers, including pinching and swiping.

[0112] When this disclosure refers to “selecting” a user interface element in a GUI, these terms are understood to include clicking or “hovering” over a user interface element using a mouse or other input device, or touching, tapping, or gesturing over a user interface element using one or more fingers or a stylus. User interface elements can be virtual buttons, menus, selectors, switches, sliders, brushes, knobs, thumbnails, links, icons, radio buttons, checkboxes, and any other mechanism used to receive input from or provide feedback to the user.

[0113] privacy

[0114] As described above, one aspect of this technology involves collecting and using data from various sources to perform unintended location notification functionality. This disclosure contemplates that, in some instances, the collected data may include personal information that uniquely identifies or can be used to contact or locate specific individuals. Such personal information may include demographic data, location-based data, telephone numbers, email addresses, Twitter IDs, home addresses, data or records related to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying information or personal information.

[0115] User-specified desired location configurations (e.g., configurations based on time, geographic location, device environment / conditions, etc.) and any communication corresponding to those configurations can be encrypted end-to-end, as described herein. This ensures that configuration data can only be accessed by devices associated with the user (e.g., and / or their child), and not by the server (e.g., server 110), thus protecting user privacy.

[0116] This disclosure recognizes that the use of such personal information data in the techniques of this invention can benefit users. For example, personal information data can be used to proactively detect changes in geospatial entities using trend analysis. Furthermore, this disclosure also anticipates other uses of personal information data that benefit users. For example, health and fitness data can be used to provide insights into a user's overall health status or as positive feedback for individuals using technology to pursue health goals.

[0117] This disclosure assumes that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, such entities should implement and adhere to privacy policies and practices that are recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy and security of personal information data. These policies should be readily accessible to users and should be updated as data collection and / or use change. Personal information from users should be collected for legitimate and reasonable purposes of the entity and not shared or sold outside of these legitimate uses. Furthermore, such collection / sharing should be conducted only after obtaining informed consent from users. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that others with access to such personal information data comply with their privacy policies and processes. Additionally, such entities may be subject to third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be adapted to the specific types of personal information data collected and / or accessed, and to applicable laws and standards, including specific considerations regarding jurisdiction. For example, in the United States, the collection or acquisition of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while in other countries, health data may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy practices should be maintained for different types of personal data in each country.

[0118] Regardless of the foregoing, this disclosure also anticipates implementation schemes for users to selectively block the use or access to personal information data. That is, this disclosure anticipates providing hardware and / or software components to prevent or block access to such personal information data. For example, with regard to unintended location notifications, this technology can be configured to allow users to opt-in or opt-out at any time during or after service registration to participate in the collection of personal information data. As another example, users can choose not to provide location data for unintended location notifications. In another example, users can choose to limit the length of time location data is retained, or completely prohibit the use of location data for the development of unintended location notifications. In addition to providing opt-in and opt-out options, this disclosure envisions providing notifications related to access to or use of personal information. For example, users can be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.

[0119] Furthermore, the purpose of this disclosure is to manage and process personal information data to minimize the risk of unintentional or unauthorized access or use. Once data is no longer needed, this risk can be minimized by limiting data collection and deleting data. Additionally, and where applicable, including in certain health-related applications, data deidentification can be used to protect user privacy. Deidentification can be facilitated, where appropriate, by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data among users), and / or other methods.

[0120] Therefore, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, it is also contemplated that various embodiments can be implemented without access to such personal information data. That is, various embodiments of the present invention will not be unable to function properly due to the absence of all or part of such personal information data. For example, the intended location configuration can be performed based on non-personal information data or an absolute minimum amount of personal information (such as content requested by a device associated with a user, other non-personal information available to an activity change detection system, or publicly available information).

[0121] Exemplary System Architecture

[0122] Figure 12 It is achievable. Figures 1 to 11 A block diagram of an exemplary computing device 1200 illustrating its features and processes. The computing device 1200 may include a memory interface 1202, one or more data processors, a graphics processor and / or a central processing unit 1204, and a peripheral device interface 1206. The memory interface 1202, the one or more processors 1204, and / or the peripheral device interface 1206 may be separate components or may be integrated into one or more integrated circuits. The various components in the computing device 1200 may be coupled by one or more communication buses or signal lines.

[0123] Sensors, devices, and subsystems can be coupled to peripheral interface 1206 to facilitate multiple functions. For example, motion sensor 1210, light sensor 1212, and proximity sensor 1214 can be coupled to peripheral interface 1206 to facilitate orientation, illumination, and proximity functions. Other sensors 1216 can also be connected to peripheral interface 1206, such as Global Navigation Satellite System (GNSS) (e.g., GPS receiver), temperature sensors, biometric sensors, magnetometers, or other sensing devices to facilitate related functions.

[0124] The camera subsystem 1220 and optical sensor 1222 (such as a charge-coupled device (CCD) or complementary metal-oxide-semiconductor (CMOS) optical sensor) can be used to facilitate camera functions such as taking photos and video clips. The camera subsystem 1220 and optical sensor 1222 can be used to collect images of the user to be used, for example, during user authentication by performing facial recognition analysis.

[0125] Communication functionality can be facilitated by one or more wireless communication subsystems 1224, which may include radio frequency receivers and transmitters and / or optical (e.g., infrared) receivers and transmitters. The specific design and implementation of the communication subsystems 1224 may depend on one or more communication networks through which the computing device 1200 is intended to operate. For example, the computing device 1200 may include subsystems designed for use with GSM networks, GPRS networks, EDGE networks, Wi-Fi or WiMax networks, and Bluetooth. TM A network-operated communication subsystem 1224. Specifically, the wireless communication subsystem 1224 may include a managed protocol that allows device 100 to be configured as a base station for other wireless devices.

[0126] The audio subsystem 1226 can be coupled to the speaker 1228 and the microphone 1230 to facilitate voice-enabled functions such as speaker recognition, voice copying, digital recording, and telephone functions. The audio subsystem 1226 can be configured to facilitate, for example, processing of voice commands, voiceprint identification, and voice authentication.

[0127] I / O subsystem 1240 may include touch surface controller 1242 and / or one or more other input controllers 1244. Touch surface controller 1242 may be coupled to touch surface 1246. Touch surface 1246 and touch surface controller 1242 may use, for example, any of a variety of touch-sensitive technologies to detect contact and its movement or interruption, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch surface 1246.

[0128] The one or more other input controllers 1244 may be coupled to other input / control devices 1248, such as one or more buttons, rocker switches, thumbwheels, infrared ports, USB ports, and / or pointing devices (such as styluses). One or more buttons (not shown) may include volume up / down buttons for speaker 1228 and / or microphone 1230.

[0129] In one implementation, pressing the button for a first duration unlocks the touch surface 1246; and pressing the button for a second duration longer than the first duration turns the computing device 1200 on or off. Pressing the button for a third duration activates a voice control or voice command module that allows the user to speak commands into the microphone 1230 to have the device execute those commands. The user can customize the function of one or more buttons. For example, the touch surface 1246 can also be used to implement virtual or soft buttons and / or a keyboard.

[0130] In some embodiments, computing device 1200 may display recorded audio and / or video files, such as MP3, AAC, and MPEG files. In some embodiments, computing device 1200 may include the functionality of an MP3 player, such as an iPod. TM .

[0131] Memory interface 1202 can be coupled to memory 1250. Memory 1250 may include high-speed random access memory and / or non-volatile memory, such as one or more disk storage devices, one or more optical storage devices, and / or flash memory (e.g., NAND, NOR). Memory 1250 may store operating system 1252, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or embedded operating system (such as VxWorks).

[0132] Operating system 1252 may include instructions for handling basic system services and for performing hardware-related tasks. In some implementations, operating system 1252 may be a kernel (e.g., a UNIX kernel). In some implementations, operating system 1252 may include instructions for performing voice authentication. For example, operating system 1252 may implement features for configuring the intended location, as referenced... Figures 1 to 11 As stated above.

[0133] The memory 1250 may also store communication instructions 1254 to facilitate communication with one or more additional devices, one or more computers, and / or one or more servers. The memory 1250 may include graphical user interface instructions 1256 that facilitate graphical user interface processing; sensor processing instructions 1258 that facilitate sensor-related processing and functions; telephone instructions 1260 that facilitate telephone-related processes and functions; electronic message processing instructions 1262 that facilitate electronic message processing and functions; web browsing instructions 1264 that facilitate web browsing-related processes and functions; media processing instructions 1266 that facilitate media processing-related processes and functions; GNSS / navigation instructions 1268 that facilitate GNSS and navigation-related processes and instructions; and / or camera instructions 1270 that facilitate camera-related processes and functions.

[0134] Memory 1250 may store software instructions 1272 that facilitate other processes and functions, such as references Figures 1 to 11 The processes and functions described above for configuring the intended location.

[0135] The memory 1250 may also store other software instructions 1274, such as network video instructions that facilitate processes and functions related to network video; and / or network shopping instructions that facilitate processes and functions related to online shopping. In some embodiments, the media processing instructions 1266 are divided into audio processing instructions and video processing instructions, to facilitate processes and functions related to audio processing and processes and functions related to video processing, respectively.

[0136] Each of the instructions and applications identified above may correspond to a set of instructions for performing one or more of the functions described above. These instructions do not need to be implemented as a separate software program, process, or module. Memory 850 may include additional instructions or fewer instructions. Furthermore, various functions of computing device 800 may be implemented in hardware and / or software, including in one or more signal processing and / or application-specific integrated circuits.

Claims

1. A method for notification with respect to location, comprising: receiving, by a first device associated with a first user, an expected location configuration from a second device associated with a second user, the expected location configuration specifying a time period defined by a start time and an end time and a geographic region in which the first device is expected to be during the specified time period; determining, by the first device, that a current time is within the time period specified in the expected location configuration; determining, by the first device, a location of the first device during the time period; determining, by the first device, that the location of the first device has been different from the geographic region specified by the expected location configuration for more than a predetermined time between the start time of the time period and the current time; and in response to determining that the location of the first device has been different from the geographic region specified by the expected location configuration for more than a predetermined time between the start time and the current time, sending, by the first device, a first notification to the second device indicating that the first device is not within the geographic region.

2. The method of claim 1, further comprising: determining that the location of the first device has moved into the geographic region specified by the expected location configuration at a first time within the time period specified by the expected location configuration; and sending, by the first device, a second notification to the second device indicating that the first device is within the geographic region.

3. The method of claim 1, wherein the expected location configuration specifies a grace period into the geographic region, and the method further comprising: when the first device has not entered into the geographic region until a time corresponding to the start time specified by the expected location configuration plus a length of time specified by the grace period, sending, by the first device, the first notification to the second device indicating that the first device is not within the geographic region.

4. The method of claim 1, further comprising: determining, by the first device, that the first device has moved from within the geographic region to outside of the geographic region within the specified time period; and sending a second notification to the second device indicating that the first device has moved outside of the geographic region.

5. The method of claim 1, further comprising: receiving, by the first device associated with the first user, the expected location configuration directly from the second device associated with the second user over a peer-to-peer connection.

6. A non-transitory computer-readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the processors to perform operations comprising: receiving, by a first device associated with a first user, an expected location configuration from a second device associated with a second user, the expected location configuration specifying a time period defined by a start time and an end time and a geographic region in which the first device is expected to be during the specified time period; determining, by the first device, that a current time is within the time period specified in the expected location configuration; ​ ​ determining, by the first device, that the location of the first device has been different from the geographic region specified by the expected location configuration for more than a predetermined time between the start time of the time period and the current time; and sending, by the first device to the second device, a first notification indicating that the first device is not within the geographic region in response to determining that the location of the first device has been different from the geographic region specified by the expected location configuration for more than a predetermined time between the start time and the current time.

7. The non-transitory computer-readable medium of claim 6, wherein the instructions cause the processor to perform operations comprising: determining that the location of the first device has moved into the geographic region specified by the expected location configuration at a first time within the time period specified by the expected location configuration; and sending, by the first device to the second device, a second notification indicating that the first device is within the geographic region.

8. The non-transitory computer-readable medium of claim 6, wherein the expected location configuration specifies a grace period for entering the geographic region, and wherein the instructions cause the processor to perform operations comprising: sending, by the first device to the second device, a first notification indicating that the first device is not within the geographic region when the first device has not entered the geographic region until a time corresponding to the start time specified by the expected location configuration plus a length of time specified by the grace period.

9. The non-transitory computer-readable medium of claim 6, wherein the instructions cause the processor to perform operations comprising: determining, by the first device, that the first device has moved from within the geographic region to outside the geographic region within the specified time period; and sending, to the second device, a second notification indicating that the first device has moved outside the geographic region.

10. The non-transitory computer-readable medium of claim 6, wherein the instructions cause the processor to perform operations comprising: receiving, by the first device associated with the first user, the expected location configuration directly from the second device associated with the second user over a peer-to-peer connection.

11. A system for notification regarding location, comprising: one or more processors; and a non-transitory computer-readable medium comprising one or more sequences of instructions which, when executed by the one or more processors, cause the processors to perform operations comprising: receiving, by a first device associated with a first user, an expected location configuration from a second device associated with a second user, the expected location configuration specifying a time period defined by a start time and an end time and a geographic region in which the first device is expected to be during the specified time period; determining, by the first device, that a current time is within the time period specified in the expected location configuration; determining, by the first device, a location of the first device during the time period; ​ ​ determining, by the first device, that the location of the first device has been different from the geographic region specified by the expected location configuration for more than a predetermined time between the start time of the time period and the current time; and sending, by the first device to the second device, a first notification indicating that the first device is not within the geographic region in response to determining that the location of the first device has been different from the geographic region specified by the expected location configuration for more than a predetermined time between the start time and the current time.

12. The system of claim 11, wherein the instructions cause the processor to perform operations comprising: determining that the location of the first device has moved into the geographic region specified by the expected location configuration at a first time within a time period specified by the expected location configuration; and sending, by the first device to the second device, a second notification indicating that the first device is within the geographic region.

13. The system of claim 11, wherein the expected location configuration specifies a grace period for entering the geographic region, and wherein the instructions cause the processor to perform operations comprising: sending, by the first device to the second device, a first notification indicating that the first device is not within the geographic region when the first device has not entered the geographic region until a time corresponding to the start time specified by the expected location configuration plus a length of time specified by the grace period.

14. The system of claim 11, wherein the instructions cause the processor to perform operations comprising: determining, by the first device, that the first device has moved from within the geographic region to outside the geographic region within the specified time period; and sending, to the second device, a second notification indicating that the first device has moved outside the geographic region.

15. The system of claim 11, wherein the instructions cause the processor to perform operations comprising: receiving, by the first device associated with the first user, an expected location configuration directly from the second device associated with the second user over a peer-to-peer connection.

Citation Information

Patent Citations

  • Method And System For Exchanging Information Updates Between Mobile Devices

    US20150334533A1

  • Systems and methods for monitoring a mobile-computing device using geo-location information

    US8111154B1