Smart alerts in multi-user environments

By using the communication device in a multi-user environment to determine the user's orientation and activities, and calculate the orientation and target sound level of nearby uninterested users, the problem of notification indirection is solved and the effective delivery of targeted notifications is realized.

CN115273433BActive Publication Date: 2025-04-15QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211040468.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-07-06
Filing Date
2018-05-23
Publication Date
2025-04-15
Estimated Expiration
2038-05-23

AI Technical Summary

Technical Problem

In a multi-user environment, it is difficult for the prior art to effectively send notifications to a particular user without disturbing other users, especially if the user is participating in an activity or is located in a different location.

Method used

By receiving an alert from a user in a communication device, determining the user's orientation, and calculating the orientation and target sound level of the nearby uninterested user based on the orientation and activities of the user, thereby determining the preference notification device and generating and sending a targeted notification message.

Benefits of technology

It realizes the provision of targeted and appropriate notifications in a multi-user environment, reduces disturbances to other users, and improves the effectiveness and user experience of notifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115273433B_ABST
    Figure CN115273433B_ABST
Patent Text Reader

Abstract

The present invention provides a technique for providing notifications to users in a home network. An example method according to the present disclosure includes receiving an alert for the user; determining the location of the user; determining one or more nearby devices based on the location of the user; determining the location of one or more nearby users of no interest based on the nearby devices; determining the activity of the user; determining a preferred notification device based at least in part on the location of the user, the locations of one or more nearby users of no interest, and the activity of the user; generating a notification message based at least in part on the preferred notification device; and sending the notification message to the preferred notification device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of an application with a filing date of May 23, 2018, application number 201880040081.4 (international application number PCT / US2018 / 034066), and name “Smart Alarms in Multi-User Environments”. Technical Field

[0002] The present application relates to intelligent alerting in a multi-user environment. Background Art

[0003] Both mobile and static devices are increasingly equipped to communicate wirelessly with other devices and / or to perform measurements that can determine their position and / or the position of other devices from which one or more signals are received. An electronic notification handler can be used to send notifications from one device to another based on the position of the device. The position of the device can be determined by the device itself, or by another device provided with a measurement value, or by another device that performs a measurement. For example, the device can determine its own position based on a satellite positioning system (SPS) signal, a cellular network signal, and / or a Wi-Fi signal received by the device. The position of a user can usually be associated with the position of a mobile or static device such as a mobile phone or a static workstation. Notifications / alerts can be sent to users based on association with the device. Associating a single user with a device can be problematic when the device is mobile or shared by multiple users. In addition, multiple users can be associated with a single device or multiple devices at the same time. In a multi-user environment, sending redundant messages to multiple devices can create an undesirable environment in which users are not interested in notifications issued for a particular device. In some cases, users can participate in activities such as sleeping, cooking, or exercising that can affect their ability to receive notifications. Electronic notification procedures should take into account the location and current activities of the intended recipients and provide appropriate notification. Summary of the invention

[0004] An example of a method for providing notifications to users in a home network according to the present disclosure includes receiving an alert for the user at a communication device; determining the location of the user through the communication device; determining one or more nearby devices based on the location of the user through the communication device; determining the location of one or more nearby users of no interest based on the nearby devices through the communication device; determining the activity of the user through the communication device; determining a preferred notification device through the communication device based at least in part on the location of the user, the locations of one or more nearby users of no interest, and the activity of the user; generating a notification message through the communication device based at least in part on the preferred notification device; and sending the notification message to the preferred notification device through the communication device.

[0005] Implementations of such methods may include one or more of the following features. Determining the position of the user may be based on one or more presence sensors in the home network. The method may further include calculating, by the communication device, a target sound level for the preference notification device based at least in part on the position of the one or more nearby uninterested users; and generating, by the communication device, the notification message based at least in part on the target sound level. The target sound level may include a beam steering element and a volume element. The volume element may be based at least in part on the user. The method may also include determining, by the communication device, an activity of each of the one or more nearby uninterested users; and calculating, by the communication device, a target sound level for each of the nearby devices based at least in part on the activity of each of the one or more nearby uninterested users. The communication device may be a central controller. The notification message may include one or more information elements configured to cause the device to display the notification message to the user.

[0006] An example of an apparatus for providing notifications to a user in a home network according to the present disclosure includes a transceiver configured to receive an alert for the user; and at least one processor operably coupled to the transceiver and configured to: determine the location of the user; determine one or more nearby devices based on the location of the user; determine the location of one or more nearby users of no interest based on the nearby devices; determine the activity of the user; determine a preferred notification device based at least in part on the location of the user, the locations of one or more nearby users of no interest, and the activity of the user; generate a notification message based at least in part on the preferred notification device; and send the notification message to the preferred notification device.

[0007] Embodiments of such devices may include one or more of the following features. The at least one processor may be operably coupled to one or more presence sensors in the home network. The at least one processor may be further configured to: calculate a target sound level for the preference notification device based at least in part on the location of the one or more nearby uninterested users; and generate the notification message based at least in part on the target sound level. The target sound level may include a beam steering element and a volume element. The volume element may be based at least in part on the user. The at least one processor may be further configured to: determine the activity of each of the one or more nearby uninterested users; and calculate a target sound level for each of the nearby devices based at least in part on the activity of each of the one or more nearby uninterested users. The notification message may include one or more information elements configured to cause the device to display the notification message to the user.

[0008] An example of an apparatus for providing notifications to users in a home network according to the present disclosure includes a device for receiving alerts for the user; a device for determining the location of the user; a device for determining one or more nearby devices based on the location of the user; a device for determining the location of one or more nearby users of no interest based on the nearby devices; a device for determining the activity of the user; a device for determining a preferred notification device based at least in part on the location of the user, the locations of one or more nearby users of no interest, and the activity of the user; a device for generating a notification message based at least in part on the preferred notification device; and a device for sending the notification message to the preferred notification device.

[0009] An example of a method for providing notifications to users in a home network according to the present disclosure includes receiving an alarm from an electronic device at a communication device; determining the location of one or more users in the home network through the communication device; determining the activity of the one or more users in the home network through the communication device; determining the relevance of the alarm for the one or more users in the home network based on the electronic device through the communication device; determining a notification user and a notification device through the communication device at least partially based on the location, the activity, and the relevance of the alarm for the one or more users in the home network; generating a notification message through the communication device at least partially based on the notification user and the notification device; and sending the notification message to the notification device through the communication device.

[0010] Embodiments of such methods may include one or more of the following features. Determining the location of the one or more users may be based on one or more presence sensors in the home network. The electronic device may be a security system configured to determine an identity of a visitor, and wherein determining the alarm relevance for the one or more users in the home network is based at least in part on the identity of the visitor. The method may further include calculating, by the communication device, a target sound level for the notification device based at least in part on the notified user; and generating, by the communication device, the notification message based at least in part on the target sound level. The target sound level may include a beam steering element and a volume element. The communication device may be a central controller. The notification message may include one or more information elements configured to cause a display screen to display the notification message to the user.

[0011] An example of an apparatus for providing notifications to users in a home network according to the present disclosure includes a transceiver configured to receive an alarm from an electronic device; and at least one processor operably coupled to the transceiver and configured to: determine the location of one or more users in the home network; determine the activity of the one or more users in the home network; determine the relevance of the alarm for the one or more users in the home network based on the electronic device; determine a notification user and a notification device based at least in part on the location, the activity, and the relevance of the alarm for the one or more users in the home network; generate a notification message based at least in part on the notification user and the notification device; and send the notification message to the notification device.

[0012] Embodiments of such an apparatus may include one or more of the following features. The at least one processor may be configured to determine that the location of the one or more users is based on one or more presence sensors in the home network. The electronic device may be a security system configured to determine an identity of a visitor, and the at least one processor may be configured to determine that the alarm relevance for the one or more users in the home network is based at least in part on the identity of the visitor. The at least one processor may be configured to: calculate a target sound level for the notification device based at least in part on the notified user; and generate the notification message based at least in part on the target sound level. The target sound level may include a beam steering element and a volume element. The notification message may include one or more information elements configured to cause a display screen to display the notification message to the user.

[0013] An example of an apparatus for providing notifications to users in a home network according to the present disclosure includes a device for receiving an alarm from an electronic device; a device for determining the location of one or more users in the home network; a device for determining the activity of the one or more users in the home network; a device for determining the relevance of the alarm for the one or more users in the home network based on the electronic device; a device for determining a notification user and a notification device based at least in part on the location, the activity, and the relevance of the alarm for the one or more users in the home network; a device for generating a notification message based at least in part on the notification user and the notification device; and a device for sending the notification message to the notification device.

[0014] The items and / or technologies described herein may provide one or more of the following capabilities and other capabilities not mentioned. A wireless home network may include multiple appliances and / or devices and a central controller. Presence sensors and other devices in the home network may be used to determine the user's location and current activity. The central controller may store user location and activity information. User notification preferences may also be maintained on the central controller or on other devices in the home network. The central controller may receive notifications for the user. One or more notification devices may be determined based on the user's location, the user's activity, the location of other users, the activities of other users, and / or other user preferences. Notification messages may be generated based on the notification device. The notification message may include volume and beam steering information elements. The resulting user-specific directional notification may reduce disturbances to other users in the home. Other capabilities may be provided, and not every embodiment according to the present disclosure must provide any of the discussed capabilities, let alone all of them. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a simplified view of a communication system.

[0016] Figure 2 is a simplified top view of the indoor portion of an example communication system.

[0017] Figure 3 yes Figure 2 A block diagram of components of a communication device is shown in FIG.

[0018] Figure 4 This is an example use case where notifications are provided to multiple devices of a user.

[0019] Figure 5 An example use case is to provide location-specific notifications in a multi-user environment.

[0020] Figure 6 An example use case is to provide activity-sensitive notifications in a multi-user environment.

[0021] Figure 7 yes Figure 2-6 A block diagram of the components of the central controller is shown in FIG.

[0022] Figures 8A-8C Is the instance data table used when providing notifications in a multi-user environment.

[0023] Fig. 9 is a block flow diagram of a method of providing notification messages in a multi-user environment.

[0024] Fig.10 is a block flow diagram of a method for providing notification messages based on user activities.

[0025] Fig.11is a block flow diagram of a method of providing notification messages to associated users.

[0026] Fig.12 is a block flow diagram of a method of providing a notification message to selected users. DETAILED DESCRIPTION

[0027] This article discusses techniques for providing notifications to users in a multi-user environment. More and more smart home devices are becoming available to the consumer market. For example, as Internet of Things (IoT) devices become increasingly popular, the number of connected devices in smart homes is increasing. In a home with multiple users and multiple devices, the increasing number of devices and possible user notifications brings greater complexity and clutter to the user notification handler. Multiple notification broadcasts from devices can create an undesirable environment where users are not interested in specific notifications from specific devices. Current notifications from devices do not take into account the presence of multiple different users in the smart home and the relevance of other users to notifications from specific devices.

[0028] Smart devices in a home may be able to exchange information with other devices on a network. Smart devices may also be used to determine the location of users within a home. For example, voice recognition systems such as TV remotes, Amazon Google, etc. may be used to identify individual users and associate each user with a device or physical location. Other sensors such as cameras and motion detectors may be used to determine the location of a user. A network controller may maintain a data table containing the location, activity, and notification preference information of multiple users. User location information may be associated with nearby network devices, and notifications for a particular user may involve one or more nearby devices. For each user location (and / or corresponding activity), an alarm tone and volume for notification may be used. In addition, one or more devices may be used to direct notifications based on the location of the user.

[0029] refer to Figure 1, the communication system 10 includes devices 12, 14, 16, 18, 20, 22, access points 24, base stations 26, networks 28, servers 30, presence sensors 32, and audio transducers 34. The devices 12, 14, 16, 18, access points 24, presence sensors 32, and audio transducers 34 are disposed inside a structure 36 (e.g., a building). The system 10 is a communication system in which the components of the system 10 can communicate with each other directly or indirectly, such as via the network 28 and / or access points 24 and / or base stations 26 (or other access points and / or other base stations not shown). The system 10 is a communication system in which at least some of the components of the system 10 can communicate with each other wirelessly. For example, the base stations 26 and the devices 20 can communicate wirelessly using signals according to one or more protocols such as LTE, GSM, CDMA, or OFDM. The single access point 24 and the single base station 26 are merely examples, and other numbers of access points and / or base stations can be used. Moreover, the types of devices 12, 14, 16, 18, 20, 22 (e.g., appliances, smart phones, tablet computers, laptop computers, and cars) are examples and other device types may be used, whether currently existing or developed in the future. The term "base station" does not limit the base station 26 to any particular form, protocol, etc. For example, any of the base stations 26 (and / or other base stations not shown) may be referred to as a base transceiver station (BTS), an access node (AN), a Node B, an evolved Node B (eNB), etc. In addition, the device 22 is a car, and although the basic function of the car is not as a communication device, the car includes a communication device as part of the car, and for simplicity of this disclosure, the car is considered as a type of communication device in this article.

[0030] In this example, system 10 includes an Internet of Things (IoT) network in which devices 12, 14, 16, 18, 20, 22 are configured to communicate with each other specifically via one or more short-range wireless communication technologies. However, system 10 is an example of an IoT network and need not be so. Examples of short-range wireless communication technologies include Bluetooth communication, Bluetooth low energy communication, and Wi-Fi communication. Devices 12, 14, 16, 18, 20, 22 may broadcast information, and / or information from one of devices 12, 14, 16, 18, 20, 22 may be forwarded to another or to another device such as access point 24 and / or base station 26. One or more of devices 12, 14, 16, 18, 20, 22 may include multiple types of radio devices, such as a Bluetooth radio, a Wi-Fi radio, a cellular radio (e.g., LTE, CDMA, 3G, 4G, etc.), etc., so that information may be received using one radio device and transmitted using a different radio device. In addition, one or more of devices 12, 14, 16, 18, 20, 22 may be configured to determine the range to another of devices 12, 14, 16, 18, 20, 22 (e.g., using round trip time (RTT), or observed time difference of arrival (OTDOA), or received signal strength indication (RSSI), or one or more other techniques, or a combination of one or more of any of these techniques) and / or determine the angle of arrival (AOA) of a signal from another of devices 12, 14, 16, 18, 20, 22 and / or from one or more other devices, such as access point 24 and / or base station 26.

[0031] refer to Figure 2 , and the indoor portion of the system 10 inside the structure 36 includes wireless communication appliances / devices 40, 41, 42, 43, 44, 45, 47, presence sensors 50, 52, audio transducers 54, 56, a central controller 60, and an access point 24 (here a Wi-Fi router). In this example, the devices 40-47 include a dishwasher 40, an oven 41, a toaster 42, and a refrigerator 43 placed in a kitchen 64, a tablet computer 44, a smart phone 45, and a television placed in a family room 66, and a car 46 and a garage door opener 47 placed in a garage 68. These devices 40-47 are configured to communicate with each other when they are within communication range of each other, and communicate with the presence sensors 50, 52, and the central controller 60. Using the communication capabilities between each other, information about the devices 40-47 can be sent to each other, forwarded to other devices, or even forwarded to the central controller 60. In addition, communications from the central controller 60 can be received or forwarded by the devices 40-47. In addition, the central controller 60 may be Figure 2The standalone devices shown may be incorporated into any of the devices 40-47. In this example, the system 10 provides an IoT network that can generate, send, receive, transfer, or forward various information (e.g., attributes, attribute tables, information related to attributes, signal measurements, position indications, acoustic information, etc.) to facilitate the functionality described herein. Devices 40-47 are merely examples, and other types of devices may be used, as well as other numbers of devices.

[0032] The presence sensors 50, 52 facilitate the detection of the presence of the device and / or user. The presence sensors 50, 52 can detect the presence of the device and / or the individual in any of a variety of ways. For example, any one or both of the presence sensors 50, 52 may include, for example, a mobile sensor that sends a signal, measures its reflection, and compares the current reflection with the previous reflection. The signal may be a visible or invisible (e.g., infrared) light signal and an audible or inaudible (e.g., ultrasonic) sound signal. Any one or both of the presence sensors 50, 52 may include a thermal sensor, such as an infrared sensor. Any one or both of the presence sensors 50, 52 may be coupled in a communicative manner (e.g., hardwired or wirelessly) with one or more of the devices 40-47 and / or the central controller 60. The presence sensors 50, 52 are configured to report the presence of a relevant object, such as an individual, detected (perhaps only in the case of being new, or possibly being new and in progress).

[0033] The audio transducers 54, 56 facilitate the reception and provision of commands from the user to the central controller 60 or other appropriate device. The audio transducers are preferably communicatively coupled to the central controller 60 (e.g., hardwired or wirelessly) and configured to receive verbal commands, convert those commands into electrical signals, and send the signals to the central controller 60 or other appropriate device. The audio transducers 54, 56 may send the signals directly or indirectly (e.g., through one or more intermediate devices that forward the signals) to the central controller 60 or other appropriate device, such as one or more of the devices 40-47.

[0034] refer to Figure 3 , and further reference Figure 1, the example device 70 includes a computer system including a processor 80, a microphone 81, a memory 82 including software (SW) 84, an optional user interface 86, and a transceiver 88. The processor 80 is preferably an intelligent hardware device, such as a central processing unit (CPU) (such as those manufactured or designed by the company or), a microcontroller, an application-specific integrated circuit (ASIC), etc. The processor 80 may include multiple separate physical entities that may be distributed in the device 70. The microphone 81 may include a transducer and other circuits for providing acoustic information to the processor 80 in a digital or analog format. The microphone 81 may be a high-sensitivity or high-bandwidth microphone that is configured to detect sounds that are not within the audible frequency range of the human ear. The memory 82 may include a random access memory (RAM) and / or a read-only memory (ROM). The memory 82 is a non-transitory processor-readable storage medium that stores software 84 that is a processor-readable processor-executable software code containing instructions, which is configured to cause the processor 80 to perform various functions described herein when executed. The present specification may refer only to the processor 80 or device 70 performing functions, but this includes other embodiments in which, for example, the processor 80 executes software and / or firmware. The software 84 may not be directly executable by the processor 80 and may instead be configured to, for example, when compiled and executed, cause the processor 80 to perform functions. Whether or not compilation is required, the software 84 contains instructions that cause the processor 80 to perform functions. The processor 80 is communicatively coupled to the memory 82. The processor 80, in conjunction with the memory 82, the user interface 86 (as required), and / or the transceiver 88, provides means for performing the functions described herein, such as means for receiving alerts for a user, means for determining the location of a user, means for determining one or more nearby devices, means for determining the location of nearby users of no interest, means for determining the activity of a user, means for determining a preferred notification device, means for generating a notification device, and means for sending a notification message. The software 84 may be loaded onto the memory 82 by downloading via a network connection, uploading from a disk, etc. The device 70 may be Figure 2 40-47, or another device. The user interface 86 (e.g., a display and / or a speaker) is optional, for example where the tablet computer 44 and the smart phone 45 include a display, a microphone 81, and a speaker, while the garage door opener 47 does not (typically) include a display, a microphone 81, or a speaker, although the garage door opener 47 may include some type of user interface, such as a user-operable switch.

[0035] The transceiver 88 is configured to wirelessly send communications from the device 70 and receive wireless communications into the device 70, for example, from the devices 40-47, the access point 24, or the central controller 60. Thus, the transceiver 88 includes one or more wireless communication radios. Figure 3, the transceiver 88 optionally includes a Bluetooth radio 90, a Wi-Fi radio 92, and a WWAN radio 94 (e.g., a Long Term Evolution (LTE) radio). As shown, each of the radios 90, 92, 94 is optional, but the transceiver 88 will include at least one wireless communication radio. In addition, in addition to or in lieu of the radios 90, 92, 94, one or more other types of radios may be included in the device 70. If the transceiver 88 includes more than one wireless communication radio, the transceiver 88 may receive wireless communications using one of the wireless communication radios and transmit (e.g., forward or retransmit) the communications (or portions thereof) using a different wireless communication radio. The communications may be transmitted to another of the devices 40-47 or to another device such as the access point 24. Thus, for example, the device 70 may receive wireless communications using the Bluetooth radio 90 and retransmit the communications to another device that does not include a Bluetooth radio using the WLAN / Wi-Fi radio 92.

[0036] The processor 80 is configured to forward communications between devices, such as from the central controller 60 to the devices 40-47 or from the devices 40-47 to the central controller. For example, the processor 80 may receive a request for the location of one of the devices 40-47 from the central controller 60 (directly or indirectly, such as from another of the devices 40-47) via the transceiver 88. The processor 80 may forward the request to one or more of the devices 40-47 within the communication range of the device 70. The processor 80 is further configured to forward a reply from any of the devices 40-47 to the central controller 60, or to another device for further forwarding until the reply reaches the central controller 60. For example, the reply may be the location of the target device, and the location may be relative to another device, such as a distance from the device from which the reply was received.

[0037] refer to Figure 4 , and further reference Figure 1-3, showing an example use case of multiple devices that provide notifications to a user. A home communication system is shown in the context of a home 200. The home 200 and the devices therein are examples of the communication system 10. The home 200 includes a kitchen 202, a family room 204, a bedroom 206, an entertainment room 208, a garage 210, and an office 212. The home communication system includes a home network having an access point 24 and a central controller 60 (e.g., the central controller 60 may include the access point 24), which may be the same device. Example devices within the home 200 include a computer device 12 (e.g., a laptop computer), an oven 41, a door opener 47, a kitchen smart speaker 102a, a family room smart speaker 102b, an entertainment room smart speaker 102c, a television 104, and a doorbell 106. The home 200 includes a first user 130 and a second user 132. Each of the devices 12, 41, 47, 102a-c, 104, 106 may include Figure 3 , and are configured to communicate with the central controller 60 (e.g., via the access point 24) or with each other. Devices 12, 41, 47, 102a-c, 104, 106 are configured to provide an auditory and / or visual indication of a notification, such as a tone, a notice (e.g., voice), text, etc. One or more of the devices may be configured to provide beam-formed audio output. For example, the kitchen smart speaker 102a is configured to output a first directional notification 110a and the doorbell is configured to output a second directional notification 110b. Other devices may be configured to provide non-directional (e.g., standard) audio output. The oven 41 is configured to output a first non-directional notification 112a, and the door opener 47 is configured to output a second non-directional notification 112b.

[0038] The following operational use case is provided as an example to facilitate the explanation of smart alarms in a multi-user environment. Devices 12, 41, 47, 102a-c, 104, 106 communicate with a central controller 60 via an access point 24. The central controller 60 is configured to provide notifications, such as notification messages, to the devices 12, 41, 47, 102a-c, 104, 106 via a home network. In an example, the devices 12, 41, 47, 102a-c, 104, 106 may send notification messages to each other directly or via the central controller 60 via the home network. The central controller 60 is configured to receive notifications for network users. The notifications may originate from other devices within the home network as well as from external sources such as email, SMS messages, or other messaging applications. The central controller 60 includes one or more data structures containing location information for each of the users in the home 200. In one example, the central controller 60 may maintain location information of network users based on presence sensors, such as acoustic and visual sensors in network-connected devices (e.g., smart speakers, cameras, motion detectors, etc.). The oven 41 may be configured to detect the presence of the first user 130 based on a presence detector in the oven 41, a directional microphone in the kitchen smart speaker 102a, or other presence detectors in the kitchen 202 that communicate with the oven 41 or the central controller 60. The central controller 60 may receive an indication from the oven 41, the kitchen smart speaker 102a, or other presence sensors indicating the approximate location of the first user 130 and store the user location information for the current time.

[0039] exist Figure 4 In the example depicted in FIG, the central controller 60 receives a notification for the first user 130. The central controller 60 determines that the current location of the first user 130 is the kitchen 202. A more precise location of the first user 130 may be determined based on acoustic and motion information captured by the kitchen smart speaker 102a and the oven 41. The central controller 60 may be configured to maintain notification preferences for network users to indicate how strongly the user wants to be notified based on various conditions such as location, proximity of activity to other users, activities of other users, sources of notifications, and capabilities of devices on the network. The central controller 60 is configured to generate notification messages based in part on the user's preferences.

[0040] The central controller 60 determines Figure 4The first user 130 in the home 200 will be notified by a nearby device such as the kitchen smart speaker 102a or the oven 41. Because the notification uses the location and preferences associated with the intended recipient (i.e., the first user 130), other uninterested users in the home 200 (e.g., the second user 132) will not be disturbed. The network device may be capable of generating directional audio output. For example, the kitchen smart speaker 102a may receive a notification message containing a beam steering element and a volume element. Figure 4 As indicated in , the kitchen smart speaker 102a is configured to provide a first targeted notification 110a based on the notification message. The targeted notification can further reduce the possibility of disturbing uninterested users in the home 200.

[0041] The central controller 60 maintains a target sound level for each device and each user. When a device has a notification to be forwarded, the device may query the central controller 60 to retrieve the corresponding target sound level and provide the notification at an appropriate sound level and direction. The central controller 60 may provide a notification message to the oven 41 and the door opener 47 based on the current position of the first user 130. The oven 41 and the door opener 47 may output corresponding first and second non-directional notifications 112a-b. The output volume of the non-directional notifications 112a-b may vary based on the position of the first user 130 close to the corresponding device (i.e., the first non-directional notification 112a is at a lower volume than the second non-directional notification 112b). The doorbell 106 may provide a second directional notification 110b based on the position of the first user 130 (i.e., the intended recipient) and the position of the second user 132 (i.e., the uninterested user). The central controller 60 may send a notification message containing the notification information and appropriate direction and amplitude information to the doorbell 106. In this case, the second directional notification 110b having a narrow focused beam (eg, toward the first user 130 ) has a reduced volume in an effort to reduce the impact on the second user 132 .

[0042] refer to Figure 5 , and further reference Figure 3 and 4, showing an example use case of providing location-specific notifications in a multi-user environment. The central controller 60 may provide notifications to the user based on the user's current location in combination with the location information of other users and the user's notification preference information. The third user 134 is located in the family room 204 of the home 200. The third user 134 may place the smart phone 45 in the kitchen 202 for charging and enter the family room 204. The presence detector in the family room 204, the family room smart speaker 102b and / or the television 104 may provide an indication that the third user 134 is located in the family room 204 to the central controller 60, and the central controller 60 is configured to store the new location of the third user 134 at the current time. The television 104 may include a camera and a microphone, and may be configured to perform image and voice recognition (i.e., local recognition). In an example, the television 104 may be a device for obtaining image or sound data, and providing visual and acoustic information to the central controller 60 for recognition processing (e.g., remote image processing). Smartphone 45 may receive notifications (e.g., emails, messages, alerts, requests, etc.) for third user 134. Smartphone 45 may be configured to forward the notification information to central controller 60 for subsequent routing to one or more appropriate network devices via one or more notification messages. In one example, smart phone 45 may ask central controller 60 for the current location of third user 134, and the smart phone may provide the notification message directly to one or more network devices. In one example, central controller 60 may be configured to directly receive notifications for third user 134. Figure 5 , the smart phone 45 and the third user 134 are in different locations (i.e., in the kitchen 202 and the family room 204, respectively). The central controller 60 may route notifications from the smart phone 45 based on different locations. For example, the central controller 60 may generate and send a notification message to the family room smart speaker 102b. The notification message may include beam steering and volume elements to enable the family room smart speaker 102b to generate a directional notification 110c. The central controller 60 may query one or more user location tables to determine the locations of other users in the home 200 and generate beam steering and volume elements based on those locations. In this example, the second user 132 is located in the family room 204, and the directional notification 110c is therefore directed toward the third user 134 at a lower volume that minimizes disturbing the second user 132.

[0043] The selection of a notification device may be subject to user preferences. The central controller 60 may include one or more user preference tables to prioritize notification routing based on personalized preference rules. Personal preference rules may include one or more constraints, such as a default notification device, device selection based on location, device selection based on notification type, device selection based on current activity, device selection based on time of day, device selection based on privacy settings, and other variables that associate a user with one or more devices. For example, referring to Figure 5 , the third user 134 may establish that the doorbell 106 is the default notification device when the user is not in the kitchen 202. The doorbell 106 may receive a notification message having a beam steering and volume component based on the third user's location 134 to produce a directional notification 110d. The default rule may be overridden by another rule to indicate that when the user is in the family room 204, the television 104 should be used for notifications. The television 104 may be configured to provide user-specific notifications 112c via a display or speaker system. This television selection may also be overridden by another user preference rule to indicate that directional notifications should be used when other people are in the same room as the user. Therefore, the central controller 60 provides the notification message to the family room smart speaker 102b. The notification handler may be customized using the central controller 60 and the user location and user preference table.

[0044] refer to Figure 6 , and further reference Figure 3-5 , shows an example use case for providing activity-sensitive notifications in a multi-user environment. In this use case, a first user 130 sets a timer on an oven 41 and enters the office 212 from the kitchen 202 to work on the laptop computer 12. When the timer has expired (e.g., reaches zero), the oven 41 is configured to determine the location of the first user 130. The oven 41 may use a local presence sensor (e.g., a camera) or query the central controller 60 to determine the location of the first user 130. If the user is located in the kitchen 202, the oven 41 may be configured to issue a local notification 110e. In the event that the user is not nearby, the central controller 60 may be configured to send a notification message to the doorbell 106 to generate an appropriate notification message. Figure 6, however, the notification broadcast by the doorbell 106 may disturb the second user 132 (currently resting in the bedroom 206), or disturb the third user 134 (currently watching the television 104 in the family room 204). The central controller 60 is configured to maintain a log (e.g., a data table) associated with the current activities of the users in the home 200. In one embodiment, the activities of the users may be inferred by location, acoustic samples, device login information, user settings, and historical data. The activity associated with the second user 132 may be listed as resting based on the location in the bedroom and the low sound level. The activity associated with the third user may be inferred as watching television based on the location of the third user and the state of the television 104 (e.g., power on, channel, login state, or other parameters). In view of the current activities of the uninterested users (e.g., the second user 132 and the third user 134), the central controller 60 or the oven 41 provides the notification message to the portable computer 12. The notification 112d may be presented visually (via a display screen), audibly (via a speaker), tactilely (e.g., vibration), or a combination thereof. The devices and notifications in the use case are exemplary and non-limiting. The central controller 60 may be configured to provide user activity and location information to other devices in the home network so that the network-connected devices can exchange notification messages with each other. In one example, the central controller 60 may generate beam steering and volume elements in the notification message based on the user activity information. The activity information may also be combined with user preferences and notification rules to provide improved notification options to the user.

[0045] Notifications from devices may have different relevance and interest for each user in home 200. For example, central controller 60 may include a table of notification options that associates a specific user with a type of notification. The type of notification may be based on an initiating device or a status indication (e.g., an emergency). For example, doorbell 106 may be configured to detect the presence of a visitor (e.g., a camera, a button, a thermal sensor, etc.). An adult user in home 200 may be the default user for notifications associated with such a visitor. Other users may also be notified based on a priority list. In one example, facial recognition may be used to determine the identity of the visitor and direct the notification to the appropriate user. In another example, if a user puts something in oven 41, then the alert from oven 41 is more relevant to the user. In one example, an application on the device may be executed to allow one or more users to set override options (or other specific considerations) that may be used as input in the beam steering method. Appropriate users may receive notifications via their smartphones or via other devices throughout home 200 that use the beam steering method as previously described. Similar associations of users with notification devices may be applied to other devices such that one or more users are given priority messages (e.g., louder volume, using more devices), while other users are provided notifications with a lower priority (e.g., lower volume, single device). Targeted users may be established over time based on historical usage and notification data. In one example, the central controller 60 may store parameters associated with the home network based on successful and failed notification attempts that establish default values. For example, the default value for the volume of notifications delivered by the family room smart speaker 102b may be higher when the television 104 is in use.

[0046] refer to Figure 7 , and further reference Figure 3-6, an example of the central controller 60 includes a computer system including a processor 180, a memory 182 including software (SW) 184, an optional user interface 186, and a transceiver 188, which optionally includes a Bluetooth (BT) radio 190, a WLAN / Wi-Fi radio 192, and / or a WWAN radio 194. Other types of radios, such as Bluetooth Low Energy (BT-LE) radios, may also or alternatively be used. The processor 180 is preferably an intelligent hardware device, such as a central processing unit (CPU) (such as those manufactured or designed by the company or), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor 180 may include multiple separate physical entities that may be distributed in the central controller 60. The memory 182 may include a random access memory (RAM) and / or a read-only memory (ROM). The memory 182 is a non-transitory processor-readable storage medium that stores software 184 as a processor-readable processor-executable software code containing instructions, which are configured to cause the processor 180 to perform various functions described herein when executed. The present specification may refer only to the processor 180 or central controller 60 performing functions, but this includes other embodiments in which, for example, the processor 180 executes software and / or firmware. The software 184 may not be directly executable by the processor 180 and may instead be configured to, for example, when compiled and executed, cause the processor 180 to perform functions. Whether or not compilation is required, the software 184 contains instructions that cause the processor 180 to perform functions. The processor 180 is communicatively coupled to the memory 182. The processor 180, in conjunction with the memory 182, the user interface 186 (as needed) and / or the transceiver 188, provides means for performing the functions described herein, such as means for receiving registration information from network-connected appliances, means for determining acoustic tag information of network-connected appliances, and means for sending acoustic tag information to a mobile device. The software 184 may be loaded onto the memory 182 by downloading via a network connection, uploading from a disk, etc. The central controller 60 at Figure 2 and 4 -6 as a separate device from the devices 12, 40-47, 102a-c, 104 and 106, but the central controller 60 may be implemented by one or more of the devices 12, 40-47, 102a-c, 104 and 106 and / or one or more other wireless communication devices such as the Wi-Fi router 24. The central controller 60 is preferably, but not necessarily, a (primarily) static device.

[0047] The processor 180 is configured to generate, store (via the memory 182), modify and transmit (via the transceiver 188) notification messages to devices on the home network. The notification messages and corresponding device and user data may be stored and generated by other devices on the network. In one example, reference is also made to Fig. 8A , 8B 8C, the processor 180 may generate and maintain one or more user and device location / configuration tables 220, 240, 270, which include indications of attributes 222, 242, 272 and corresponding values ​​224, 244, 274. The user and device configuration tables 220, 240, 270 are exemplary and non-limiting only, and other tables and fields may be used. The user location table 220 includes an index 226, a start time 228 and an end time 230, a user ID 232, a user location 234, a device preference 236, and an activity 238. The index 226 may uniquely identify a record in the user location table 220. The start time 228 and the end time 230 represent a time period during which the user is in the corresponding location. The user ID 232 may include identification information that uniquely identifies a user in the home network. The user location 234 describes the current location of the user. Location may be defined as a specific location (e.g., kitchen, family room, office, etc.) or as coordinates (e.g., East North Up (ENU), Latitude / Longitude / Altitude (LLA)). Device preferences 236 include fields that link to a preference notification device table. In one example, preference devices 236 may be based on current time, user ID, user location, and / or current activity state. The locations and activities of other users in the household may also be used to determine device preferences. Users may be identified based on one or more of such criteria. Activity 238 may be used to identify a user's current activity, such as sleeping, working, exercising, etc. The activity table may include location, sensor, and user input fields associated with different user activity options.

[0048] Device state table 240 may include data fields defining the current state of a device in a home network. Device state table 240 may include index 246, device ID 248, start time 250 and end time 252, device position 254, acoustic state 258, and state 260. Index 246 uniquely identifies a record in device state table 240. Device ID 248 uniquely identifies a device in a home network. Start time 250 and end time 252 indicate the period during which the corresponding data field (e.g., device position, state) is valid. Device position 254 indicates the current position of the corresponding device. Acoustic state 258 indicates the current acoustic output state of the device. For example, the acoustic state may include an indication of mute, headphone detection, beam direction, and / or volume level. State 260 provides an indication of the current state of the device. Although only one state field is indicated in device state table 240, additional fields or linked tables may be used. The state may indicate whether the device is in a communication mode (e.g., an active call), the current application executing on the device, the current user of the device, power mode, battery level, orientation, acceleration, and other variables that can be used to define the current state of the device.

[0049] The notification message log table 270 may be used to maintain a history of notification message variables for successful and failed notification attempts. The notification message log 270 includes an index 276, a user ID 278, a device ID 280, a priority 282, a steering vector 284, a target volume 286, and an actual volume 288. The index 276 uniquely identifies a record in the notification message log table 270. The user ID 278 indicates the user who is the intended recipient of the notification message. The device ID 280 indicates the device receiving the notification message. The priority 282 provides a relative value associated with the urgency of the message. The priority 282 may be used to indicate the relevance of the device alarm for a user (e.g., the current user of the device, an adult user in the family, a pre-established user relevance list). The receiving device may use the priority of the notification message to adjust the manner in which the notification is provided to the user. For example, a device may repeat a high priority message at a higher frequency than a lower priority message. The steering vector 284 indicates the direction of the beam steering used by the device, and the target volume 286 may indicate the initial notification volume setting used by the device. The device may be configured to repeat the notification on a periodic basis if the user does not answer the notification. Actual volume 288 may indicate the actual volume of the device when the notification was answered. Actual volume 288 may be used to establish a target volume for subsequent messages.

[0050] refer to Fig. 9 , and further reference Figure 1-8C , a method 300 for providing notification messages in a multi-user environment includes the stages shown. However, the method 300 is only an example and not a limitation. The method 300 can be modified, for example, by adding, removing, rearranging, combining, performing stages simultaneously, and / or splitting a single stage into multiple stages. The central controller 60 is a device for performing elements of the method 300. As an example, a data structure is described in conjunction with the central controller 60 to facilitate the explanation of smart alarms in a multi-user environment. The data structure can be generated and maintained on other devices 70 in the home network.

[0051] At stage 302, the method includes receiving an alert for a user. A transceiver or other device 70 within the central controller 60 may be configured to receive an alert for a user. The alert may originate from within the device (e.g., an internal timer / scheduler, a system monitor, an alarm, etc.), from another device on the network, or from an external source (e.g., text, email, voicemail, etc.). A user may be device specific so that all alerts received by the device are associated with a single user (e.g., a smart phone may be associated with a single user). A device may be associated with a current user who is the intended recipient of the alert (e.g., oven 41 may generate / receive an alert message for the current user). The alert message may include an indication of the intended user (e.g., central controller 60 may receive a text message from an external server for one of the users in the house).

[0052] At stage 304, the method includes determining the location of the user based on one or more presence sensors in the home network. For example, the central controller 60 may maintain location information of network users based on presence sensors, such as acoustic and visual sensors in network-connected devices (e.g., smart speakers, cameras, motion detectors, etc.). Figure 4 As depicted in , as an example, the oven 41 may be configured to detect the presence of the first user 130 based on a presence detector within the oven 41, a directional microphone within the kitchen smart speaker 102a, or other presence detectors in the kitchen 202 that communicate with the oven 41 or the central controller 60. The central controller 60 may receive an indication of the approximate location of the first user 130 from the oven 41, the kitchen smart speaker 102a, or other presence sensors, and store the location information of the user at the current time. In one example, the central controller 60 or other device 70 may determine the location of the user based on records in one or more data tables. For example, the user location table 220 includes records indicating the user ID 232 and the user location 234. In one example, the central controller 60 may be configured to perform a user search function to determine the current location of the user in response to receiving a notification for the user. The central controller 60 may request input from one or more presence sensors (e.g., cameras, microphones) in the home 200 to determine the location of the user. The user table may indicate a user ID 232 based on the user identified at stage 302 .

[0053] At stage 306, the method includes determining one or more nearby devices based on the user's location. The central controller 60 or other device 70 may query the device status table 240 using the user location 234 and determine one or more nearby devices using the device location 254. For example, nearby devices may be based on a room identifier (e.g., in the same room as the user), or based on a distance from the user (e.g., 10', 20', 50', etc.). In one example, the device 70 may send the user information from stage 302 to the central controller 60 and receive the location of the user and one or more nearby devices. The definition of the term nearby may vary based on device type, device location, building features, and other acoustic information. In general, nearby devices are positioned so that they are able to provide notifications to the user. Reference Figure 4 , the first user 130 is an example of a user located in the kitchen 202, and the oven 41, the kitchen smart speaker 102a, the garage door opener 47, and the doorbell 106 can be considered as nearby devices.

[0054] At stage 308, the method includes determining the location of one or more nearby users of no interest based on the nearby devices. The central controller 60 may perform a search query on the user location 234 of the user location table 220 based on the device location 254 of the one or more nearby devices in stage 304. Nearby users of no interest are defined as users that are located near the notification device (e.g., same room, next door, 10', 20', 50', etc.) and may receive notifications from one or more of the nearby devices determined at stage 304 (but not the intended recipient of the notification). Again referring to Figure 4 In the use case in FIG. 3 , the first user 130 is the intended recipient of the notification received at stage 302 and the second user 132 is an uninterested user. The doorbell 106 is a nearby device based on the location of the first user 130, and the second user 132 is a nearby uninterested user based on the distance from the second user 132 to the doorbell 106.

[0055] At stage 310, the method includes determining the user's activity. The current activity may be based on an inference engine executed on a central controller 60 or another network-connected (e.g., remote) processor. In one example, the user's activity may be tracked based on a wearable device, the proximity of the user to other devices (e.g., washing machine, stove, TV, etc.), or based on calendar events. In another example, the device 70 may use a microphone 81 to obtain an audio sample of the environment. For example, the audio sample may be about 10 to 50 ms at a frequency of 1-20 Hz. The processor may calculate the Mel frequency cepstral coefficients (MFCC) of the audio sample and compare the result with a previously generated activity cluster associated with sounds generated during different activities. The inference engine is configured to provide user activities based on the audio sample. For example, the audio sample may detect activities such as typing, talking, exercising, watching TV / listening, or resting. Other audio sampling techniques may also be used. The user's activity (e.g., light / dark, in motion / stationary) may also be determined using a camera and motion detector. In one example, the state of the device may be used to infer the user's current activity. Operation of the burners on oven 41 may indicate that the user is cooking, streaming audio on family room smart speaker 102b may indicate that the user is listening to music, and operating a browser on laptop computer 12 may indicate that the user is working. Other sensors and device inputs may be used to generate the user's current activity.

[0056] At stage 312, the method includes determining a preferred notification device based at least in part on the user's location, the location of one or more nearby uninterested users, and the user's activity. The central controller 60 or device 70 may be configured to query a preferred device table based on the user's location, the location of the uninterested users, and the user's activity. In one example, the preferred devices may be based on the distance from the user's current location, such that an initial list is generated that includes the closest devices. This list may be narrowed down based on the location of the uninterested users, such that the devices farthest from the uninterested users are still on the list. The preferred notification device may be selected based on other user configuration data. For example, the user's current activity may be used to identify one or more preferred devices. In operation, reference is made to the preferred device list. Figure 4 , the first user 130 is an example of the intended recipient of the alert. The first user 130 is located in the kitchen and nearby devices include oven 41, kitchen smart speaker 102a, and doorbell 106. The second user 132 is an example of an uninterested user near doorbell 106. Therefore, doorbell 106 is given a lower weight as a possible preferred device. In this example, the user's activity is cooking (e.g., the stove is working) and oven 41 is given a preference over kitchen smart speaker 102a as a preferred notification device. Other user preferences can be used to determine the preferred device.

[0057] At stage 314, the method includes generating a notification message based at least in part on the preferred notification device. The central controller 60 or the device 70 may be configured to generate a notification message based on the capabilities of the preferred device. For example, the notification message may include one or more 802.11 media access control (MAC) frames to convey notification content and corresponding notification parameters (e.g., volume, text, sound of ringing, voice quality, etc.). In one example, the volume may be based on a previously determined target sound level associated with the user and the preferred device. In general, the notification message includes device-specific parameters / data and notification information to enable the target device to provide the notification to the user. The format and content of the notification message may be modified based on user preferences. For example, a user may be associated with a preset message tone or ringing, or may prefer text messages over audio messages on some devices (e.g., televisions, game consoles, etc.).

[0058] At stage 316, the method includes sending a notification message to the preference device. The central controller 60 or the device 70 sends the notification message to the preference device. The central controller 60 may provide a notification message containing information elements associated with the preference device and the user using a network transmission protocol associated with the device on the system 10. The notification may be a tone, text-to-speech, or other audio indication. The notification may have audio and video components (e.g., display text, flash, icon, colored lights, etc.) for the device as needed. The notification message may include information elements indicating that the device repeats the notification at different intervals and different volumes. In one example, one or more preference devices may provide notifications in a cascade order (i.e., the devices one after the other). For example, the kitchen smart speaker 102a may provide a notification, and then the doorbell 106 may provide a notification. The preference device may receive a response from the user to confirm the receipt of the notification. A response at one device may stop any cascaded notifications on another device. The parameters of the notification when it has been answered may be stored and used in subsequent notification messages.

[0059] In one example, method 300 may include calculating a target sound level for each of the nearby devices based at least in part on the location of one or more nearby users of no interest. The central controller 60 or other device 70 may be configured to maintain a target sound level for each device and each user. The target sound level may include a volume element based on a default volume or may be based on a previously determined target sound level. The transfer function for a speaker of a particular device may be described as:

[0060] A(f)=HB(f)

[0061] in:

[0062] A(f) is the output audio response from the device

[0063] H is the beam steering element (acoustic steering vector)

[0064] B(f) is the volume element (e.g., the audio going to the speaker / Emi / p)

[0065] For 'N' users and 'M' devices in a home network, the target sound level T1, T2, ..., TN for each user is obtained for each device. The beam steering and volume elements can be used to minimize the norm:

[0066] ||A(f)-T||

[0067] A suitable norm order may be estimated based on simulations.The target sound level (Ti = [T1, T2, ..., TN]) may be obtained and updated for devices on the network based on notifications where 1≤i≤M.

[0068] When the device has a notification to be forwarded, the device may query the central controller 60 to retrieve the corresponding target sound level and provide the notification at an appropriate sound level. On the contrary, in the case of an uninterested user, the central controller 60 may ensure that the device near the uninterested user does not provide a notification message at a sound level that meets or exceeds the target sound level for the uninterested user. The central controller 60 may be configured to retrieve the target sound level for each of the nearby devices based on the user to be notified. The central controller 60 may then determine the target sound level for each of the device and the uninterested user. If the target sound level for the user is higher than (e.g., louder than) the target sound level for the uninterested user, the target sound level for the current notification is set to zero (i.e., the device will not use an acoustic method to notify the user). If the target sound level for the user is lower than (e.g., less than) the target sound level for the uninterested user, the central controller 60 may determine the difference between the target sound level of the user and the target sound level of the uninterested user. If the uninterested user is not near the notification device, the difference is the target sound level of the user. The difference between each of the nearby devices and the uninterested user may be averaged for each of the nearby devices. In one example, the nearby device with the highest average difference can be selected as the notification device, and the target sound level is based on the target sound level for the user of the corresponding device. In one example, the target sound level for the user and the uninterested user can be modified based on the estimated distance to the nearby device (e.g., the farther away from the device, the louder the target sound level).

[0069] In one example, the target sound level may be based on the activities of the users (e.g., the user to be notified and any uninterested users). User preferences may be used to indicate an increased target sound level for activities with high ambient noise (e.g., exercising, watching TV, piano practice), and a lower target sound level for activities with lower ambient noise levels (e.g., sleeping, reading, gardening). The user location table 220 may be linked to the notification message log 270 to determine the target sound level for the user's activities. For example, the actual volume 288 of the notification associated with the user ID 278, the device ID 280 may be linked to the activity 238 via a timestamp. The latest actual volume 288 for a given user, device, and activity may be the target sound level for a new notification message.

[0070] A notification message may be generated based on a target sound level. The central controller 60 or the device 70 generates a notification message including attributes and preferences associated with one or more nearby devices. In one example, the notification message may include one or more 802.11 media access control (MAC) frames to convey beam steering elements and volume elements. The notification message may include device-specific parameters / data and notification information to enable the target device to provide the notification to the user. The notification message may include a beam steering element and a volume element. The notification message may include address information, a priority field, and notification and display parameters. For example, the notification message of the displayed notification may be different from the notification message directed to the audio notification device. The beam steering element may include an orientation (bearing) and a beam width component based on the orientation of the device and the orientation of the user and nearby uninterested users. The central controller 60 is configured to determine the appropriate orientation (e.g., from the device toward the user, away from uninterested users). The beam width element can be used to reduce the coverage of the audio output based on the orientation from the device to the uninterested user.

[0071] refer to Fig.10 , and further reference Figure 1-8C , the method 320 for providing notification messages based on user activities includes the stages shown. However, the method 320 is only an example and not a limitation. The method 320 can be modified, for example, by adding, removing, rearranging, combining, performing stages simultaneously, and / or splitting a single stage into multiple stages. The central controller 60 and / or the device 70 are devices for performing elements of the method 320.

[0072] At stage 322, the method includes receiving a notification for a user. The central controller 60 or other device 70 receives a notification for a user. The notification may originate from within the device (e.g., an internal timer / scheduler, a system monitor, an alarm, etc.), from another device on the network, or from an external source (e.g., text, email, voicemail, etc.). The target user may be device specific so that all notifications received by the device are associated with a single user (e.g., a smartphone may be associated with a single user). The device may be associated with the current user who is the intended recipient of the notification. For example, referring to Figure 6 , the first user 130 may currently be using the oven 41 and the oven 41 may generate / receive an alert message for the first user 130 based on an alert status (eg, timer, preheating, smoke, etc.).

[0073] At stage 324, the method includes determining one or more notification devices based on the current activity and location of the user. The central controller 60 or other device 70 determines the activity and location of the user based on records in one or more data tables. For example, the user location table 220 includes records indicating user ID 232, user location 234, and user activity 238. The user table may indicate user ID 232 based on the user identified at stage 322. User location 234 and activity 238 can be used to determine one or more preference devices (i.e., notification devices). The current activity can be based on an inference engine executed on the central controller 60 or another network-connected (e.g., remote) processor. In one example, the user's activity can be tracked based on a wearable device, the user's proximity to other devices (e.g., a washing machine, a stove, a television, a presence sensor, etc.), or based on a calendar event. In another example, the device 70 can use a microphone 81 to obtain an audio sample of the environment. For example, the audio sample can be about 10 to 50 ms at a frequency of 1-20 Hz. The processor may calculate the Mel-frequency cepstral coefficients (MFCC) of the audio sample and compare the result with previously generated activity clusters associated with sounds generated during different activities. The inference engine is configured to provide user activities 238 based on the audio samples. For example, the audio samples may detect activities such as typing, talking, exercising, watching TV / listening, or resting. Other audio sampling techniques may also be used. The user's activity (e.g., light / dark, in motion / stationary) may also be determined using cameras and motion detectors. In one example, the state of the device may be used to infer the user's current activity. The operation of the burners on the oven 41 may indicate that the user is cooking, the streaming audio on the family room smart speaker 102b may indicate that the user is listening to music, and operating the browser on the portable computer 12 may indicate that the user is working. Other sensors and device inputs may be used to generate the user's current activity.

[0074] The user preference table on the central controller 60 can be used to indicate the user's preferred notification devices and corresponding device settings based on their current activity. For example, if the user is cooking, the preferred notification devices are the oven 41, the kitchen smart speaker 102a, and the doorbell 106. In one example, the preferred notification devices can be based on the user's current location and activity. A user in the family room 204 can prefer notifications via the TV 104 when watching TV, and prefer notifications via the family room smart speaker 102b when the TV is turned off.

[0075] At stage 326, the method includes determining the activities and locations of one or more nearby users of no interest. The central controller 60 or device 70 may determine the activities and locations of other users in the home 200. The central controller 60 may perform a search query on the user locations 234 of the user location table 220 based on the device locations 254 of the one or more notification devices determined at stage 324. Nearby users of no interest are defined as users that are located near the notification device (e.g., same room, next door, 10', 20', 50', etc.) and may receive notifications from one or more of the nearby devices determined at stage 324 (but not the intended recipients of the notifications). Again referring to Figure 6 In the use case in FIG. 3 , the first user 130 is the intended recipient of the notification received at stage 322 and the second user 132 is an uninterested user. The location and current activity of the second user 132 in the bedroom 206 indicate that the second user 132 is resting.

[0076] At stage 328, the method includes generating a notification message based on the user's current activity and location and the activity and location of one or more nearby uninterested users. In one example, the central controller 60 or device 70 may calculate a first set of nearby devices based on the user's location and a second set of nearby devices based on the location of the uninterested user. The difference between the first set of devices and the second set of devices may be determined based on the resting state of the uninterested user, so that the resulting set of devices does not include devices near the uninterested user who is resting. The resulting set of devices may be further filtered based on the user's activity to determine one or more notification devices. Reference Figure 6, the doorbell 106 is near both the first user 130 and the second user 132. Since the second user is resting, the doorbell 106 is removed as a notification device for the first user 130. Since the first user 130 is located in the office 212 and is currently working on the laptop computer 12, the laptop computer is determined to be the notification device. In this example, the central controller 60 or the device 70 generates a notification message including attributes and preferences associated with the laptop computer 12. The notification message may include one or more 802.11 media access control (MAC) frames to convey the notification and corresponding announcement parameters (e.g., volume, text, ringing sound, voice quality, etc.). In general, the notification message includes device-specific parameters / data as well as notification information to enable the target device to provide the notification to the user.

[0077] At stage 330, the method includes sending a notification message to at least one of the one or more nearby devices. The central controller 60 or device 70 sends the notification message to at least one of the one or more notification devices determined at stage 328. The central controller 60 may provide the notification message containing the corresponding notification information using a network transmission protocol associated with the device on the system 10. The notification may optionally have audio and video components (e.g., sound, voice, displayed text) for the device.

[0078] refer to Fig.11 , and further reference Figure 1-8C , a method 340 for providing a notification message to an associated user includes the stages shown. However, the method 340 is only an example and not a limitation. The method 340 can be modified, for example, by adding, removing, rearranging, combining, performing stages simultaneously, and / or splitting a single stage into multiple stages. The central controller 60 is a device for performing elements of the method 340. As an example, a data structure is described in conjunction with the central controller 60 to facilitate the interpretation of smart alarms in a multi-user environment. The data structure can be generated and maintained on other devices 70 in the home network.

[0079] At stage 342, the method includes receiving an alert from an electronic device. A transceiver in the central controller 60 or other device 70 on the home network is configured to receive an alert signal from another device on the network. The alert may be associated with a user programmable function (e.g., kitchen timer), a system status (e.g., dryer cycle complete), a program event (e.g., download complete), or other trigger that may require user attention.

[0080] At stage 344, the method includes determining a relevant user based on the alarm. The central controller 60 may include a device association table that associates network users with network devices or alarm information. For example, the first user 130 may be associated with the oven 41 so that an alarm generated by the oven 41 is directed to the first user 130. Additional users may also be associated with the oven, and the central controller 60 may be configured to alert additional users if the first user 130 cannot be located or the first user 130 does not respond to the notification. In one example, the doorbell 106 may be configured with a camera to obtain an image of the visitor and provide the image as an alarm. A facial recognition algorithm operating in the central controller 60 may be used to determine the identity of the visitor. The central controller 60 may be configured to determine the relevant user based on the results of the image recognition. The central controller 60 may also determine the relevant user using other information, such as an override and / or priority field associated with the signaling device.

[0081] At stage 346, the method includes determining the current user location and current user activity of the user and one or more nearby devices. The central controller 60 or other device 70 determines the location and activity of the user based on records in one or more data tables. For example, the user location table 220 includes a record indicating a user ID 232 and a corresponding user location 234 and activity 238. In one example, the user's activity may be tracked using a wearable that is close to a particular device or by using the user's calendar events. The central controller 60 may maintain user location 234 information and other device state information (e.g., current user, acoustic orientation) based on input from a presence sensor. The user location 234 may be updated periodically (e.g., 1 second, 5 seconds, 20 seconds, etc.) and may be updated based on a triggering event such as initial detection of the user by one or more sensors or devices.

[0082] At stage 348, the method includes determining notification preferences based on the current user location and the current user activity. The central controller 60 may include one or more device preference tables that include attribute fields such as device ID, user ID, user location, and activity. The device preference tables enable the user to configure notification preferences based on location and activity. For example, referring to Figure 5 , the third user 134 may have a preference to receive notifications from the television 104 when the activity is watching television, or to receive notifications via the family room smart speaker 102b when not watching television. The device preference table may also include device-specific parameter information that enables the user to define notification characteristics based on location and activity parameters. Notification characteristics may include volume, beam direction, display, sound, and other programmable device-specific capabilities. Other combinations of devices and corresponding notification preferences may be associated with the user's location and activity.

[0083] At stage 350, the method includes generating a notification message based on the notification preferences. The central controller 60 or the device 70 generates a notification message including the attributes and preferences determined at stage 348. In one example, the notification message may include one or more 802.11 media access control (MAC) frames to convey one or more information elements including device-specific parameters / data to enable the target device to provide notifications to the user based on the notification preferences. The central controller 60 may generate notification messages for multiple devices based on the user's preferences. For example, referring to Figure 4 , the first user 130 may indicate that the oven 41 and the kitchen smart speaker 102a provide notifications when the first user 130 is active in the kitchen 202. The user's preferences may also include override options set by the user to explicitly indicate the alert type (e.g., tone, content, duration) and beam steering parameters (e.g., volume, beam width).

[0084] At stage 352, the method includes sending a notification message to at least one of the notification devices based on the notification preferences. The central controller 60 or the device 70 sends the notification message to the at least one notification device using a network protocol (e.g., 802.11, BT-LE). The notification device is configured to transform the notification message into an appropriate notification for the user. The notification may have audio and video components (e.g., display text, flashing lights, icons, colored lights) as required by the previously entered user notification preferences. In one example, the user's notification preferences may be maintained on the device and the notification message may be an indication that notifications for the user are enabled (i.e., the device output is based on the previously stored user notification preferences).

[0085] refer to Fig.12 , and further reference Figure 1-8C , a method 360 for providing a notification message to a selected user includes the stages shown. However, the method 360 is only an example and not a limitation. The method 360 can be modified, for example, by adding, removing, rearranging, combining, performing stages simultaneously, and / or splitting a single stage into multiple stages. The central controller 60 is a device for performing elements of the method 360. As an example, a data structure is described in conjunction with the central controller 60 to facilitate the interpretation of smart alarms in a multi-user environment. The data structure can be generated and maintained on other devices 70 in the home network.

[0086] At stage 362, the method includes receiving an alarm from an electronic device in the home network. The central controller 60 or other device 70 on the home network receives an alarm signal from another device on the network. The alarm may be associated with a presence sensor such as a doorbell or security camera, or with other programmable functions, system states, program events, or other system events within the home network that may require user attention.

[0087] At stage 364, the method includes determining the location of one or more users in the home network. In one example, the central controller 60 or other device 70 determines the location of the home network users based on the user location table 220. The central controller 60 may maintain the location of the users based on input from the presence sensor and other device state information (e.g., current user, acoustic orientation). The location of the users may be updated periodically (e.g., 1 second, 5 seconds, 20 seconds, etc.) and / or based on a triggering event such as initial detection of the user by one or more sensors or devices.

[0088] At stage 366, the method includes determining the activity of one or more of the users in the home network. The central controller 60 or other device 70 determines the activity of the user based on records in one or more data tables. For example, the user location table 220 includes a record indicating the user ID 232 and the user activity 238. The activity of the user may be based on an inference engine executed on the central controller 60 or another network-connected (e.g., remote) processor. In one example, the activity of the user may be tracked based on a wearable device, the proximity of the user to other devices (e.g., a washing machine, a stove, a television, a presence sensor, etc.), or based on a calendar event. In another example, the device 70 may use a microphone 81 to obtain an audio sample of the environment. For example, the audio sample may be about 10 to 50 ms at a frequency of 1-20 Hz. The processor may calculate the Mel frequency cepstral coefficients (MFCC) of the audio sample and compare the result with a previously generated activity cluster associated with sounds generated during different activities. The inference engine is configured to provide user activity based on the audio sample. For example, audio samples may detect activities such as typing, talking, exercising, watching TV / listening, or resting. Other audio sampling techniques may also be used. Cameras and motion detectors may also be used to determine the user's activity (e.g., light / dark, in motion / stationary). In one example, the state of the device may be used to infer the user's current activity. Operation of the burners on oven 41 may indicate that the user is cooking, streaming audio on family room smart speaker 102b may indicate that the user is listening to music, and operating a browser on laptop computer 12 may indicate that the user is working. Other sensors and device inputs may be used to determine the activity of users in the network.

[0089] At stage 368, the method includes determining the relevance of an alarm for one or more users in the home network based on the electronic device. The central controller 60 may include a device association table that associates network users with preferred notification devices. For example, each device in the network may have a prioritized list of users notified when the device sends an alarm. Other correlations between alarms from electronic devices and users can be used to determine the relevance of an alarm to one or more users. For example, the security system and / or doorbell 106 may be configured with a camera to obtain an image of a visitor and provide the image as an alarm. A facial recognition algorithm operating in the central controller 60 can be used to determine the identity of the visitor. The central controller 60 can be configured to determine the relevant users based on the results of the image recognition. For example, in a multi-family residence, the security system or scanning system can be configured to capture address information on a package left at the front door (e.g., via barcode information, optical character recognition), and the central controller 60 can be configured to determine the relevant users based on the address information.

[0090] At stage 370, the method includes determining a notification user and a notification device based at least in part on the location, activity, and alarm relevance for one or more users in the home network. The central controller 60 or device 70 may be configured to query one or more location / configuration tables 220, 240, 270 to determine the notification user and notification device. In one example, reference Figure 4 , the central controller 60 may receive an alert from the doorbell 106 indicating that a guest is at the front door. The first user 130 may be the default user (e.g., a related user) that is notified of all incoming guests. The user location table 220 may include a record indicating that the first user 130 is located in the kitchen 202 and is currently cooking (e.g., because the first user 130 activated 41). The central controller 60 may include a user preference table indicating that when the first user 130 is in the kitchen 220 and is engaged in a cooking activity, the preferred notification device for the first user 130 is the oven 41. In this example, the first user 130 is the notification user and the oven 41 notification device.

[0091] At stage 372, the method includes generating a notification message based at least in part on the notification user and the notification device. The central controller 60 or the device 70 may be configured to generate a notification message based on the capabilities of the notification device and the preferences of the notification user. The notification message may include one or more 802.11 media access control (MAC) frames to convey notification content and corresponding notification parameters (e.g., volume, text, sound of ringing, voice quality, etc.). In one example, the volume may be based on a previously determined target sound level associated with the notification user and the notification device. The notification message may include device-specific parameters / data and notification information to enable the target device to provide the notification to the notification user. The format and content of the notification message may be modified based on the preferences associated with the notification user. For example, the notification user may be associated with a preset message tone or ringing, or may prefer text messages over audio messages on some devices (e.g., televisions, game consoles, etc.).

[0092] At stage 374, the method includes sending the notification message to the notification device. The central controller 60 or device 70 may send the notification message to the notification device using a network transmission protocol associated with the devices on the system 10.

[0093] Other examples and implementations are within the scope and spirit of the present disclosure and the appended claims. For example, due to the nature of software and computers, the functions described above may be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination of these. Features that implement the functions may also be physically located at various locations, including being distributed so that parts of the functions are implemented at different physical locations.

[0094] As used herein, an indication that a device is configured to perform a function means that the device contains appropriate equipment (e.g., circuits, mechanical devices, hardware, software (e.g., processor-readable instructions), firmware, etc.) to perform the function. That is, the device contains equipment capable of performing the function, such as where the device itself is designed and fabricated to perform the function, or is manufactured so that the device includes equipment designed and fabricated to perform the function. An indication that processor-readable instructions are configured to cause the processor to perform a function means that the processor-readable instructions contain instructions that, when executed by the processor (after compilation, if necessary), will cause the function to be performed.

[0095] Also, as used herein, “or” used before “at least one of” or “one or more of” in a list of items indicates a disjunctive list so that, for example, a list of “at least one of A, B, or C” or “one or more of A, B, or C” means A or B or C or AB or AC or BC or ABC (i.e., A and B and C), or a combination having more than one feature (e.g., AA, AAB, ABBC, etc.).

[0096] As used herein, unless otherwise stated, a statement that a function or operation is "based on" an item or condition means that the function or operation is based on the stated item or condition and may be based on one or more items and / or conditions in addition to the stated item or condition.

[0097] Furthermore, an indication that information is sent or transmitted "to" an entity or a statement that information is sent or transmitted "to" an entity is not required to complete the communication. Such indications or statements include situations where information is transmitted from a sending entity, but does not reach the intended recipient of the information. An intended recipient may still be referred to as a receiving entity, e.g., a receiving execution environment, even if the information is not actually received. Additionally, an entity configured to send or transmit information "to" an intended recipient is not required to be configured to complete the transmission of the information to the intended recipient. For example, an entity may provide the information and an indication of the intended recipient to another entity, which is capable of forwarding the information along with the indication of the intended recipient.

[0098] A wireless communication system is a communication system in which communications are transmitted wirelessly, i.e., by electromagnetic and / or acoustic waves propagating through atmospheric space rather than through wires or other physical connections. A wireless communication network may not have all communications transmitted wirelessly, but may be configured to have at least some communications transmitted wirelessly. In addition, a wireless communication device may communicate through one or more wired connections as well as through one or more wireless connections.

[0099] Substantial changes may be made depending on specific needs. For example, customized hardware may also be used, and / or specific elements may be implemented in hardware, software (including portable software, such as applets, etc.), or both. In addition, connections to other computing devices (such as network input / output devices) may be utilized.

[0100] As used herein, the terms "machine-readable medium," "computer-readable medium," and "non-transitory processor-readable storage medium" refer to any medium that participates in providing data that causes a machine to operate in a specific manner. Using a computer system, various computer-readable media may be involved in providing instructions / code to a processor for execution, and / or may be used to store and / or carry such instructions / code (e.g., as a signal). In many embodiments, computer-readable media are objects and / or tangible storage media. Such media may take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media include, for example, optical disks and / or magnetic disks. Volatile media include, but are not limited to, dynamic memory.

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

[0102] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to one or more processors for execution. By way of example only, the instructions may initially be carried on a magnetic disk and / or optical disk of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions as signals via a transmission medium for receipt and / or execution by the computer system.

[0103] The methods, systems, and devices discussed above are examples. Various configurations may omit, replace, or add various programs or components as needed. For example, in alternative configurations, the method may be performed in a different order than described, and various steps may be added, omitted, or combined. Also, the features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Moreover, technology develops, and therefore many of the elements are examples and do not limit the scope of the present disclosure or claims.

[0104] Specific details are given in the description to provide a thorough understanding of example configurations (including implementation schemes). However, the configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary details to avoid confusing the configurations. This description only provides example configurations and does not limit the scope, applicability, or configuration of the claims. In fact, the above description of the configurations provides a description for implementing the described techniques. Various changes can be made to the functions and arrangements of the elements without departing from the spirit or scope of the present disclosure.

[0105] Moreover, a configuration may be described as a process depicted as a flow chart or block diagram. Although each may describe the operation as a sequential process, many operations may be performed in parallel or simultaneously. In addition, the order of the operations may be rearranged. The process may have additional steps or functions not included in the figure. In addition, examples of methods may be implemented in hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments used to perform the task may be stored in a non-transitory computer-readable medium such as a storage medium. A processor may perform the described tasks.

[0106] Functional or other components shown in the figures and / or discussed herein as being connected or communicating with each other are communicatively coupled. That is, they may be connected directly or indirectly to enable communication therebetween.

[0107] After describing several example configurations, various modifications, alternative configurations, and equivalents may be used without departing from the spirit of the present disclosure. For example, the above elements may be components of a larger system, where other rules may take precedence over the application of the present invention or otherwise modify the application of the present invention. Also, many operations may be performed before, during, or after considering the above elements. Therefore, the above description does not restrict the scope of the claims.

[0108] Additionally, more than one invention may be disclosed.

Claims

1. A method of providing a notification to a user in a home network, comprising: receiving, at a communication device, an alert for the user; determining the location of the user via the communication device; determining, by the communication device, one or more nearby devices based on the location of the user; determining, by the communication device, the location of one or more nearby users of no interest based on the nearby devices; determining, via the communication device, an activity of the user; determining, by the communication device, activities of the one or more nearby users of no interest; determining, by the communication device, a preferred notification device based at least in part on the location of the user, the location of the one or more nearby users of no interest, the activity of the user, and the activity of the one or more nearby users of no interest; generating, by the communication device, a notification message for the user based at least in part on the preferred notification device and the alert; and The notification message is sent to the preference notification device through the communication device. 2 . The method of claim 1 , wherein determining the location of the user is based on one or more presence sensors in the home network.

3. The method of claim 1, further comprising: calculating, by the communication device, a target sound level for the preference notification device based at least in part on the locations of the one or more nearby non-interested users; and The notification message is generated, by the communication device, based at least in part on the target sound level. The method of claim 3 , wherein the target sound level comprises a beam steering element and a volume element. The method of claim 4 , wherein the volume element is based at least in part on the user.

6. The method of claim 1, further comprising: determining, by the communication device, an activity of each of the one or more nearby non-interested users; and A target sound level for each of the nearby devices is calculated, by the communication device, based at least in part on the activity of each of the one or more nearby non-interested users. The method of claim 1 , wherein the communication device is a central controller.

8. The method of claim 1, wherein the notification message includes one or more information elements configured to cause a device to display the notification message to the user.

9. An apparatus for providing notifications to users in a home network, comprising: a transceiver configured to receive an alert for the user; and at least one processor operably coupled to the transceiver and configured to: determining the location of the user; determining one or more nearby devices based on the location of the user; determining the location of one or more nearby users of no interest based on the nearby devices; determining the activity of said user; determining activities of the one or more nearby non-interested users; determining a preferred notification device based at least in part on the location of the user, the location of the one or more nearby users of no interest, the activity of the user, and the activity of the one or more nearby users of no interest; generating a notification message for the user based at least in part on the preferred notification device and the alert; and The notification message is sent to the preferred notification device.

10. The apparatus of claim 9, wherein the at least one processor is operably coupled to one or more presence sensors in the home network.

11. The apparatus of claim 9, wherein the at least one processor is further configured to: calculating a target sound level for the preference notification device based at least in part on the locations of the one or more nearby non-interested users; and The notification message is generated based at least in part on the target sound level.

12. The apparatus of claim 11, wherein the target sound level comprises a beam steering element and a volume element.

13. The apparatus of claim 12, wherein the volume element is based at least in part on the user.

14. The apparatus of claim 9, wherein the at least one processor is further configured to: determining an activity of each of the one or more nearby non-interested users; and Based at least in part on the activity of each of the one or more nearby non-interested users, a target sound level is calculated for each of the nearby devices.

15. The apparatus of claim 9, wherein the notification message includes one or more information elements configured to cause a device to display the notification message to the user.

16. An apparatus for providing notifications to users in a home network, comprising: means for receiving an alert for said user; means for determining the position of said user; means for determining one or more nearby devices based on the location of the user; means for determining the location of one or more nearby users of no interest based on the nearby devices; means for determining an activity of said user; means for determining activity of the one or more nearby users of no interest; means for determining a preferred notification device based at least in part on the location of the user, the location of the one or more nearby users of no interest, the activity of the user, and the activity of the one or more nearby users of no interest; means for generating a notification message for the user based at least in part on the preferred notification device and the alert; and Means for sending the notification message to the preferred notification device.

17. The apparatus of claim 16, wherein the means for determining the position of the user comprises means for detecting a presence of the user.

18. The apparatus of claim 16, further comprising: means for calculating a target sound level for said preference notification device based at least in part on said locations of said one or more nearby users of no interest; and Means for generating the notification message based at least in part on the target sound level.

19. The apparatus of claim 18, wherein the target sound level comprises a beam steering element and a volume element.

20. The apparatus of claim 19, wherein the volume element is based at least in part on the user.

21. The apparatus of claim 16, further comprising: means for determining an activity of each of the one or more nearby non-interested users; and Means for calculating a target sound level for each of the nearby devices based at least in part on the activity of each of the one or more nearby non-interested users.

22. The apparatus of claim 16, wherein the notification message includes one or more information elements configured to cause a device to display the notification message to the user.

Citation Information

Patent Citations

  • Directional control of sound in a vehicle

    CN103202038A

  • Method and device for responding to communication request

    CN106341800A