Vendors such as premises vendors, communication service vendors, and Internet portal vendors may desire to extend their relationship with vendees beyond the immediate transaction. Additionally, vendees desire additional premises management services beyond the immediate transaction for premises, communication services, or Internet portals. There is a need for advanced premises management services, methods, devices, and systems.
All publications and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication or patent application was specifically and individually indicated to be incorporated by reference. The following application incorporates by reference application Ser. No. 11/084,232, filed on Mar. 16, 2005 and application Ser. No. 11/084,657 filed on Mar. 16, 2005, in their entirety.
While preferred embodiments of the present invention have been shown and described herein, such embodiments are provided by way of example only. Various alternatives to the embodiments of the invention described herein may be employed in practicing the invention.
Certain embodiments include methods, devices and systems for initializing and validating a system gateway device, also referred to as a gateway or a gateway device, which is used to manage a local network of location management devices at a location. The network and/or the devices may be managed using the gateway and can manage the network and/or devices from a location remote from the location of the devices and/or gateway. The location of the devices, for example, can be a premises such as a residence or business premises, and the devices including, for example, a thermostat or a camera, can be managed at the premises from a remote location such as, for example, from an office or using a cellular phone.
In some embodiments, the system gateway devices connect to servers (gateway servers) that contain the account information for the user of the system. The gateway itself does not necessarily know what server the account is on, and thus determines, is shown, or is told which server contains the account to manage the account remotely. The methods, systems, and devices provided herein make use of a gateway registry. The gateway registry communicates to the gateway the location of the server containing the account of the account associated with the gateway. The location may comprise, for example, the address of the server. A depiction of an embodiment of a gateway registry system is provided in
Once the gateway server location is determined, and the gateway server is contacted, the gateway, in some embodiments, is validated by the gateway server in order for the gateway to gain access to the user account. Once this is done by the methods provided herein, and/or using the devices and/or systems provided herein, in order to manage the account, the gateway downloads the configuration for that account, wherein the configuration is in the account on the gateway server, and/or the gateway uploads data to the account from the premises in which it is installed.
In some embodiments, the configuration may be adjusted from a location remote to the premises where the local network that the gateway manages is located. In other embodiments, the configuration may be adjusted from the location of the premises where the local network that the gateway manages is located. In yet other embodiments, the configuration may be adjusted from either or both the location of the premises and/or from a remote location to the premises where the local network that the gateway manages is located.
For example,
The keys may be protected and controlled such that only authorized devices, systems, and/or users may access the keys. The keys may be encrypted when transferred over an un-secure connection or a secure connection. The keys may be protected by a firewall. The accounts on the servers may, in some embodiments, comprise account configurations, operation time and/or run time information, and/or account history information.
The embodiment of
Provided herein are methods and systems by which a gateway can discover the server that hosts the user's account. Provided herein are gateway devices and/or systems which can discover the server that hosted the user's account.
Each gateway device contains a unique hardware address for its Ethernet connection. Ethernet devices have unique addresses, also called gateway device Ethernet addresses. The Ethernet address of a gateway device may be used as a unique serial number, or another combination of numbers and letters may be used as the unique serial number for a particular gateway. In some embodiments, the gateway stores the unique hardware address for initialization of the gateway device. At production time, or thereafter, a unique key is placed in, and stored in, the gateway device. Both the unique address and the unique key are also stored in a master database for subsequent linking to an account once the gateway is associated to an account, and/or for subsequent populating of a gateway registry table and/or subsequent populating of a gateway server table. The master database may be securely controlled with various levels of access allowed to authorized personnel only, for example, such as customer service personnel managing the master database. The master database may be protected by a firewall device (a firewall).
According to some embodiments, a central repository contains all known account numbers and the gateway unique numbers associated with the accounts. The location of the central repository is also stored by the gateway. In some embodiments the central repository is a gateway registry and/or gateway registry server of all known accounts and gateways. The gateway registry may also be populated with the gateway server information which may be known within the master database. Alternatively, the gateway server information may be known by a third party controlling the gateway server who communicates the server information to the registry directly, and the registry then records the server address associated with a particular account. In another embodiment, the gateway server information may be known by a third party controlling the gateway server who communicates the server information to the master database, directly or indirectly, and the master database then populates the registry with the server information associated with the account.
In some embodiments, the central repository (gateway registry) is populated using a secure connection to the Internet (firewall protected) with the account number associated with the gateway device and the serial number of the gateway associated with the account number and system
According to some embodiments, upon association of a gateway device to an account (which is identified by the account identification, or account number), the gateway server may be populated with the account identification (or account number) associated with the gateway device and the key associated with the gateway device through use of the operational server (OPS) and/or a customer service entity. The master database of the OPS may provide the account identification associated with the gateway device, and/or the key of the gateway device to the gateway server.
In order to find the proper server to populate as described, in some embodiments, identification of the server that contains the account associated with the gateway device is performed by the OPS when the account identification and unique address is populated in the gateway registry. In some embodiments, the server information is temporarily stored in the master database, or temporarily stored by the OPS a sufficient amount of time to populate the server with the key associated with the gateway and the account number associated with the gateway device. In some embodiments, the server information is stored permanently in the master database when the gateway registry is populated by the master database. In some embodiments, the server is designated by the OPS. In some embodiments a third party or system that can manage the server and may or may not manage accounts on the server designates the server for an account.
In some embodiments, the gateway server information may be known by a third party controlling the gateway server who communicates the server information to the registry directly, and the registry then records the server address associated with a particular account. In another embodiment, the gateway server information may be known by a third party controlling the gateway server who communicates the server information to the master database, directly or indirectly, and the master database then populates the registry with the server information associated with the account.
For example,
The central repository, in some embodiments a gateway registry and/or gateway registry server, of all known accounts and gateways is used to find which gateway server, called the account server and/or the gateway server, in some embodiments, holds the account information associated with the gateway (see, for non-limiting example,
At power-on, the gateway device initializes, and sends a request to the central repository (for example, the gateway registry) specifying only the gateway unique address, for example a serial number for the gateway or the Ethernet address for the gateway. In some embodiments, the serial number for the gateway is the Ethernet address for the gateway. This address is then used to look up the user account associated with the gateway unique address, and respond back to the gateway device with the location of the server that it is to use to find the account associated with the gateway device. The gateway server at such location provided comprises the account associated with the gateway device which requested the information from the gateway registry. In some embodiments, the user account looked up is the account number associated with the unique address provided to the registry server. In other embodiments, the user account looked up is the account identification associated with the unique address provided to the registry server. The gateway server address received and the user account looked up are not sensitive, in that they are not, in and of themselves, sufficient to access the gateway server (as described herein), or to access the account on the gateway server associated with the gateway for which the unique address was provided.
For example,
At production time, in some embodiments, a unique key is placed in, and stored in, the gateway device. This key is then recorded by another repository, in some embodiments, the Operational Server, OPS, and/or a Customer Support Server. The key may be recorded as a key/value pair with the unique address of the device. The key may be the basis of an authentication that is used to validate that the gateway is the gateway for the user's account in order to access the account on the gateway server. In some embodiments, this key is used with a cryptographic hash to authenticate that the gateway is the correct gateway for the user's account. In some embodiments, this key is used with a cryptographic hash to create the authentication that the gateway is the correct gateway for the user's account. In some embodiments, this key is stored in the gateway device and the account identification looked up and received by the gateway from the gateway registry is used with a cryptographic hash to create the authentication that the gateway is the correct gateway for the user's account.
For example,
In some embodiments, the unique address to user account mapping is separate from the gateway key to user account mapping. In the first mapping, the gateway device uses the gateway serial number stored within the gateway device and the gateway registry location to contact the gateway registry in order to receive the location of the registry server and the account identification for the account associated with the gateway device. In the second mapping, the gateway device uses the location received from the registry to contact the gateway server and then uses the key stored on the gateway device and the account identification received from the registry as the bases for an authentication that unlocks the account associated with the gateway device to the gateway device.
Once the first mapping has occurred, in some embodiments, the gateway stores the location of the registry server and the account identification received by the registry in temporary memory which can be accessed so long as the gateway is not powered-off and/or does not lose power. In some embodiments, once the first mapping has occurred, the gateway stores the location of the registry server and the account identification received by the registry in permanent memory and is accessible by the gateway regardless of whether the gateway loses power or is powered-off.
Once a gateway server has been identified by a gateway device, and the gateway server has validated that the gateway is genuine per the methods and by devices and systems described herein, the network of local management devices coupled to the gateway at the location can be remotely managed from a location remote to the location of the gateway device and location management devices by viewing the account on the server through, for example, a remote network such as the Internet.
For example,
Although not shown, the gateway device 802 of the embodiment of
In the embodiment shown in
When the configuration data on the server is changed, the gateway which contains settings for each local management device at the location connected to it, can update its settings to conform to the server configuration by contacting the server and validating that it is the genuine gateway associated with the account stored in its memory, as described herein, and accessing and downloading the configuration settings or the changed configuration settings on the server for the account.
Provided herein is a method, system, and device wherein an account may be moved from server to server as needs change (moving data-centers, etc.) without having to update the gateway devices out in the field that the server has changed. The gateway can communicate with the central repository to find the new server location by executing the method done when initializing. For example, when the gateway server containing the account associated with a particular gateway is moved, the gateway which has already executed the first mapping will not be able to access its account using the server location stored in its memory. When the gateway contacts the gateway server at the location it previously received from the gateway registry, it receives an error message or a non-response from the gateway server, since there is no account identification on the gateway server matching the account identification provided by the gateway device. When such error or non-response is detected by the gateway, the gateway can re-initialize (repeat the first mapping), determine the new server location and re-receive the account identification from the gateway registry, per the methods and using the devices described herein.
Provided herein is a method and system wherein the account associated with the gateway device (called the previous gateway device) may be associated with a new gateway device. The new gateway can be associated with an existing account on a server by first updating the master database with the new gateway serial number and new gateway key, and by associating the new key and new serial number with the account identification formerly associated with the previous gateway device. The gateway registry may then be updated by using methods and systems described herein to populate the gateway registry table with the new gateway serial number and associating the new gateway serial number with the server address associated with the previous gateway device. The gateway server may then be updated by using methods and systems described herein to populate the gateway server table with the new gateway key and associating the new gateway key with the server address associated with the previous gateway device and associating the new key with the account identification associated with the previous gateway device. Once the gateway registry and the gateway server are updated to be associated with the new gateway device, upon initialization of the new gateway (such as upon powering-on), the new gateway device can use embodiments of the methods and systems provided herein to allow remote (and/or local) management of the local management devices to which it couples. It is contemplated that a new gateway device, which is also a gateway device, may comprise the various embodiments of the gateway device as described herein.
An embodiment allows the gateway to not have to (although it may) store any user account information other than its gateway serial number, logic to communicate with the devices to which it is connected based on account information received from the gateway server, memory, a processor, interfaces to the local network of local management devices and to the local management devices that the gateway manages, interface to systems on a network remote to the location of the local management devices that the gateway manages, and logic to carry out the mappings as described herein. In some embodiments, the systems comprise the gateway registry, and the gateway server. In some embodiments, the gateway stores history of the devices on the network managed by the gateway and/or history of the gateway.
The authentication provided by the gateway to the gateway server to access the account associated with the gateway may comprise a cryptographic hash of the key stored in the gateway. The authentication matches identical information stored on the gateway server, and allows the gateway server to ensure that the gateway device is genuine, and is not in fact another device/computer trying to masquerade as the user's gateway device.
The separately stored mappings between the account identification and the key, and the account serial number and the account identification of the gateway is a security measure to ensure that it is more difficult to break into either the gateway registry or the gateway server and discover the key and account identification pair, both of which may be used to operate correctly as the gateway.
For example, an embodiment of the invention comprises any of the above systems or methods alone or in combination as part of a network for premises management. The network, may include premises management devices such as a smart thermostat. The premises management devices are connected to a premises network which can be, for example, an RF and/or power line network. The premises network is connected to a gateway which in turn is connected to a broadband device such as a DSL, cable, or T1 line. The gateway can alternatively or also be connected to a dial up modem. The premises is connected to the Internet according to an embodiment. The Internet is connected to system managers at the network operations center. The Internet is also connected to customers of the system manager, for example vendors such as premises vendors, communication service vendors, or Internet portal vendors. The Internet is also connected to vendees, such as premises vendees, communication service vendees, or Internet portal vendees.
An embodiment may include programmable code and devices with screens of a portal interface for premises management. For example, code with may summarize premises management services. Code may summarize security management services and safety management services. Code may also summarize energy management services. Services offered by the system can be branded and incorporated into a third part web portal, for example, in a personal portal such as one provided by Yahoo.
The look and feel of the system pane can be tailored by the service provider.
In an embodiment, a system portal summary page may show a snap-shot of the state of the various devices in the user premises. For example, in an embodiment, the user can change premises by clicking on this box and selecting a different premises. A status pane may list the different devices in the user premises along with their actual states. A pending updates pane may show the time of the last communication between the premises and the server as well as any pending updates waiting to be sent downlink to the premises. The pictures pane shows the last several (e.g., last four) pictures taken by the camera in the user premises. The user can click on a thumbnail picture to look at a larger version of the photo as well as access archived images for that camera, look at live video, take new pictures or delete photos. The schedule pane shows the scheduled activities for the premises. The alarm history shows an archive of the most recent event and activity in the user premises. The reminders pane provides a means for the system to remind the user to perform certain activities or functions related to their home or business. The mode drop down button on the respective navigation bar allows the user to switch between the systems modes. The QuikControl drop down allows the user to control any device that is controllable (e.g., camera, thermostat, lamps, etc.).
According to an embodiment, a method is provided for premises management networking. Premises management devices connected to a gateway at a premises are monitored and controlled. According to an embodiment, an uplink-initiation signal associated with a network operations center server is received at the premises. In response to the uplink-initiation signal, communications between the gateway and the network operations center server may be initiated from the gateway at the premises. During the communications between the gateway and the network operations center server, information associated with the premises management devices may be communicated.
The premises gateway can be a low-cost and standalone unit that connects the in-premises devices to the server. The connectivity to the Internet can be accomplished via a broadband connection (Digital Signal 1 (T1), Digital Subscriber Line (DSL) or cable) and/or via the telephone line. Though broadband connectivity may be used, telephone connectivity may be present as a back-up option in case the broadband connection is lost. For premises without a broadband connection (e.g., vacation homes) a telephone-only connection can be used.
A user account may be established by the end user using personal information (name, payment option, etc.) of the user. The account registration may involve the user logging on to the system manager web site and establishing a new account by entering name, address, phone number, payment details and/or the gateway serial number printed on the gateway in the end user's possession. In some cases the system manager service account may already be pre-established with the gateway serial number and the end user simply has to update the account with personal and payment information. Multiple gateways can also be handled per user account.
The gateway may be registered to associate the user account on the system manager server (established in the previous step) with an actual gateway in the user's home. The gateway is connected to a broadband network or the telephone line in the home.
An embodiment may help provide users with a hosted and managed service for premises device monitoring and control for a fee, such as a monthly subscription fee. The premises markets include residential homes, commercial multiple tenant units (MTUs) as well as small businesses.
Embodiments may provide device logging, activity logging and tracking. For example, an embodiment can log any device variable specified by the user for up to, for example, 30 days. The user defines a logging interval for each variable at the time of configuration. The logging feature can be handled by the gateway on the local device side and the data can be transferred to the server at regular intervals. The overall variable log for all variables can be kept on the server side. Logging of data for more than, for example, 30 days (but no more than, for example, 180 days) can be provided to the user, for example for a nominal fee. An embodiment may provide at least, for example, a 14-day history log of all user, system and device actions. An action includes a change to a device variable, system or network settings brought on by either the system or the user (e.g., variable changed, logging enabled, device added, user notified, etc.). The user can trace back system activities to their cause and to the date and time they occurred. Past activities can be searched by variable, device, category or date.
An embodiment can support user-defined modes, such as “home,” “away,” “sleep,” “vacation,” etc. The mode the user network is in plays a factor in the determination of the actions taken (reporting, alarming, eventing, notification, etc.) by the system when variable changes occur. According to an embodiment, the user can specify alarm conditions for variables with discrete states (e.g., binary ON/OFF). These alarms can be reported in real-time (i.e., immediate uplink) by the gateway to the server. The server then in turn looks at the data and determines, based on user alarm settings, whether to notify the user or not.
According to an embodiment, for non-critical events, the system can notify the user in non-real-time fashion regarding the state of any variable specified by the user. The variables chosen for user eventing can be of any kind (discrete or continuous). The gateway updates the server with the change of variable state/value at a regularly scheduled upload. The server continuously looks at variable data and determines, based on user eventing settings, whether to notify the user or not. Eventing conditions can be determined based on the value or state of a variable as well as the system mode. According to an embodiment, the system can support user alarming and eventing via the following methods: email, text messaging, pager, and/or voice telephone call (voice synthesis).
An embodiment may provide device data monitoring and control. The user can specify any device variable for monitoring and control via the server portal. For example, up to 255 devices can be supported by a single gateway. For example, up to 512 variables can be supported by a single gateway.
The system can support an open architecture where most, if not all device networking protocols can be supported. Examples of specific device protocols supported by the system include RF and powerline protocols, such as GE Interlogix RF and Echelon LonWorks power line (PL & FT), simplifying the installation burden by requiring no new wires to be installed in a premises. The LonWorks free topology twisted pair medium (FT-10) can be supported as an option to support certain commercial applications (e.g., office buildings).
The following is a non-exhaustive list of a few other devices supported by the system.
The system can support cameras. For example, standard off-the-shelf IP cameras (also referred to as web cameras) may be used, such as those available from vendors such as Axis, Panasonic, Veo, D-Link, and Linksys, or other cameras manufactured for remote surveillance and monitoring. Surveillance cameras may contain a standalone web server and a unique IP address may be assigned to the camera. The user of such a camera would typically retrieve the camera image by accessing the camera's web page through a standard web browser, using the camera's IP address. In some cases the IP camera acquires a local IP address by using a Dynamic Host Configuration Protocol (DHCP) client to negotiate an address from the local DHCP server (usually residing in the user's router/firewall).
According to an embodiment, a gateway can initiate all communications with the server. Gateway communication can either initiate based on a predetermined schedule (e.g., every 30 minutes) or due to a local premises alarm (selected by the user).
Gateways can contact a common server for their first uplink connection in order to obtain their assigned gateway server address, which they can use for all subsequent uplink connections (unless changed later by the system). In the event that the gateway cannot connect to its designated gateway server, it can fall back to contacting the default initial gateway in order to refresh its gateway server address.
The predetermined call initiation schedule can be programmable by the server and can provide different intervals for broadband and telephone intervals (e.g., every 30 minutes for broadband and every 90 minutes for telephone).
An embodiment may be directed to a control network having a collection of sensor and actuator devices that are networked together. Sensor devices sense something about their surroundings and report what they sense on the network. Examples of sensor devices are door/window sensors, motion detectors, smoke detectors and remote controls.
Actuator devices receive commands over the network and then perform some physical action. Actuator devices may include light dimmers, appliance controllers, burglar alarm sirens and cameras. Some actuator devices also act as sensors, in that after they respond to a command, the result of that command is sent back over the network. For example, a light dimmer may return the value that it was set to. A camera returns an image after has been commanded to snap a picture.
In addition to the foregoing, the following are various examples of embodiments of the invention.
Some embodiments of a method for premises management networking include monitoring premises management devices connected to a gateway at a premises; controlling premises management devices connected to the gateway at the premises; receiving, at the premises, an uplink-initiation signal associated with a network operations center server; and in response to the uplink-initiation signal, initiating, from the gateway at the premises, communications between the gateway and the network operations center server; and communicating, during the communications between the gateway and the network operations center server, information associated with the premises management devices.
The uplink-initiation signal can be received via telephone and/or broadband connection. The gateway can initiate communications between the gateway and the network operations center server with at least a Hypertext Transfer Protocol (HTTP) message and/or at least an Extensible Markup language (XML) message. The premises management devices can manage energy of the premises, security of the premises, and/or safety of the premises. Many embodiments provide a hosted solution for property developers, owners and managers as well as service providers (Internet Service Providers (ISPs), telcos, utilities, etc.) such as communication service providers and Internet portal providers. Some embodiments offer a complete, turnkey, reliable, and/or cost-effective solution for the delivery of telemetry services (e.g., energy management, security, safety, access, health monitoring, messaging, etc.) to customers.
An embodiment of the invention is directed to a business method for premises management. Some embodiments of a business method for premises management include making an Internet portal available for access to a vendee, such as a premises vendee, communication service vendee, and/or an Internet portal vendee; and at least after a transaction between the vendor and the vendee, such as a premises transaction, a communication services transaction, and/or Internet portal services transaction, providing premises management services via the Internet portal to the vendee.
The Internet portal can be branded with a brand of the vendor according to an embodiment. Examples of a premises vendor include a home builder, premises builder, and premises manager. Examples of a premises vendee include a home buyer, premises buyer, and premises tenant. Examples of a communication service vendor include an Internet service provider, a telephone company, a satellite television company, and a cable television company. Examples of a communication service vendee include a customer of the Internet service provider, a customer of the telephone company, a customer of the satellite television company, and a customer of the cable television company. Premises management services can manage energy of the premises, security of the premises, and/or safety of the premises.
An embodiment of the invention is directed to a system. The system includes a network of premises management devices, a gateway coupled to the network and premises management devices, a server coupled to the gateway by a communication medium and a portal coupled to the communications medium. The portal provides communication with the premises management devices.
According to various embodiments of the invention alone or in various combinations: the communications medium may comprise the Internet; the portal may comprise an Internet portal; and/or the portal may be branded with the name of a vendor of a product associated with the premises. The product may comprise a building, and/or the vendor may comprise a party that leases the premises. The vendor may also or alternatively comprise a property management organization. The server may be included within a network operations center. The logic may comprise, according to various embodiments of the invention, software, hardware, or a combination of software and hardware.
Another embodiment to the invention is directed to a gateway. The gateway includes an interface coupled to a network of premises management devices, logic that receives data from different premises management devices, and an interface coupled to a communications medium that is coupled to a server. The server is coupled to a portal coupled to the communications medium. The portal provides communications with the premises management devices.
According to various embodiments of the invention alone or in various combinations: the communications medium may comprise the Internet; the portal may comprise an Internet to portal; and/or the portal may be branded with the name of a vendor of a product associated with the premises. The product may comprise a building; the vendor may comprise a party that leases the premises; the vendor may comprise a property management organization; and/or the server may be included within a network operations center.
Provided herein is a gateway device for managing a set of two or more local management devices at it location. The gateway device, in some embodiments, comprises a first interface that allows connectivity to a remote network over which the gateway can communicate to remote systems which are remote to the location. In some embodiments, the gateway device comprises a second interface for communication to a local network including a set of local management devices. The gateway device may also comprise a processor, memory. In some embodiments, the gateway device comprises an address of a gateway registry, a serial number of the gateway device, and a key.
In some embodiments, the gateway device comprises logic that, upon initialization of the gateway device, uses the address of the gateway registry to communicate between the gateway device and the gateway registry. In some embodiments, the logic of the gateway device sends, from the gateway device over the remote network, a request to the gateway registry specifying the serial number of the gateway device. In response to the request, in some embodiments, the logic of the gateway device receives in the gateway device, from the gateway registry over the remote network, a response including an address of a gateway server that has an account associated with the gateway device for managing the location associated with the gateway device. In some embodiments, the logic of the gateway device receives, from the gateway registry over the remote network, an identification of the account associated with the gateway device for managing the location associated with the gateway device. The logic of the gateway device, in some embodiments, communicates between the gateway device and the gateway server upon which the account associated with the gateway device is stored using authentication information derived based on the key, and communicates, over the remote network from the gateway device to the gateway server upon which the account associated with the gateway device is stored, the identification of the account that was received from the gateway registry and, in response to the communication of the identification of the account that was received from the gateway registry, receives account information from the gateway server.
The gateway device, in some embodiments, comprises logic that after initialization of the gateway device, uses the account information to manage a set of local management devices connected to a local network located at the location, wherein the gateway device is also located at the location and connected to the local network.
In some embodiments, the account stored on the gateway server includes historical data for the local network. The account stored on the gateway server may include settings for devices associated with the account. The authentication information that may be derived based on the key is derived by applying a hash function to the key. In some embodiments, the serial number of the gateway device comprises the media access control (MAC) address of the gateway device.
In some embodiments, the gateway registry is included on a first server and the gateway server is included on a second server located physically separate from the first server.
In some embodiments, the location may comprise a residence. In other embodiments, the location may comprise a business premises.
In some embodiments, the remote network comprises the Internet.
In some embodiments, the logic comprises a computer. The logic may comprise computer program code stored in a memory on the gateway device. The logic may comprise electronic circuitry included in the gateway device. In some embodiments, the logic comprises electronic circuitry and computer program code in the gateway device.
In some embodiments, the logic for managing the set of local management devices comprises automation logic that initiates actions with respect to the local management devices upon certain conditions. In some embodiments, the automation logic is configured based on account information received from the gateway server. In some embodiments, the logic for managing the set of local management devices takes actions depending on a mode.
Provided herein is a system for networks at a plurality of locations. In some embodiments, the system comprises a plurality of control networks. A control network may include a plurality of management devices at a location and a gateway device, as described herein. The gateway device in a control network may include a first interface for communicating between systems remote from the location, a second interface for communicating between at least one management device at the location, an address of a gateway registry, a serial number of the gateway device, and a key.
The system, in some embodiments, may comprise a gateway registry including serial numbers of gateway devices of the respective control networks, identifications of accounts for the control networks, and the server address of a gateway server upon which the account associated with the control network is stored. The gateway registry may comprise logic that uses the gateway serial number of the gateway device to determine the identification of the account associated with the gateway device, logic that communicates to the gateway device the determined identification of the account associated with the gateway device and the server address of the gateway server upon which the account information is stored.
In some embodiments, the system comprises a gateway server including details of the accounts for the control networks, identifications of the accounts, and keys of gateway devices in the control networks associated with the account. In some embodiments, the server includes logic that authenticates communication from respective gateway devices using the keys stored in the gateway server and authentication information received from respective gateway devices, and logic that provides account information to respective authenticated gateway devices based on identifications of accounts provided by the respective gateway devices.
In some embodiments, the account information provided by logic of the server comprises historical data for the local network. In some embodiments, the account information provided by logic of the server comprises settings for devices associated with the account. In some embodiments, the logic in the gateway server that authenticates applies a hash function to the key stored in the gateway server that is associated with the account. In some embodiments, the authentication information received from the gateway device is derived by applying the hash function to the key stored in the gateway device.
In some embodiments, the system includes a plurality of gateway servers and wherein the gateway registry includes a set of addresses to respective gateway servers and an association between gateway device and respective gateway server. In some embodiments, the gateway registry and the gateway server are comprised by a single computer system. In some embodiments, the gateway registry includes a table having an association between each gateway serial number and corresponding account number and gateway server. In some embodiments, the gateway server includes a table having an association between each gateway account identification and corresponding key.
In some embodiments, the local management devices and the gateway device are coupled by at least one of an RF, Z-wave, a wireless connection, a wired connection, and an IP connection to the local network. In some embodiments, the serial number of the gateway device comprises the media access control (MAC) address of the gateway device. In some embodiments, the gateway registry is included on a first server and the gateway server is included on a second server located physically separate from the first server.
In some embodiments of the system, the location comprises a residence. In some embodiments of the system, the location comprises a business premises. In some embodiments, the remote network comprises the Internet.
Provided herein is a method of operating a gateway device in a control network. In some embodiments, the method of operating a gateway device in a control, network comprises storing on the gateway device an address of a gateway registry, a serial number of the gateway device, and a key. The method may further comprise using the address of the gateway registry to communicate between the gateway device and the gateway registry, and sending, from the gateway device over the remote network, a request to the gateway registry specifying the serial number of the gateway device.
In response to the request, in some embodiments the method comprises receiving in the gateway device, from the gateway registry over the remote network, a response including an address of a gateway server that has an account associated with the gateway device for managing a set of local management devices connected to a local network located at the location associated with the gateway device. In response to the request, in some embodiments the method comprises receiving in the gateway device, from the gateway registry over the remote network, an identification of the account associated with the gateway device for managing the location associated with the gateway device.
The method may further comprise communicating between the gateway device and the gateway server upon which the account associated with the gateway device is stored using authentication information derived based on the key. In some embodiments, the method comprises communicating, over the remote network from the gateway device to the gateway server upon which the account associated with the gateway device is stored, the identification of the account that was received from the gateway registry. In response to the communication of the identification of the account that was received from the gateway registry, in some embodiments the method comprises receiving account information from the gateway server.
The method may comprise using the account information to manage the set of local management devices connected to the local network located at the location, wherein the gateway device is also located at the location and connected to the local network.
In some embodiments of the method, the authentication information derived based on the key is derived by applying a hash function to the key. In some embodiments of the method the serial number of the gateway device comprises the media access control (MAC) address of the gateway device. In some embodiments of the method, the gateway registry is included on a first server and the gateway server is included on a second server located physically separate from the first server. In some embodiments of the method, the location comprises a residence. In some embodiments of the method, the location comprises a business premises. In some embodiments of the method, the remote network comprises the Internet.
In some embodiments, the method further comprises storing the account identification and the gateway server address in the gateway device.
Provided herein is a method for storing information to operate a gateway device in a control network. In some embodiments, the method comprises storing an identification associated with an account associated with a gateway device, a serial number associated with the gateway device, and a key associated with the gateway device in a location remote from a location of the gateway device. In some embodiments, the method comprises populating a table of a gateway registry with the serial number associated with the gateway device, a gateway server location associated with an account associated with the gateway device, and the identification associated with the gateway device, wherein the serial number, the server location, and the identification are associated with each other in the gateway registry table. In some embodiments, the method comprises populating a table of the gateway server with the identification associated with the gateway device and the key associated with the gateway device, wherein the identification and the key are associated with each other in the gateway server and wherein the identification and key are associated with the account associated with the gateway device in the gateway server.
In some embodiments of the method for storing information to operate a gateway device in a control network, the steps of storing the identification, populating the gateway registry table, and populating the gateway server table may be controlled by a gateway account manager. In some embodiments of the method for storing information to operate a gateway device in a control network, the steps of storing the identification, populating the gateway registry table, and populating the gateway server table may be controlled by a remote management device.
Provided herein is a method for storing information to operate a new gateway device in a control network, wherein the control network has been previously associated with a previous gateway device. The storing of information may be in a location remote from a location of the previous gateway device. The information to operate the new gateway device in the control network may be stored in a table of a gateway registry and in a table of a gateway server.
The method for storing information to operate a new gateway device in a control network may comprise finding an identification associated with an account associated with the previous gateway device stored in the location remote from the location of the previous gateway device. The finding may comprise looking up the identification. The finding may comprise requesting the identification. In some embodiments the location is a master database. In some embodiments, a first serial number associated with the previous gateway device and associated with a server location has been stored in a table of a gateway registry, and a first key associated with the previous gateway device has been stored in a table of a gateway server at the server location. In some embodiments, the identification associated with the account associated with the previous gateway device has been stored in the gateway registry and in the gateway server.
The method for storing information to operate a new gateway device in a control network may further comprise storing a second serial number associated with the new gateway device, and a second key associated with the new gateway device in the location remote from the location of the previous gateway device. In some embodiments, the location is the master database.
The method for storing information to operate a new gateway device in a control network may further comprise populating the table of the gateway registry with the second serial number of the new gateway device by associating the second serial number with the same identification and server location previously associated with a first serial number associated with the previous gateway device, wherein a gateway server location associated with the account associated with the previous gateway device becomes the gateway server location associated with the account associated with the new gateway device, and wherein account identification associated with the account associated with the previous gateway device becomes the gateway server location associated with the account associated with the new gateway device, and wherein the second serial number of the new gateway, the server location, and the identification are associated with each other in the gateway registry table. In some embodiments, the method for storing information to operate a new gateway device in a control network may further comprise populating a table of the gateway server with a second key associated with the new gateway device by associating the second key with the identification in the table previously associated with a first key associated with the previous gateway device, wherein the account and the identification associated with the previous gateway device becomes the account and identification associated with the new gateway device, wherein the identification and the second key are associated with each other and with the account associated with the new gateway device in the table of the gateway server.
In some embodiments, the steps of storing the identification, populating the gateway registry table, and populating the gateway server table may be controlled by a gateway account manager. In some embodiments, the steps of storing the identification, populating the gateway registry table, and populating the gateway server table may be controlled by a remote management device.
Aspects of the systems and methods described herein may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the systems and methods include: microcontrollers with memory, embedded microprocessors, firmware, software, etc. Furthermore, aspects of the systems and methods may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural network) logic, quantum devices, and hybrids of any of the above device types. Of course the underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.
It should be noted that the various functions or processes disclosed herein may be described as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, email, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), etc.). When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of components and/or processes under the systems and methods may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs.
Unless the context clearly requires otherwise, throughout the description and the claims, the words ‘comprise,’ ‘comprising,’ and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of ‘including, but not limited to.’ Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words ‘herein,’ ‘hereunder,’ ‘above,’ ‘below,’ and words of similar import refer to this application as a whole and not to any particular portions of this application. When the word ‘or’ is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.
The above description of illustrated embodiments of the systems and methods is not intended to be exhaustive or to limit the systems and methods to the precise form disclosed. While specific embodiments of, and examples for, the systems and methods are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the systems and methods, as those skilled in the relevant art will recognize. The teachings of the systems and methods provided herein can be applied to other processing systems and methods, not only for the systems and methods described above.
The elements and acts of the various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the systems and methods in light of the above detailed description.
In general, the terms used should not be construed to limit the systems and methods to the specific embodiments disclosed in the specification and the claims, but should be construed to include all processing systems that operate under the claims. Accordingly, the systems and methods are not limited by the disclosure.
While certain aspects of the systems and methods may be presented in certain claim forms, the inventors contemplate the various aspects of the systems and methods in any number of claim forms. Accordingly, the inventors reserve the right to add additional claims after filing the application to pursue such additional claim forms for other aspects of the systems and methods,
This application claims the benefit of U.S. Provisional Application No. 60/804,550, filed Jun. 12, 2006, which application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12637671 | Dec 2009 | US |
Child | 13932837 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13718851 | Dec 2012 | US |
Child | 12637671 | US | |
Parent | 11761745 | Jun 2007 | US |
Child | 13718851 | US | |
Parent | 12019568 | Jan 2008 | US |
Child | 11761745 | US | |
Parent | 13925181 | Jun 2013 | US |
Child | 12019568 | US | |
Parent | 13531757 | Jun 2012 | US |
Child | 13925181 | US | |
Parent | 13311365 | Dec 2011 | US |
Child | 13531757 | US | |
Parent | 13335279 | Dec 2011 | US |
Child | 13311365 | US | |
Parent | 12539537 | Aug 2009 | US |
Child | 13335279 | US | |
Parent | 12750470 | Mar 2010 | US |
Child | 12539537 | US | |
Parent | 13104932 | May 2011 | US |
Child | 12750470 | US |