A router device for matching operations of client devices hosted on a network with contextual automations gathers device information from client devices that are connected to the router device via a wireless local area network (WLAN), wherein the client devices include a user device and one or more other devices, sends the device information collected from the client devices to a first remote server, receives device identification information of the client devices from the first remote server based on the device information, respectively, sends the device identification information of the client devices to a second remote server, receives a list of condition-based automations (CBAs) that are available and applicable for one or more of the client devices from the second remote server based on the device identification information, and sends the list of CBAs to the user device for presentation via a display.
|
7. A method for matching operations of client devices hosted on a network with contextual automations, the method comprising:
gathering device information from client devices that are connected to a router device via a wireless local area network (WLAN), wherein the client devices include a user device and one or more other devices, and wherein the device information includes at least one of media access control (MAC) addresses and organizationally unique identifiers (OUIs) of the client devices;
sending the device information collected from the client devices to a first remote server;
receiving device identification information of the client devices from the first remote server based on the device information, respectively;
sending the device identification information of the client devices to a second remote server;
querying the second remote server and in response to the querying receiving a list of condition-based automations (CBAs) that are available and applicable for one or more of the client devices from the second remote server based on the device identification information; and
sending the list of CBAs to the user device for presentation via a display.
13. A non-transitory computer-readable medium storing a program of instructions for matching operations of client devices hosted on a network with contextual automations, the instruction when executed by a processor of a router device causing the router device to perform operations comprising:
gathering device information from client devices that are connected to the router device via a wireless local area network (WLAN), wherein the client devices include a user device and one or more other devices;
sending the device information collected from the client devices to a first remote server;
receiving device identification information of the client devices from the first remote server based on the device information, respectively;
sending the device identification information of the client devices to a second remote server;
querying the second remote server and in response to the querying receiving a list of condition-based automations (CBAs) that are available and applicable for one or more of the client devices from the second remote server based on the device identification information, wherein the CBAs relate to one or more instruction codes that cause the one or more client devices to perform one or more device actions; and
sending the list of CBAs to the user device for presentation via a display.
1. A router device for matching operations of client devices hosted on a network with contextual automations, the router device comprising:
a memory storing instructions; and
a processor configured to execute the instructions to:
gather device information from client devices that are connected to the router device via a wireless local area network (WLAN), wherein the client devices include a user device and one or more other devices, and wherein the device information includes at least one of media access control (MAC) addresses and organizationally unique identifiers (OUIs) of the client devices;
send the device information collected from the client devices to a first remote server;
receive device identification information of the client devices from the first remote server based on the device information, respectively;
send the device identification information of the client devices to a second remote server;
query the second remote server and in response to the query receive a list of condition-based automations (CBAs) that are available and applicable for one or more of the client devices from the second remote server based on the device identification information, wherein the CBAs relate to one or more instruction codes that cause the one or more client devices to perform one or more device actions; and
send the list of CBAs to the user device for presentation via a display.
2. The router device of
the device identification information of each client device is determined based on a device identification information database storing mappings for translating device information of the client devices into corresponding device identification information for the client devices, respectively,
the device information includes at least one of media access control (MAC) addresses and organizationally unique identifiers (OUIs) of the client devices, and
the device identification information includes at least one of device type and make/model of the client devices.
3. The router device of
the list of CBAs for the client devices is determined based on a contextual device actions database storing mappings for translating device identification information of the client devices into corresponding condition-based automations that are available and applicable for the client devices or different combinations of multiple client devices, respectively,
the device identification information of the client devices includes at least one of device type and make/model of the client devices, and
the condition-based automations for the client devices include one or more device actions to be performed by one or more client devices or a series of interactions between multiple client devices.
4. The router device of
initiate a device scanning procedure to detect the client devices that are connected to the router via the WLAN; and
filter the list of CBAs that are available and applicable for the one or more client devices to generate a set of recommended CBAs that are most useful, helpful, or popular, depending on particular client devices or combinations of client devices that are present in the WLAN.
5. The router device of
receive a notification indicating one or more user-selected CBAs from among the list of CBAs that are available and applicable for the one or more client devices from the user device;
monitor the WLAN for conditions that cause triggering one or more device actions associated with the one or more user-selected CBAs;
determine whether the conditions for triggering the one or more device actions associated with at least one of the one or more user-selected CBAs are satisfied; and
send control instructions associated with the one or more device actions to at least one of the client devices, in response to determining that the conditions for triggering the one or more device actions associated with the at least one of the one or more user-selected CBAs have been satisfied.
6. The router device of
8. The method of
9. The method of
10. The method of
11. The method of
receiving a notification indicating one or more user-selected CBAs from among the list of CBAs that are available and applicable for the one or more client devices from the user device;
monitoring the WLAN for conditions that cause triggering one or more device actions associated with the one or more user-selected CBAs;
determining whether the conditions for triggering the one or more device actions associated with at least one of the one or more user-selected CBAs are satisfied; and
sending control instructions associated with the one or more device actions to at least one of the client devices, in response to determining that the conditions for triggering the one or more device actions associated with the at least one of the one or more user-selected CBAs have been satisfied.
12. The method of
14. The non-transitory computer-readable medium of
15. The non-transitory computer-readable medium of
16. The non-transitory computer-readable medium of
17. The non-transitory computer-readable medium of
receiving a notification indicating one or more user-selected CBAs from among the list of CBAs that are available and applicable for the one or more client devices from the user device;
monitoring the WLAN for conditions that cause triggering one or more device actions associated with the one or more user-selected CBAs;
determining whether the conditions for triggering the one or more device actions associated with at least one of the one or more user-selected CBAs are satisfied; and
sending control instructions associated with the one or more device actions to at least one of the client devices, in response to determining that the conditions for triggering the one or more device actions associated with the at least one of the one or more user-selected CBAs have been satisfied.
18. The non-transitory computer-readable medium of
19. The non-transitory computer-readable medium of
sending a list of the client devices to the second remote server; and
receiving information indicating one or more interaction between the client devices from the second remote server, wherein the information comprises the CBAs.
20. The non-transitory computer-readable medium of
|
In the field of personal electronic devices, established primary companies (such as Apple, Google, and Amazon) have developed their own platforms, or ecosystems, of devices which communicate well with devices made by the same company, but which do not integrate together with platforms or ecosystems of other companies. Furthermore, there are many secondary companies (such as Logitech, Next, and Ring) that have also developed their own client devices and hub devices. This represents a situation of electronic communication ecosystem silos, or technologically walled gardens, in which electronic devices of a given manufacturer communicate well within their own silo, but communication and coordination between electronic devices of different manufacturers is difficult. There is no prior solution that integrates device identification (fingerprinting) with Wi-Fi sensing, and remote (e.g., cloud based) universal cross-platform translation of communications to deliver a Wi-Fi motion based smart home automation solution, as disclosed herein.
Due to these compatibility issues, consumers are either hesitant to purchase devices from different manufacturers, and stay within the silo of a company who made a device they own, such as their mobile phone, or, if they live in a multiplatform home or work environment, (such as Android smartphones, Tizen TVs, and Amazon smart speakers) they are not able to synchronize operations of the devices made by the disparate manufacturers of the devices. Therefore, there is not enough automation between various different devices, sensors, and platforms of the users, which makes the effective implementation of a “smart home” difficult or impossible.
The Wi-Fi router (e.g., a home gateway device (GW), a wireless access point (AP), or the like) is the central device in a smart home which communicatively connects all electronically connected (e.g., IP-connected) devices. This position allows the router (GW/AP) of the present disclosure to provide a unique opportunity to aggregate connected device information and provide the user with proposed (relevant, helpful, recommended, etc.) contextual automations for devices and/or combinations of devices regardless of their manufacturer or platform, and can be implemented, via the router (GW/AP), using a cloud-to-cloud solution that removes barriers between different ecosystems which may have compatibility issues.
Accordingly, there is a need to provide an electronic apparatus, such as a router device (e.g., GW, AP), having software programs stored in a memory thereof, and at least one processor for executing the programs to gather information from the client devices on the WLAN (e.g., MAC, OUI, device type, make/model, etc.), gather information related to movement of people, devices, and/or objects in the home using Wi-Fi motion detection, send the information gathered from client devices on the WLAN to remote servers (e.g., cloud-based computers), and receive information from the remote servers to instruct some determined action by other client devices on the WLAN, even though the client devices are of different platform types.
An aspect of the present disclosure relates to a router device for matching operations of client devices hosted on a network with contextual automations, the router device including a memory storing instructions, and a processor configured to execute the instructions to gather device information from client devices that are connected to the router device via a wireless local area network (WLAN), wherein the client devices include a user device and one or more other devices, send the device information collected from the client devices to a first remote server, receive device identification information of the client devices from the first remote server based on the device information, respectively, send the device identification information of the client devices to a second remote server, receive a list of condition-based automations (CBAs) that are available and applicable for one or more of the client devices from the second remote server based on the device identification information, and send the list of CBAs to the user device for presentation via a display.
In another aspect of the present disclosure, the device identification information of each client device is determined based on a device identification information database storing mappings for translating device information of the client devices into corresponding device identification information for the client devices, respectively. The device information includes at least one of media access control (MAC) addresses and organizationally unique identifiers (OUIs) of the client devices, and the device identification information includes at least one of device type and make/model of the client devices.
In another aspect of the present disclosure, the list of CBAs for the client devices is determined based on a contextual device actions database storing mappings for translating device identification information of the client devices into corresponding condition-based automations that are available and applicable for the client devices or different combinations of multiple client devices, respectively. The device identification information of the client devices includes at least one of device type and make/model of the client devices, and the condition-based automations for the client devices include one or more device actions to be performed by one or more client devices or a series of interactions between multiple client devices.
In another aspect of the present disclosure, in response to receiving one or more commands via an application installed on the user device, the processor of the router device is configured to execute the instructions to initiate a device scanning procedure to detect the client devices that are connected to the router via the WLAN, and filter the list of CBAs that are available and applicable for the one or more client devices to generate a set of recommended CBAs that are most useful, helpful, or popular, depending on particular client devices or combinations of client devices that are present in the WLAN.
In another aspect of the present disclosure, the processor of the router device is further configured to execute the instructions to receive a notification indicating one or more user-selected CBAs from among the list of CBAs that are available and applicable for the one or more client devices from the user device, monitor the WLAN for conditions that cause triggering one or more device actions associated with the one or more user-selected CBAs, determine whether the conditions for triggering the one or more device actions associated with at least one of the one or more user-selected CBAs are satisfied, and send control instructions associated with the one or more device actions to at least one of the client devices, in response to determining that the conditions for triggering the one or more device actions associated with the at least one of the one or more user-selected CBAs have been satisfied.
In another aspect of the present disclosure, the control instructions sent by the router device cause the at least one of the client devices to perform the one or more device actions associated with the at least one of the user-selected CBAs, respectively.
An aspect of the present disclosure relates to a method for matching operations of client devices hosted on a network with contextual automations, the method including gathering device information from client devices that are connected to a router device via a wireless local area network (WLAN), wherein the client devices include a user device and one or more other devices, sending the device information collected from the client devices to a first remote server, receiving device identification information of the client devices from the first remote server based on the device information, respectively, sending the device identification information of the client devices to a second remote server, receiving a list of condition-based automations (CBAs) that are available and applicable for one or more of the client devices from the second remote server based on the device identification information, and sending the list of CBAs to the user device for presentation via a display.
In another aspect of the present disclosure, the first remote server receives the device information of the client devices from the router device, determines the device identification information of each client device associated with the device information, respectively, based on a device identification information database, and sends the device identification information of the client devices to the router device.
In another aspect of the present disclosure, the second remote server receives the device identification information of the client devices from the router device, determines whether there are any condition-based automations (CBAs) that are available and applicable for each client device or different combinations of multiple client devices associated with the device identification information of the client devices, respectively, based on a contextual device actions database, and sends the list of CBAs that are available and applicable for the one or more client devices to the router device.
In another aspect of the present disclosure, the user device initiates a device scanning procedure to detect client devices in the WLAN via an application installed on the user device, receives the list of CBAs that are available and applicable for the one or more client devices from the router device, presents the list of CBAs via a graphical user interface (GUI) shown on the display, receives a user selection of one or more CBAs from among the list of CBAs for the one or more client devices via the GUI, and sends a notification indicating the one or more user-selected CBAs to the router device.
In another aspect of the present disclosure, the method further includes receiving a notification indicating one or more user-selected CBAs from among the list of CBAs that are available and applicable for the one or more client devices from the user device, monitoring the WLAN for conditions that cause triggering one or more device actions associated with the one or more user-selected CBAs, determining whether the conditions for triggering the one or more device actions associated with at least one of the one or more user-selected CBAs are satisfied, and sending control instructions associated with the one or more device actions to at least one of the client devices, in response to determining that the conditions for triggering the one or more device actions associated with the at least one of the one or more user-selected CBAs have been satisfied.
In another aspect of the present disclosure, the at least one of the client devices receives the control instructions associated with the at least one of the user-selected CBAs from the router device, and performs the one or more device actions associated with the at least one of the user-selected CBAs based on the control instructions.
An aspect of the present disclosure relates to a non-transitory computer-readable medium storing a program of instructions for matching operations of client devices hosted on a network with contextual automations, the instruction when executed by a processor of a router device causing the router device to perform operations, including the operations of the method described above.
Another aspect of the present disclosure relates to a system including the router, the client devices, and the remote servers. Some other aspects of the present disclosure relate to methods performed by the router in communication with the client devices and remote servers. Another aspect of the present disclosure is one or more non-transitory computer-readable media storing instructions, which when executed by one or more processors of one or more electronic devices (the router, the client device(s), the remote server(s), and/or combinations thereof), causes the electronic device(s) to perform one or more steps of the methods described herein.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements.
The following detailed description is made with reference to the accompanying drawings and is provided to assist in a comprehensive understanding of various example embodiments of the present disclosure. The following description includes various details to assist in that understanding, but these are to be regarded as merely examples and not for the purpose of limiting the present disclosure as defined by the appended claims and their equivalents. The words and phrases used in the following description and claims are merely used to enable a clear and consistent understanding of the present disclosure. In addition, descriptions of well-known structures, functions, and configurations may be omitted for clarity and conciseness. Those of ordinary skill in the art will recognize that various changes and modifications of the examples described herein can be made without departing from the spirit and scope of the present disclosure.
It should be appreciated that various example embodiments of inventive concepts disclosed herein are not limited to specific numbers or combinations of devices, and there may be one or multiple of some of the aforementioned electronic apparatuses in the system, which may itself consist of multiple communication networks and various known or future developed wireless connectivity technologies, protocols, devices, and the like.
As shown in
As shown in
The wireless connection 7 between the router device 3 and the client devices 5, 6 can be implemented using a wireless connection that operates in accordance with any IEEE 802.11 Wi-Fi protocols, Bluetooth protocols, Bluetooth Low Energy (BLE), or other short range protocols that operate in accordance with a wireless technology standard for exchanging data over short distances using any licensed or unlicensed band such as the CBRS band, 2.4 GHz bands, 5 GHz bands, 6 GHz bands, or 60 GHz bands. Additionally or alternatively, the wireless connection 7 can be implemented using a wireless connection that operates in accordance with, but is not limited to, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol.
As shown in
The wired connection 8 and/or the wireless connection 9 between the router device 3 and the remote server devices 1, 2 via the Internet can be implemented using a wide area network (WAN), a virtual private network (VPN), metropolitan area networks (MANs), system area networks (SANs), a DOCSIS network, a fiber optics network (e.g., FTTH (fiber to the home) or FTTX (fiber to the x), or hybrid fiber-coaxial (HFC)), a digital subscriber line (DSL), a public switched data network (PSDN), a global Telex network, or a 2G, 3G, 4G or 5G network, for example. The wireless connection 9 can further include as some portion thereof a broadband mobile phone network connection, an optical network connection, or other similar connections. For example, the wireless connection 9 can also be implemented using a fixed wireless connection that operates in accordance with, but is not limited to, 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) or 5G protocols.
A more detailed description of the exemplary internal components of the server devices 1, 2, the router device 3, and the client devices 5, 6 shown in
Further, any, all, or some of the computing components in the server devices 1, 2, the router device 3, and the client devices 5, 6 may be adapted to execute any operating system, including Linux, UNIX, Windows, MacOS, DOS, and ChromeOS as well as virtual machines adapted to virtualize execution of a particular operating system, including customized and proprietary operating systems. The server devices 1, 2, the router device 3, and the client devices 5, 6 are further equipped with components to facilitate communication with other computing devices over the one or more network connections to local and wide area networks, wireless and wired networks, public and private networks, and any other communication network enabling communication in the system.
The server devices 1, 2 of the system of
As shown in
The radio 11 and the interface 13 may include various network cards, and circuitry implemented in software and/or hardware to enable communications between the server device 1 and the router device 3 via the internet (e.g., WAN) using the wired and/or wireless protocols in accordance with connections 8 and/or 9 (as described with reference to
The memory 14 includes a single memory or one or more memories or memory locations that include, but are not limited to, a RAM, a DRAM, a memory buffer, a hard drive, a database, an EPROM, an EEPROM, a ROM, a flash memory, logic blocks of a FPGA, hard disk or any other various layers of memory hierarchy. The memory 14 can be used to store any type of instructions, software, or algorithm including one or more programs 15 for controlling the general functions and operations of the server device 1 and performing management functions related to the other devices (e.g., client devices 5, 6) in the network in accordance with the embodiments described in the present disclosure.
The one or more processor(s) 16 control(s) the general operations of the server device 1 as well as performs management functions related to the other devices (e.g., client devices 5, 6) in the network. The processor(s) 16 may also be referred to as a cloud resource controller. The processor(s) 16 can include, but is/are not limited to, a central processing unit (CPU), a hardware microprocessor, a hardware processor, a multi-core processor, a single core processor, a FPGA, a microcontroller, an ASIC, a DSP, or other similar processing device capable of executing any type of instructions, algorithms, or software including the programs 15 for controlling the operation and functions of the server device 1 in accordance with the embodiments described in the present disclosure.
The server device 2 of
The router device 3 of the system of
As shown in
The at least one radio 31 may include various network cards, and circuitry implemented in software and/or hardware to enable communications with the servers 1, 2 and the client devices 5, 6 using the communication protocols in accordance with connections 7, 8 and/or 9 (as described with reference to
The interface 33 may include various network cards, and circuitry implemented in software and/or hardware to enable communications between the router device 3 and the server device 1, 2 via the Internet (e.g., WAN), using the wired and/or wireless protocols in accordance with connections 8 and/or 9 (as described with reference to
The memory 34 includes a single memory or one or more memories or memory locations that include, but are not limited to, a RAM, a DRAM, a memory buffer, a hard drive, a database, an EPROM, an EEPROM, a ROM, a flash memory, logic blocks of a FPGA, hard disk or any other various layers of memory hierarchy. The memory 34 can be used to store any type of instructions, software, or algorithm including one or more programs 35 for controlling the general functions and operations of the router device 3 and performing management functions related to the other devices (e.g., client devices 5, 6) in the network in accordance with the embodiments described in the present disclosure.
The one or more processor(s) 36 control(s) the general operations of the router device 3 as well as performs management functions related to the other devices (e.g., client devices 5, 6) in the network. The processor(s) 36 may also be referred to as a gateway access point (AP) wireless resource controller. The processor(s) 36 can include, but is/are not limited to, a central processing unit (CPU), a hardware microprocessor, a hardware processor, a multi-core processor, a single core processor, a FPGA, a microcontroller, an ASIC, a DSP, or other similar processing device capable of executing any type of instructions, algorithms, or software including the programs 35 for controlling the operation and functions of the router device 3 in accordance with the embodiments described in the present disclosure.
The client devices (e.g., the user device 5 and/or the other devices 6) of the system of
As shown in
The at least one radio 51 can include, but is not limited to, various network cards, and circuitry implemented in software and/or hardware to enable communications with the router device 3 using the communication protocols in accordance with connection 7 (as described with reference to
The memory 54 includes a single memory or one or more memories or memory locations that include, but are not limited to, a random access memory (RAM), a dynamic random access memory (DRAM) a memory buffer, a hard drive, a database, an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a read only memory (ROM), a flash memory, logic blocks of a field programmable gate array (FPGA), a hard disk or any other various layers of memory hierarchy. The memory 54 can be used to store any type of instructions, software, or algorithms including programs and/or applications 55 for controlling the general function and operations of the client device 5 in accordance with the embodiments described in the present disclosure.
The at least one processor 56 controls the general operations of the client device 5 and includes, but is not limited to, a central processing unit (CPU), a hardware microprocessor, a hardware processor, a multi-core processor, a single core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, or software including the applications 55 for controlling the operation and functions of the client device 5 in accordance with the embodiments described in the present disclosure.
At least one of the client devices of
One or more of the other client devices of
As shown in
In this manner, the router 3 performs Wi-Fi motion detection to associate Wi-Fi characteristics (or disturbances) with activities in the home. For example, the user can indicate that a person is sitting on the couch, and the router 3 can then associate a current Wi-Fi radio characteristic with the activity of “person sitting on the couch”. The router 3 can also have stored in memory 34 various associations of Wi-Fi characteristics with activities in the home. These stored associations can be user implemented/stored or imported from the internet. For example, the stored associations may be customized or user-defined, or may be predetermined for various different scenarios, contexts, activities, devices, device types, etc.
As shown in
In this manner, the router 3 obtains the MAC and/or OUI from each client device 5, 6 in the WLAN that is wirelessly connected with the router via Wi-Fi. The router 3 also obtains various kinds of detected information, such as information sensed by the Wi-Fi connected client devices 5, 6 (e.g., temperature, video or audio data from connected cameras, microphones, doorbells, etc.) as well as location information based on signal characteristics such as RSSI, or any other indication sent by a Wi-Fi connected client device.
Thus, in general, the router 3 is positioned to be able to gather information from the client devices 5, 6 on the WLAN (e.g., MAC, OUI, device type, make/model, etc.) and to gather information related to the detection of movement of people, devices, and/or objects in the user's home based on RF channel state information (e.g., via Wi-Fi motion detection function 39).
As shown in
In this manner, the router 3 sends the device information (e.g., the MACs/OUIs) to server 1, and receives from server 1 various identification information about the client devices 5, 6 associated with the device information (e.g., device identification information, such as device type, make/model, etc. associated with the MACs/OUIs).
As shown in
For example, the server 2 can recognize sensed or detected information (e.g., movement), and/or performed device actions, by a client device of a particular platform type and translate it into a signal (e.g., an applet) that causes a desired action by a client device of a different platform type. In this example, the router 3 sends the information received from a first client device of a particular platform type to the cloud server and receives information for a second client device of a different platform type to cause the second client device to perform a desired function. Accordingly, information detected by the first client device on the WLAN can result in a desired action by the second client device on the WLAN.
In this manner, the router 3 also sends a list of client devices 5, 6 (as identified by server 1) to server 2, and receives from server 2 various information indicating possible interactions between or among the client devices 5, 6 that are connected by Wi-Fi with the router 3 (e.g., condition-based automations associated with the device identification information, for instructing specific device actions or combinations thereof).
Thus, in general, the router 3 is positioned to be able to send the information gathered from client devices 5, 6 on the WLAN to remote servers 1, 2 (e.g., cloud-based computing environments) and to receive information from the remote servers 1, 2 to instruct some determined action by other client devices 5, 6 on the WLAN, even though the client devices are of different platform types.
By using Wi-Fi data, the router device 3 will query a remote database (via a remote computer, such as server 2) to extract a list of device automations which are applicable in the user's home. The hardware processor 36 of the router 3 can execute a recommendation engine (e.g., which may be implemented using various forms of software, executable instructions, logic, data structures, etc. such as the one or more programs 35 stored in the memory 34) to filter device actions and present the most relevant/helpful/popular/etc. automations as a set of recommended condition-based automations (CBAs), from which the user can selectively enable one or more desired CBAs from an application running on a client device, such as the user device 5 (e.g., a smart phone), in communication with the router 3. Various conditions associated with the user-selected CBAs are then monitored by the router 3 in the home Wi-Fi network (WLAN), and the device actions associated with the user-selected CBAs are performed by corresponding client devices 5, 6 under control of the router 3.
Additionally or alternatively, the recommendation engine may be executed by a hardware processor on the remote server 2 connected to the router 3 via the Internet (WAN) and/or a hardware processor on a client device, such as the processor 56 of the user device 5 (e.g., a mobile device such as a smartphone or tablet), connected to the router 3 via the WLAN.
By contextualizing Wi-Fi presence data (e.g., via the Wi-Fi motion detection function 39), the processor 36 of the router 3, using the Wi-Fi presence data, can make determinations about the user's status: are they home, did they leave the house, are they making some specific gestures, are they exercising (working out), are they asleep, are they on a voice call (VoIP traffic), are they watching TV (traffic modeling), etc. The user can set various condition-based automations (CBAs) in the router 3 depending on different contexts or situations (also referred to as scenes, scenarios, routines, etc.), such as turn off the Wi-Fi connected vacuum cleaner when the user is on a voice call, or turn on the Wi-Fi connected TV and Wi-Fi connected speakers, etc. when a person sits on the couch.
As shown in
Specific implementation details of the above-described devices, methods, and system are set forth below with reference to the flow charts illustrated in
As shown in
As shown in
According to the example shown in
As shown in
As shown in
As shown in
As shown in
In some example embodiments, the remote server 2, the router device 3, the user device 5, or combinations thereof, may execute a recommendation engine (e.g., a set of filtering rules). The recommendation engine may filter the list of available/applicable CBAs for the client devices 5, 6 to select the most relevant/helpful/popular/etc. CBAs, as a set of recommended CBAs.
As shown in
Referring again to
In addition to learned detection to action processes, the server 2 can send to the router 3, and the router 3 can store in its memory, complete possible detection-action sequences of all possible iterations among the client devices 5, 6 that are identified by the server 1 and sent to the server 2 by the router 3 (e.g., the user device 5 and all the other devices 6 that are Wi-Fi connected with the router 3).
Furthermore, the router 3 itself can be included in the databases used by servers 1 and 2, and thus interactions between the router 3 itself (e.g., Wi-Fi motion detection) and one or more of the Wi-Fi connected client devices 5, 6 can be stored in the databases and included in the list of possible actions and/or interactions (CBAs).
As shown in
If the conditions have not been satisfied for any of the user-selected CBA(s) (No at S20), the router 3 will continue monitoring the user's home Wi-Fi network (WLAN) for occurrence of the conditions. If the router 3 determines that the conditions for triggering the one or more device action(s) associated with at least one of the one or more user-selected CBA(s) have been satisfied (Yes at S20), then the router 3 sends control instructions associated with the one or more device action(s) corresponding to the at least one of the user-selected CBA(s) to at least one of the client devices 5, 6 (step S21).
As shown in
After controlling the client device(s) 5, 6 in this manner, the router device 3 may return to step S19 and continue monitoring the user's home Wi-Fi network (WLAN) for additional occurrences of the conditions associated with the one or more user-selected CBA(s), for example.
Now, various example use cases (also referred to as scenarios, scenes, routines, or the like) will be described with reference to the devices, methods, and system set forth above in connection with
For example, consider device A is a television. The router 3 has a Wi-Fi motion detection program which can sense a characteristic of the Wi-Fi radio waves. The user sits on the couch and instructs the router 3 (e.g., via an app on the user's mobile device such as a smartphone) that the current Wi-Fi radio characteristic is “person sitting on the couch”. This information is stored in the memory of the router. The information from the server 2 includes an instruction code for turning on the television. The user instructs the router 3 (e.g., via the app on the user's mobile device) that when the Wi-Fi motion detection detects the characteristic indicative of “person sitting on the couch” then the router 3 is to instruct the television to turn on.
Similarly, interaction between two devices can be implemented. For example, as an alternative to the above example, consider that device B is a camera (e.g., on an electronic assistant, a smart media device, or set top box), and device B is positioned to view the couch. The device B sends a signal that based on the camera image, the condition of “person sitting on the couch” exists. The information from the server 2 includes an instruction code for turning on the television. The user instructs the router 3 (e.g., via an app on a smartphone) that when the device B detects the condition “person sitting on the couch” then the router 3 is to instruct the television to turn on. Thus, the router would receive information from device B in the language of its platform, and send the appropriate action command to the television to turn on.
The following is a list of various other example scenarios or contexts:
The example use case scenarios described above are not exhaustive or limiting, but rather are intended for illustrative purposes to further understand the inventive concepts described herein. Many other examples are within the scope of the present disclosure, depending on the devices and device types, conditions, user preferences or patterns.
As described in detail above, the devices, methods, and system of the present disclosure integrates device identification (fingerprinting) with Wi-Fi motion sensing and IFTTT to propose various automations (including recommended CBAs) to the user between devices powered by a cloud-to-cloud solution that removes communication barriers between diverse ecosystems. Accordingly, the above-described solution solves the compatibility issues that may arise when various different client devices are associated with different manufacturers or service providers in a wireless network in order to provide an integrated Wi-Fi motion-based smart home solution.
The processes and software programs disclosed above constitute algorithms that can be effected by software, applications (apps, or mobile apps), computer programs, or a combination thereof (e.g. an app on a mobile device operating in conjunction with and/or in communication with a software program on the electronic apparatus (router) and/or a software program on the remote servers in the cloud). The software, applications, computer programs (and also device data and various other types of information) can be stored on a non-transitory computer-readable medium for causing a computer, such as the one or more processors, to execute the processes described herein and shown in the drawing figures.
The term non-transitory computer-readable recording medium refers to any computer program product, apparatus or device, such as a magnetic disk, optical disk, solid-state storage device, memory, programmable logic devices (PLDs), DRAM, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired computer-readable program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Disk or disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc. Combinations of the above are also included within the scope of computer-readable media.
The above-described example embodiments may be implemented as any combination of an apparatus, a system, an integrated circuit, and a computer program on a non-transitory computer readable recording medium. The one more processor(s) may be implemented as an integrated circuit (IC), an application specific integrated circuit (ASIC), or large-scale integrated circuit (LSI), system LSI, super LSI, or ultra LSI components that perform a part or all of the functions described herein.
Wu, Jonathan, Stern, Ronen, Mejia, Mario
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
8042048, | Nov 17 2005 | AT&T Intellectual Property I, L P | System and method for home automation |
20100202450, | |||
20130086245, | |||
20170078922, | |||
20170142230, | |||
20190028338, | |||
EP3235182, | |||
WO2016099148, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 03 2021 | MEJIA, MARIO | ARRIS ENTERPRISES LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 055592 | /0582 | |
Feb 04 2021 | STERN, RONEN | ARRIS ENTERPRISES LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 055592 | /0582 | |
Feb 05 2021 | ARRIS ENTERPRISES LLC | (assignment on the face of the patent) | / | |||
Feb 26 2021 | WU, JONATHAN | ARRIS ENTERPRISES LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 055592 | /0582 | |
Nov 12 2021 | COMMSCOPE, INC OF NORTH CAROLINA | JPMORGAN CHASE BANK, N A | ABL SECURITY AGREEMENT | 058843 | /0712 | |
Nov 12 2021 | CommScope Technologies LLC | JPMORGAN CHASE BANK, N A | ABL SECURITY AGREEMENT | 058843 | /0712 | |
Nov 12 2021 | ARRIS ENTERPRISES LLC | JPMORGAN CHASE BANK, N A | ABL SECURITY AGREEMENT | 058843 | /0712 | |
Nov 12 2021 | COMMSCOPE, INC OF NORTH CAROLINA | JPMORGAN CHASE BANK, N A | TERM LOAN SECURITY AGREEMENT | 058875 | /0449 | |
Nov 12 2021 | CommScope Technologies LLC | JPMORGAN CHASE BANK, N A | TERM LOAN SECURITY AGREEMENT | 058875 | /0449 | |
Nov 12 2021 | ARRIS ENTERPRISES LLC | JPMORGAN CHASE BANK, N A | TERM LOAN SECURITY AGREEMENT | 058875 | /0449 | |
Nov 15 2021 | RUCKUS WIRELESS, INC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | COMMSCOPE, INC OF NORTH CAROLINA | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | CommScope Technologies LLC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | ARRIS ENTERPRISES LLC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Nov 15 2021 | ARRIS SOLUTIONS, INC | WILMINGTON TRUST | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 060752 | /0001 | |
Dec 17 2024 | OUTDOOR WIRELESS NETWORKS LLC | APOLLO ADMINISTRATIVE AGENCY LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 069889 | /0114 | |
Dec 17 2024 | COMMSCOPE INC , OF NORTH CAROLINA | APOLLO ADMINISTRATIVE AGENCY LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 069889 | /0114 | |
Dec 17 2024 | CommScope Technologies LLC | APOLLO ADMINISTRATIVE AGENCY LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 069889 | /0114 | |
Dec 17 2024 | ARRIS ENTERPRISES LLC | APOLLO ADMINISTRATIVE AGENCY LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 069889 | /0114 | |
Dec 17 2024 | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | CommScope Technologies LLC | RELEASE OF SECURITY INTEREST AT REEL FRAME 058875 0449 | 069743 | /0057 | |
Dec 17 2024 | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | COMMSCOPE, INC OF NORTH CAROLINA | RELEASE OF SECURITY INTEREST AT REEL FRAME 058875 0449 | 069743 | /0057 | |
Dec 17 2024 | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | ARRIS ENTERPRISES LLC F K A ARRIS ENTERPRISES, INC | RELEASE OF SECURITY INTEREST AT REEL FRAME 058875 0449 | 069743 | /0057 | |
Dec 17 2024 | RUCKUS IP HOLDINGS LLC | APOLLO ADMINISTRATIVE AGENCY LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 069889 | /0114 |
Date | Maintenance Fee Events |
Feb 05 2021 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Sep 19 2026 | 4 years fee payment window open |
Mar 19 2027 | 6 months grace period start (w surcharge) |
Sep 19 2027 | patent expiry (for year 4) |
Sep 19 2029 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 19 2030 | 8 years fee payment window open |
Mar 19 2031 | 6 months grace period start (w surcharge) |
Sep 19 2031 | patent expiry (for year 8) |
Sep 19 2033 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 19 2034 | 12 years fee payment window open |
Mar 19 2035 | 6 months grace period start (w surcharge) |
Sep 19 2035 | patent expiry (for year 12) |
Sep 19 2037 | 2 years to revive unintentionally abandoned end. (for year 12) |