Patent ID: 12241630

It will be appreciated that for clarity of illustration, the size of some of the illustrative elements in the above listed Figures may be exaggerated relative to other elements, i.e. the elements illustrated in the Figures are not necessarily drawn to scale.

DETAILED DESCRIPTION

With reference toFIG.1, an exemplary system of devices in a household may include without limitation a smart thermostat104, one or more personal activity monitors106, a security system base station108, a lighting controller110, one or more tablet computers112, one or more smart phones114, a personal computer116, one or more kitchen appliances such as refrigerator118, one or more smoke and/or carbon monoxide detectors120; a robotic vacuum cleaner122, and various entertainment appliances such as for example cable STB124and TV126. In the exemplary system, these devices may be equipped to communicate wirelessly, for example via an RF signal such as contemplated by RF4CE, Zwave, Bluetooth, etc.; ultrasonic signal; visible light; etc., as appropriate for the control of each particular appliance, for example or over a WiFi network100, in order to report status, alarms, fault conditions, etc., and in some cases to receive operational commands. As will be understood, other proprietary wireless or wired networks may also be present, for example between an alarm system base station and its various sensors, between smoke detectors situated at multiple locations in the household, between an HVAC system and its smart temperature sensors, between a cable STB and its headend, etc. The exemplary WiFi network may be managed by a router and wireless access point102, via which access to the Internet140and remote servers142,144may also be made available to those devices equipped with appropriate software.

However, while the illustrated devices may all be capable of wireless signaling, they may not support full intercommunication amongst themselves. For example, thermostat104and personal activity monitor106may only be adapted to communicate with specific manufacturer-supplied apps resident on smart phone112, alarm base station108may only be adapted to communicate with a cloud-based central monitoring facility maintained by the alarm system vendor, etc. It will also be appreciated that the system may provide indirect communication between the wireless access point102and desired target appliance via a relay device which is responsive to wireless communications and which may support a plurality of RF protocols and which may communicate to a desired appliance which may contain a software agent.

More particularly, the software agent may comprise programming instructions which, when executed on an appliance, such as the exemplary computing-capable device200illustrated inFIG.2, may perform the steps and functions of the methods described herein. Computing-capable device200may comprise a central processor201coupled to a memory system202which memory system may comprise one or more of RAM memory, ROM memory206and non-volatile memory208. As will be appreciated, some or all of the elements of memory system202may take the form of a chip, a hard disk, a magnetic disk, an optical disk, FLASH memory, and/or the like, and all or portion of the elements of memory system202may be physically incorporated within the same IC chip as the central processor201and, as such, memory system202is shown separately inFIG.2only for the sake of clarity. Computing-capable device200may further comprise, as required for a particular purpose, one or more wireless communication interfaces210, for example WiFi, Bluetooth, or the like; one or more wired communication interfaces212, for example, Ethernet, USB, or the like; a display interface214for output to one or more of a LED, LCD, computer monitor, TV, etc.; and a user input interface216, for connection to for example a keypad, touchscreen, pointing device, remote control, or the like. Once again, in some embodiments all or portion of interfaces210through216may be physically incorporated within the same IC chip as the central processor201and, as such, are shown separately inFIG.2only for the sake of clarity. Further, as will become apparent hereafter, in certain embodiments user interface functionality214,216may be embodied in a physically separate device, for example smart phone114or PC116and accessed wirelessly by a software agent resident in computing-capable device200.

For the purposes of this invention, computing-capable device200may comprise a separate standalone unit provisioned specifically to provide a platform for the software agent programming, or alternatively, computing-capable device200providing the platform for the software agent programming may comprise all or part of an appliance, for example a cable STB124, smart phone114, PC116, or even server142. It is also contemplated that in some embodiments software agent functionality may be divided amongst multiple computing-capable devices, for example data capture may be performed locally by a device such as STB124, and analysis of such captured data may performed remotely by server142. Accordingly, in the descriptions that follow it will be understood that the physical platform upon which the disclosed software agent functionality is resident may comprise any of the above forms, or any other convenient configuration, as appropriate for a particular embodiment.

Turning now toFIG.3, an exemplary software agent for aggregation of the overall status of the system ofFIG.1may be initialized upon installation on a suitable computing device, as follows. After startup300, at step302the software agent may perform device discovery in order to establish a listing of all responsive devices in the system. Such discovery may comprise polling devices on a network, for example WiFi network100or any other network, wired or wireless, which may be present in the environment and accessible to the software agent; communicating with a universal remote control or remote control app and/or associated database to ascertain which controllable devices the remote control has been configured to communicate with; soliciting input from a user; etc., all as may be appropriate to a particular configuration. Such discovery may also include comparing retrieved device characteristics to a database of such characteristics in order to uniquely identify devices, for example as described in U.S. Pat. No. 8,812,629 “System and Method for Configuring the Remote Control Functionality of a Portable Device” and/or pending U.S. patent application Ser. No. 12/148,444 “Using HDMI-CEC to Identify a Codeset,” both of common ownership and incorporated herein by reference in their entirety.

As devices are identified, the exemplary software agent may further reference a command and/or protocol database, local and/or remote, e.g. on server142or144, in order to configure itself to effectively communicate with the discovered devices.

After discovery is complete, at step304the software agent may present a user with a listing of all discovered devices and at step306allow the user to select those devices which are to participate in status aggregation. Once the participating devices have been identified, at step308user input may be solicited to define a series of event/response parameters. In this context, an event/response parameter may comprise the association of a particular system status with an action which is to be taken by the software agent upon the system entering into that status. For convenience, in some embodiments certain event responses may be pre-programmed by default, for example responses to arrival or departure of a user, detection of an intruder, etc. After user entry, and if necessary editing of default responses, is complete, at step310the software agent may build a database of event/response parameters for use as will be described hereafter. Finally, at step312the software agent may ascertain the current status of all configured devices in the system in order to build and populate a system status database, after which at step314the software agent enters normal active status as will now be described in conjunction withFIG.4.

As will be appreciated, an exemplary system status database may include not only the operational status of all the devices participating in the system, but also other pertinent data such as user location within or outside the home (determined for example from smart phone114(using image capturing, use sensing, device proximity or the like), sensed presence of activity monitor106, security system data, image capture date, etc.); date, day of week, and time of day; current weather conditions and forecast (obtained for example from Internet server144); times and durations of discounted energy pricing; etc.

Turning toFIG.4, at step402the actions of an exemplary software agent during normal operation may comprise periodic communication with the devices present in the system in order to track changes in the status of those devices. As will be appreciated, such communication may be software agent or device initiated, i.e., polled or interrupt driven, or a combination thereof, as appropriate for a particular system. Upon completion of communication, at step404the software agent may determine if any changes in system status have occurred. If not, the periodic communication of step402may be repeated. If however a change in system status is detected, at step406the exemplary system status database may be updated to reflect the new system status value(s). Thereafter, at steps408and410the updated system status may be compared to the system status entries stored in the event/response database. If no matches are found, the periodic communication of step402is repeated. If however a match is found, at step412, the action associated with that status event may be performed. Thereafter, at step414, the software agent may determine if further entries in the event/response database match the current status. If so, step412is repeated, if not, the periodic communication of step402may be repeated.

Examples of actions which may be initiated in this manner by an exemplary software agent may include, without limitation:

Receipt of a communication from a GPS-enabled smartphone114may indicate that a user is approaching home. An exemplary associated event/response parameter may cause a software agent to issue a command to thermostat104to exit energy-saving mode. Further, depending on the season and time of day, the exemplary software agent may additionally issue command(s) to lighting controller110to turn on one or more lights.

Receipt of a communication from security system base station108may indicate that an intruder has been detected. An exemplary event/response parameter may cause a software agent to issue command(s) to lighting controller110to turn both exterior and interior lights on at full brightness.

Status received from one or more personal activity monitor(s)106indicate that all occupants of the home are asleep. An exemplary event/response parameter may cause a software agent to issue commands to TV126to power off that device if that device is still powered on; to change thermostat104setting to night eco mode; to cause lighting controller110to turn off any remaining lights downstairs, and to request security system108to enable downstairs motion sensors.

In a similar manner, if the reported status from an exemplary personal activity monitor106changes from “asleep” to “awake”, an exemplary event/response parameter may cause a software agent to issue a command(s) to security system108to disable interior motion sensors.

The exemplary software agent of this invention may also act as a conduit to efficiently route device messages to a user in a timely and convenient manner. For example, when a battery-powered alarm system sensor reports a low battery state to security system base station108, a battery purchase requirement may be forwarded by the exemplary software agent to smart phone114for entry into a location based reminder system such as for example Google now. Similarly, an “over temperature” status from refrigerator118or a “bag full” status from automatic vacuum cleaner122may cause an exemplary software agent to forward appropriate messages to smartphone114or tablet116, or even cause a message to be displayed on TV126, depending on the current location of a user as determined by, for example smart phone114or personal activity monitor106.

As will be appreciated, many further event/response scenarios may be supported by the above described exemplary software agent and alternate embodiments thereof. Accordingly, it should be understood that the above scenarios and use cases are presented by way of example only, without limitation.

While various concepts have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those concepts could be developed in light of the overall teachings of the disclosure. For example, while the exemplary methods are presented above in the context of a home system, it will be appreciate that the principles disclosed herein may be broadly applied to, for example, offices, factories, theaters, department stores, shopping malls, airports, etc.

Further, while described in the context of functional modules and illustrated using block diagram format, it is to be understood that, unless otherwise stated to the contrary, one or more of the described functions and/or features may be integrated in a single physical device and/or a software module, or one or more functions and/or features may be implemented in separate physical devices or software modules. It will also be appreciated that a detailed discussion of the actual implementation of each module is not necessary for an enabling understanding of the invention. Rather, the actual implementation of such modules would be well within the routine skill of an engineer, given the disclosure herein of the attributes, functionality, and inter-relationship of the various functional modules in the system. Therefore, a person skilled in the art, applying ordinary skill, will be able to practice the invention set forth in the claims without undue experimentation. It will be additionally appreciated that the particular concepts disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.

All patents cited within this document are hereby incorporated by reference in their entirety.