The present invention relates generally to controlling networked devices and specifically to configuring interaction between networked devices in a multi-controller network.
Increasingly, devices in, for example, the home and office environment are becoming network-enabled. As such, network-enabled devices can be controlled over a network, for example through an internet-based service. An example of controlling networked devices through a server is known from U.S. patent application Ser. No. 10/500,683. An internet-based service can simplify the task of controlling network-enabled devices. However, controlling network-enabled devices through an internet-based service poses privacy risks (e.g. logging of user activity) and security risks (e.g. hostile takeover of control). Additionally, frequent communications between network-enabled devices and an internet-based service can increase power usage. Furthermore, failure of the network-enabled devices to connect to the internet-based service can render the network-enabled devices uncontrollable. There is a need for an improved method of controlling network-enabled devices.
It is an object of the present invention to provide an improved method of controlling network-enabled devices. Said object of the invention is achieved by the introduction of a method of controlling network-enabled devices comprising the steps of presenting, through a web service accessible via a first network, a set of interaction schedules to a user, based on device profiles related to a user profile of the user; receiving from the user through the web service a selection of an interaction schedule of the set of interaction schedules, said selection relating to a first device and a second device accessible through a second network, operationally coupled to the first network; selecting a control device based on the selected interaction schedule and based on said device profiles related to said user profile of the user; and configuring the selected control device, the first device and the second device based on the selected interaction schedule. This is beneficial as it allows the selection of a control device that provides any of: improved privacy protection, improved security, lower power usage, less dependency on availability of internet-based services, and other benefits. Further, this selection can be implemented in a user-friendly way, for example, through utilizing the relationship between the user profile and devices (such as control devices) and device profiles.
In an embodiment of the method according to the invention, the control device is the first device. This is advantageous, as a single device can operate both as control device and first device, which can implement the interaction at a local level, save space and provide additional benefits.
Another embodiment of the method according to the invention further comprises the steps of presenting through the web service a set of control scenarios to the user; and receiving from the user, through the web service, a selection of a control scenario from the set of control scenarios; wherein the step of selecting a control device is further based on the selected control scenario. An advantage of this embodiment is that it increases the level of user control.
In yet another embodiment of the method according to the invention, the set of control scenarios comprises at least one of: a privacy-based control scenario, a security-based control scenario, a functionality-based control scenario, an availability-based control scenario, a response speed-based control scenario or a location-based control scenario. This embodiment can provide benefits to the user in simplifying the control scenario selection process and providing control scenarios that can fulfill user needs.
In a further embodiment of the method according to the invention, the step of configuring the selected control device, the first device and the second device comprises at least one of: configuring the first device to send an event to the selected control device; configuring the selected control device to poll the first device; or configuring the selected control device to send a control command to the second device. This embodiment advantageously provides a simplified and/or improved method of (partially) implementing the selected interaction schedule.
In another advantageous embodiment of the method according to the invention, the step of configuring the selected control device, the first device and the second device comprises, for at least one of said devices, changing control code stored in a memory unit of said device, from a first version to a second version, the second version being based on the selected interaction schedule. This embodiment provides multiple benefits, for example, it enables devices with limited processing, memory or other (general) capabilities to be included in the interaction schedule. Another benefit related to this embodiment is that interaction schedules can be preserved when devices are reset and/or after devices have been temporarily powered down. Yet another benefit is related to devices that were not designed for interaction or for specific interaction features or general features, but that gain such features as part of this configuration step.
In yet another embodiment of the method according to the invention, the step of configuring the selected control device, the first device and the second device comprises at least one of said devices receiving: the selected interaction schedule or data based on the selected interaction schedule, and a device profile or a partial device profile of the control device and/or of the first and/or the second device. This embodiment advantageously provides a simple configuration step which, for example, can be executed iteratively from one device to the next.
It is another object of the present invention to provide an improved computer program product for controlling network-enabled devices. Said object of the invention is achieved by the introduction of a computer program product for controlling network-enabled devices comprising software code portions for performing any of the steps or embodiments of the method specified above when said product is run on a computer. Such a computer program product advantageously provides any or all of the benefits and advantages related to the method and furthermore provides for the method to be implemented through one or more (computer) devices.
It is another object of the present invention to provide an improved control device for controlling network-enabled devices. Said object of the invention is achieved by the introduction of a control device for controlling network-enabled devices arranged for: receiving through a first network, an interaction schedule or data based on an interaction schedule selected by a user from a set of interaction schedules and relating to a first device and a second device, said devices relating to a user profile of the user and said devices being accessible through a second network; receiving a device profile or a partial device profile of the first device and/or the second device; controlling the first device and/or the second device based on the selected interaction schedule. The control device beneficially provides any of: improved privacy protection, improved security, lower power usage, less dependency on availability of internet-based services and other benefits. Further, this control device advantageously allows for a simplified configuration, for example, through supporting configuration using data related to the user profile and data related to the device profiles (such as data related to the device profile of the control device).
In an embodiment of the control device according to the invention, the control device is further arranged to act as a proxy for the first device and/or second device towards the web service. This is beneficial as a proxy can function, for example, as a bridge to span devices or networks that support different protocols. A further advantage is that a proxy can handle functions on behalf of the first device and/or second device and hence, for example, realize energy savings.
In a further embodiment of the control device according to the invention, the control device is further arranged as a gateway to the second network. Advantageously this can further increase privacy and security, provide greater independence from devices or services outside the second network and provide enhanced energy efficiency.
In yet another embodiment of the control device according to the invention, the control device is further arranged for receiving a control scenario or data related to a control scenario selected by the user from a set of control scenarios; and wherein controlling the first device and the second device is further based on the selected control scenario. Benefits of this embodiment include a greater level of control over how the first device and the second device are controlled as well as support for additional features of the gateway related to the selected control scenario.
In an especially advantageous embodiment of the control device according to the invention, the control device is further arranged as a gateway to the second network, and the control device is further arranged to monitor data communications passing the gateway, and to intercept, block and/or amend such data communications to or from the first device and/or the second device, based on the control scenario. This embodiment can further improve privacy protection, security and power efficiency. It can further lower the dependency on availability of internet-based services and additionally provide other benefits.
The above and other characteristics, features and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the invention. This description is given for the sake of example only, without limiting the scope of the invention. The numbers of the figures quoted below refer to the attached drawings.
The above and other aspects and features of the present invention will become more apparent from the following detailed description considered in connection with the accompanying drawings, in which:
In
In the third step 104, a control device is selected. This selection step can be executed by the same application that provides the web service or by another application. As an example, the web service can be provided by a first server connected to the internet and the selection of the control device can be executed by an application running on a second server, the application being called by the web service (e.g. through an Application Programming Interface). The control device can be selected, for example, based on there being a default control device (e.g. the server running the web service) and after determining if any condition (e.g. the server lacking capacity, instability of the connection between the server and the first and/or second device) is met that prevents the default control device from being selected as the control device. In another example, the control device is selected by the user through the web service. Several control devices can be presented to the user who then selects one control device. In yet another example, the user selects one or more requirements and/or preferences related to the selection of a control device. The step of selecting a control device can then be based on these requirements and/or preferences. Requirements related to the selection of a control device can comprise requirements related to the control device having a privacy seal, the control device being at a specific location (e.g. within a specific jurisdiction, in a zone, in a home, in a room), the control device being operated by a specific company, etc. Preferences related to the selection of a control device can comprise favoring the selection of a fast control device (e.g. based on the specifications of the control device, measured response speed of the control device, bandwidth of the connection to the control device), preferring a control device that offers a specific functionality (e.g. interaction with devices of multiple brands, interaction with devices of friends that are registered to a specific service), etc. Combinations of these requirements and/or preferences and many other selection criteria can be part of an implementation of the step of selecting a control device.
The step of configuring the devices 106 comprises sending configuration related data to at least one of the devices. It is not required that all devices are configured when a user selects an interaction schedule. As an example, a device can already have been configured based on an earlier interaction schedule selected by the user and require no change when another interaction schedule is selected. Also, the control device can be the first device, in which case the interaction schedule is implemented by configuring the first device and the second device. As an example, the user selecting an interaction schedule related to a lighting device (the first device) being dimmed, resulting in the display of a refrigerator (the second device) going to a power save mode, can result in the lighting device being configured to send a power-save-mode command to the fridge upon the lighting device being dimmed.
Configuration-related data can, as a first example, comprise a script implementing listeners, event casters, polling and statements such as if-then statements. A first device can be configured to send an event to the second device when a condition is fulfilled, for example when a user turns on the first device. The second device can be configured to listen for this event and, for example, change its mode (e.g. from off to on) when the event is received (e.g. “if event is received then change mode to on”). Event casting can be directed to specific devices (e.g. unicast) or multiple devices, such as all devices on a (sub)net of the network (e.g. multicast). Similarly, listeners can be selective about which device or which events are listened to. In this example, instead of the first device sending events and the second device listening for events, the second device can be configured to poll the first device (e.g. poll status of first device) and change its mode based on the results of polling.
As a second example, configuration-related data can comprise a control code loaded to the memory of a device. Such a control code can, for instance, comprise a firmware update for the first device, wherein the new firmware is based on the selected interaction schedule. The firmware can, for instance, be created by the web service or an application called by the web service based on the interaction schedule and a device profile of the first device. As a further example, the web service can retrieve from a server (e.g. hosted by the manufacturer of the first device) a firmware package including a default version of the firmware and data describing at what locations in the firmware values can be overwritten, amended, included or appended. Said values can include triggers (i.e. which event triggers an action), addresses (e.g. of a device that must be notified upon a trigger) or commands (e.g. a specific format of a data packet payload to be sent to a device that must be notified or controlled). The configuration-related data, such as a script, firmware or configuration package can be sent to a device, for example, by the web service or by an application that is called by the web service. Sending configuration-related data to a device can, for example, comprise sending one or more files containing said data or sending a reference to said data (e.g. a link to a location where said data can be retrieved). Furthermore, the firmware update can comprise any of: overwriting existing control code, amending existing control code, appending control code to the existing control code, storing new control code to coexist with existing control code, switching from old control code to new control code, etc.
In
The first relationship 216 involves the mobile device 200 and the web service 202: the mobile device 200 can be used by the user to select an interactivity schedule (not shown). The other relationships 218, 220, 222, 224 are between the web service 202 and the first control device 204, the second control device 206, the first device 208 and the second device 210, respectively, wherein the web service 202 configures said devices (e.g. directly or by calling an Application Programming Interface of another web service).
Now, referring to
Now, referring to
The selection of the control device can, for example, also be performed by the user (not shown). The web service presents a set of control scenarios to the user and receives a selection of a control scenario from the user. The selected control scenario can provide, for example, user-specified requirements related to security standards a control device must support. As another example, the control scenario can specify that only control devices in a specific network (e.g. the network to which the first device and the second device are coupled) can be used. Furthermore, the control device selection can be implemented to allow the user to select a control scenario from a set containing at least one of: a privacy-based control scenario, a security-based control scenario, a functionality-based control scenario, an availability-based control scenario, a response speed-based control scenario or a location-based control scenario (not shown). This can simplify the process for the user and provide the user with intuitive choices leading to the control device selection. As an example, a functionality control scenario can lead to the selection of a control device that supports a wide array of functions, an availability control scenario can lead to the selection of a control device that has an uptime greater than 99%, a response speed scenario can lead to the selection of a control device supporting a fast protocol (e.g. a protocol with low overhead) that is supported natively by the first and second device and a location control scenario can lead to the selection of a device that is in the same (physical) location as the user. If the user can select multiple scenarios or rank scenarios, as an example, the selection of the control device can be based on multiple requirements and/or requests.
If the selection of the control device comprises selecting an additional control device (not shown), such as an auxiliary control device, a backup control device, a second control device, etc. then, in case of failure of the selected control device, the additionally selected control device can control the first device and the second device based on the selected interaction. The second control device as gateway can detect failure of the first control device, for example, by monitoring communications between the first device or the second device and the first control device, by monitoring the status of the first control device, etc. If the first control device is the selected control device, the second control device can control the interaction between the first device and the second device in case of detection of a failure of the first control device.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word ‘comprising’ does not exclude the presence of elements or steps not listed in a claim. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means can be embodied by one and the same item of hardware or software. The usage of the words first, second and third, etcetera does not indicate any ordering. These words are to be interpreted as names. No specific sequence of acts is intended to be required unless specifically indicated.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IB2014/058562 | 1/27/2014 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61761901 | Feb 2013 | US |