Field
The described embodiments relate generally to a system that includes multiple environmental monitoring devices, and more specifically to techniques for determining types of problems in the system by monitoring communication within the system and with external client devices.
Related Art
Trends in connectivity and in portable electronic devices are resulting in dramatic changes in people's lives. For example, the Internet now allows individuals access to vast amounts of information, as well as the ability to identify and interact with individuals, organizations and companies around the world. This has resulted in a significant increase in online financial transactions (which are sometimes referred to as ‘ecommerce’). Similarly, the increasingly powerful computing and communication capabilities of portable electronic device (such as smartphones), as well as a large and growing set of applications, are accelerating these changes, providing individuals access to information at arbitrary locations and the ability to leverage this information to perform a wide variety of tasks.
Recently, it has been proposed these capabilities be included in other electronic devices that are located throughout our environments, including those that people interact with infrequently. In the so-called ‘Internet of things,’ it has been proposed that future versions of these so-called ‘background’ electronic devices be outfitted with more powerful computing capabilities and networking subsystems to facilitate wired or wireless communication. For example, the background electronic devices may include: a cellular network interface (LTE, etc.), a wireless local area network interface (e.g., a wireless network such as described in the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard or Bluetooth™ from the Bluetooth Special Interest Group of Kirkland, Wash.), and/or another type of wireless interface (such as a near-field-communication interface). These capabilities may allow the background electronic devices to be integrated into information networks, thereby further transforming people's lives.
The resulting system, which may include multiple electronic devices, may be distributed across multiple locations and, environments. In addition, communication within and by such a system may involve multiple subsystems or components, as well as multiple service providers. The complexity of the system may make it susceptible to a variety of different types of problems, fault conditions or failure mechanisms (which are henceforth referred to as ‘types of problems’).
However, the complexity of the system may make it difficult to accurately and promptly diagnose a particular type of fault. These delays or difficulties may result in service disruptions, which are frustrating to customers. In addition, in the absence of a proper diagnosis of a particular type of problem, customers may incorrectly blame a provider of the system, even when the problem has a different origin. Consequently, the difficulty in diagnosing the type of problem can adversely impact customer satisfaction.
Hence, there is a need for a system that addresses the above-described problems.
The described embodiments relate to a system that includes environmental monitoring devices that monitor and communicate information about environmental conditions in external environments that include the environmental monitoring devices. Moreover, the system includes a data subsystem that: receives the information from the environmental monitoring devices; associates the information with user accounts; stores the information; and interacts with a client subsystem via a network. Furthermore, the client subsystem: receives the information from the environmental monitoring devices; interacts with the data subsystem and client devices via the network; and provides user-account information. This system may detect disruptions in connections that convey information during the communication and the interactions among the environmental monitoring devices, the data subsystem, the client subsystem and the client devices to determine a type of problem in the system.
Note that portions of the network may be associated with different service providers.
Moreover, the system may determine the type of problem based on whether: a connection is disrupted at a location that includes one device in the system, a first set of connections are disrupted in a region that includes multiple devices in the system, and/or a second set of connection are disrupted throughout the system.
In particular, the type of problem may involve disruption of connections among the environmental monitoring devices and the data subsystem, the environmental monitoring devices and the client subsystem, the environmental monitoring devices and the client devices, the client devices and the data subsystem, and/or the client devices and the client subsystem. Then, the system may determine that the type of problem includes a power failure when all the connections are disrupted in a region that includes multiple devices in the system. Alternatively, the system may determine that the type of problem includes a communication failure associated with one or more of the services providers when a majority of the connections are disrupted in more than one region in the system.
In some embodiments, the system determines that the type of problem includes a problem at a location in the system when the disrupted connections are associated with a user. For example, the local problem may include: a power disruption at the location, a network-connection problem at the location, and/or a router problem at the location. Thus, if the type of problem involves disruption of connections among the environmental monitoring devices and the client devices, the system may determine that the type of problem includes the router problem at the location in the system that is associated with the user. Moreover, if the type of problem involves disruption of connections among a client device and the environmental monitoring devices, the system may determine that the type of problem includes the power disruption at the location in the system.
Furthermore, if the type of problem involves disruption of connections with the environmental monitoring devices at different locations, having a common characteristic, in the system, the system may determine that the type of problem includes a failure mode of the environmental monitoring devices. For example, the common characteristic may include: a geographic condition at the locations, a position of the environmental monitoring devices within the locations, and/or duration of ownership of the environmental monitoring devices.
Additionally, the environmental monitoring devices may communicate the information to a storage subsystem. This storage subsystem may be associated with a third party that is other than a provider of the environmental monitoring devices, the data subsystem and the client subsystem. Then, if the type of problem involves disruption of connections among the environmental monitoring devices and the storage subsystem, the system may determine that the type of problem includes: a failure mode of the environmental monitoring devices, the storage subsystem is full, the storage subsystem is suffering a device failure, the storage subsystem is offline, and/or a network-connection problem with the storage subsystem (such, as a problem with an interface circuit). Alternatively, if the type of problem involves disruption of a connection between the data subsystem and the client subsystem, the system may determine that the type of problem includes: a problem at a data center that stores the information and/or a problem with a database.
Moreover, if the type of problem involves disruption of a connection between the client subsystem and the environmental monitoring devices, the system may determine that the type of problem includes a problem with the network. Alternatively, if the type of problem involves disruption of a connection between the client subsystem and the client devices, the system may determine that the type of problem includes: a power failure, a problem with the network, and/or a problem with the client subsystem. Furthermore, if the type of problem involves disruption of a connection between a client device and the environmental monitoring devices, the system may determine that the type of problem includes: a power failure and/or a problem with the network. Additionally, if the type of problem involves disruption of a connection between the data subsystem and one of the environmental monitoring devices, the system may determine that the type of problem includes: a power failure, corrupted data, and/or a problem with the network.
Another embodiment provides a computer-program product for use in conjunction with the system. This computer-program product may include instructions for at least some of the aforementioned operations performed by the system.
Another embodiment provides a method for determining a type of problem in a system. During operation, the system monitors communication within the system and with client devices, where the system includes environmental monitoring devices, a data subsystem, and a client subsystem, and where the environmental monitoring devices monitor and communicate information about environmental conditions in external environments that include the environmental monitoring devices. Then, the system determines the type of problem in the system based on disruptions in connections that convey information during the communication within the system and with the client devices.
The preceding summary is provided as an overview of some exemplary embodiments and to provide a basic understanding of aspects of the subject matter described herein. Accordingly, the above-described features are merely examples and should not be construed as narrowing the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.
Note that like reference numerals refer to corresponding parts throughout the drawings. Moreover, multiple instances of the same part are designated by a common prefix separated from an instance number by a dash.
A system that determines types of problems by monitoring connection disruptions and/or available connections is described. During operation, the system monitors communication within the system and with client devices, where the system includes environmental monitoring devices, a data subsystem, and a client subsystem, and where the environmental monitoring devices monitor and communicate information about environmental conditions in external environments that include the environmental monitoring devices. Then, the system determines the type of problem in the system based on the disruptions in connections and/or the available connections that convey information during the communication within the system and with the client devices.
By accurately and promptly determining the type of problem, the system may facilitate repairs and/or pre-emptive action to prevent future problems. Consequently, this diagnostic technique may reduce downtime and/or may improve the performance of the system. Furthermore, the determined type of problem can be communicated to users of the system, thereby improving their understanding of the origin of the type of problem and the appropriate remedial action that is needed to correct it. This improvement in the situational awareness of the users may improve their satisfaction with the provider of the environmental monitoring devices and/or the system. Therefore, the diagnostic technique may improve customer retention and, thus, the revenue and profitability of the provider. In addition, the diagnostic technique may improve data quality or integrity. For example, the data quality of a historical record of the environmental condition(s) in one or more environments may be maintained by determining when a disruption in the monitoring of the one or more environmental conditions is due to an unintentional or an unavoidable act (such as a power failure).
Communication between electronic devices (suet as the environmental monitoring devices, the data subsystem, the client subsystem, an optional storage subsystem, and/or the client devices) may utilize wired, optical and/or wireless communication. For example, the wireless communication may involve communicating packets or frames that are transmitted and received by radios in the electronic devices in accordance with a communication protocol, such as: Bluetooth™ (from the Bluetooth Special Interest Group of Kirkland, Wash.), an institute of Electrical and Electronics Engineers (IEEE) 802.15 standard (such as ZigBee® from the ZigBee® Alliance of San Ramon, Calif.), an Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, Z-Wave, a power-line communication standard, an infra-red communication standard, a universal serial bus (USB) communication standard, a near-field-communication standard or specification (from the NFC Forum of Wakefield, Mass.), another wireless ad-hoc network standard, and/or another type of wireless interface. In some embodiments, the communication protocol may be compatible with a 2nd generation or mobile telecommunication technology, a 3rd generation of mobile telecommunications technology (such as a communication protocol that complies with the International Mobile Telecommunications-2000 specifications by the International Telecommunication Union of Geneva, Switzerland), a 4th generation of mobile telecommunications technology (such as a communication protocol that complies with the International Mobile Telecommunications Advanced specification by the International Telecommunication Union of Geneva, Switzerland), and/or another cellular-telephone communication technique. For example, the communication protocol may include Long Term Evolution or LTE. In the discussion that follows, ZigBee® is used as an illustrative example of the communication protocol used during communication among the environmental monitoring devices, while communication in a remainder of the system may involve a different communication protocol (such as a wireless communication protocol and/or an Internet communication protocol). In addition, the communication may occur via a wide variety frequency bands, including frequencies associated with the so-called ‘white space’ in frequencies bands associated with analog television broadcasting.
The communication between the electronic devices is shown in
In some embodiments, the communication or interaction among the electronic, devices in system 100 involves the exchange of packets. These packets may be included in frames in one or more wireless channels. Moreover, as described further below with references to
As can be seen in
In system 100, environmental monitoring devices 110 may monitor environmental conditions in one or more environments (such as environment 112), which are sometimes referred to as ‘external environments.’ These environments may include: a portion of a building, the building, a container or a package, a vehicle, a liquid, and/or a train car. (Note that one or more of environmental monitoring devices 110 may be immersed in a liquid, and environment 112 may be at a fixed location or time-varying locations.) For example, at least some of environmental monitoring devices 110 may include sensors that provide sensor data that reflect the environmental conditions in environment 112. In general, the sensor data may be provided without or excluding interaction (such as communication and/or electrical coupling) between environmental monitoring devices 110 and optional electronic devices 114. Thus, sensors in environmental monitoring devices 110 may indirectly infer information, about the operation and/or the performance of optional electronic devices 114 based on the monitored environmental conditions. However, in some embodiments at least some of environmental monitoring devices 110 interact directly with at least some of optional electronic devices 114 (via communication or electrical coupling), thereby facilitating direct measurement of the sensor data, as well as feedback control of these electronic devices by at least some of environmental monitoring devices 110. In some embodiments, one or more of environmental monitoring devices 110 is integrated into one or more other electronic device, such as one or more of optional electronic devices 114.
The sensor data may be analyzed locally by at, least one of environmental monitoring devices 110 and/or remotely by data server 116. Moreover, the sensor data and/or the analyzed sensor data may be communicated among environmental monitoring devices 110. In particular, environmental monitoring devices 110 may form a ZigBee® mesh network, with ZigBee® end devices communicating with a ZigBee® coordinator (such as environmental monitoring device 110-1) via one or more optional ZigBee® routers. Then, environmental monitoring device 110-1 may communicate (wirelessly and/or via data server 116, client server 118 and network 126) the sensor data and/or the analyzed sensor data to data server 116. In addition, the sensor data and/or the analyzed sensor data (as well as alerts or other information about the environmental conditions in the one or more environments) may be communicated or shared with client devices 122 (e.g., a cellular telephone or a portable electronic device, a tablet, a laptop computer, a desktop computer, etc.), optional storage subsystem 120, and/or remote servers or computers not shown in
In addition to optionally analyzing the sensor data, data server 116 may associate the sensor data and/or the analyzed sensor data with user accounts based on user-account information, and may store the sensor data and/or the analyzed sensor data. In some embodiments, data server 116 optionally supplements the sensor data using additional resources via network 126 (such as repositories of weather, earthquake, tsunami and/or allergen information on computers and servers not shown in
In general, the sensor data and/or the analyzed sensor data that is communicated and/or stored in system 100 may be protected. For example, the sensor data may be encrypted (such as by applying a symmetric or an asymmetric encryption key associated with one of environmental monitoring devices 110 and/or a secure channel in a processor in one of environmental monitoring devices 110), digitally signed and/or securely hashed (such as by applying a one-way cryptographic hash function, e.g., SHA-256) by environmental monitoring devices 110. Furthermore, data server 116 may store the sensor data and/or the analyzed sensor data in secure, certified historical records or logs of the environmental conditions in the one or more environments. However, in some embodiments, users of environmental monitoring devices 110, who, in general, control how their data is used and shared, may (via client devices 122) instruct environmental monitoring devices 110 to provide, via the mesh network, information that allows data server 116, client server 118 and/or optional storage subsystem 120 to unprotect the sensor data and/or the analyzed sensor data. Similarly, in response to requests from authorized recipients for the sensor data and/or the analyzed sensor data (such as a request from one of client devices 122), data server 116, client server 118 and/or optional storage subsystem 120 may provide access to the stored sensor data and/or the analyzed sensor data. If the sensor data and/or the analyzed sensor data are protected, the associated environmental monitoring devices 110 may provide protection information to the client device that allows the client device to unprotect the sensor data and/or the analyzed sensor data.
Environmental monitoring devices 110 may allow a variety of services to be offered to: users associated with environmental monitoring devices 110 (such as owners or renters of these environmental monitoring devices), suppliers of components or spare parts, maintenance personnel, security personnel, emergency service personnel, insurance companies, insurance brokers, realtors, leasing agents, apartment renters, hotel guests, hotels, restaurants, businesses, organizations, governments, potential buyers of physical objects, a shipping or transportation company, etc. For example, based on the analyzed sensor data feedback about the operation of one or more of optional electronic devices 114 (such as a legacy electronic device) may be provided by one or more of environmental monitoring devices 110 on displays, using speakers and, more generally, on physiological output devices that provide sensory information (such as lighting or an illumination pattern). Thus, a user may be alerted if a legacy electronic device is activated or if it is not functioning properly. More generally, the feedback may indicate the presence of an environmental condition in one of the environments, such as: presence of an allergen, fire, flooding, a power outage, a chemical contaminant, an infestation, opening of a door, an individual getting out of bed, an individual waking up, an individual crying, an individual tossing and turning in bed, an individual shivering, a change in health condition of an individual (such as an illness or a chronic disease), etc.
Additionally, one or more of environmental monitoring devices 110 may provide a maintenance notification based on the analyzed sensor data, which is associated with the operation of one of optional electronic devices 114 (such as a legacy electronic device or an electronic, device that is included in a feedback loop with one of environmental monitoring devices 110) and/or which represents an environmental condition in one of the environments. For example, the maintenance notification may include an instruction to replace a battery. In addition, the maintenance notification and any subsequent remedial action (such as a repair or service performed on one of optional electronic devices 114) may be stored in the historical record or log for one of the environments (such as the historical record maintained by data server 116).
In some embodiments, a regulator device (such as one of optional electronic devices 114, e.g., a thermostat, a humidifier, an air purifier, a ventilator device, a fan, a motor, a window opener, a door opener, an access-control device for the environment, etc.) that regulates an environmental condition is modified based on a comparison of the sensor data and a target value of the environmental condition in one of the environments. For example, one of environmental monitoring devices 110 may provide a control signal to the regulator device to modify an environmental condition (such as the temperature, humidity, airflow, etc.) based on a comparison of the sensor data and a target value performed by the environmental monitoring device.
In these ways, system 100 may be used to: implement an information network with one or more legacy electronic devices; securely aggregate and selectively disseminate sensor data about environmental conditions; provide feedback about one or more environmental conditions in one or more of the environments (such as an alert provided by one of optional electronic devices 114); allow users to remotely control alerts provided by environmental monitoring devices 110 by modifying alert settings of environmental monitoring devices 110 from client devices 122; and facilitate monitoring and maintaining of one or more environmental conditions in the one or more environments.
However, these capabilities of system 100 may be subject to disruption in the event of a problem in system 100 (such as a network problem or a power failure). Diagnosing the type of problem may allow prompt remedial action, thereby allowing the problem to be resolved and, more generally, the performance of system 100 to be improved, such as: the ‘up time’ or ‘available time,’ the network capacity, etc. Furthermore, this diagnostic capability may improve user understanding about the origin of the problem(s), which may facilitate improved customer relationships and retention. In some embodiments, the ability to diagnose the type of problem allows the data quality or integrity of the historical record of the environmental condition(s) in one or more environments to be maintained by determining when a disruption in the monitoring of the one or more environmental conditions is due to an unintentional or an unavoidable act (such as a power failure). As described further below with reference to
Although we describe the environment shown in
We now describe embodiments of the diagnostic technique.
In some embodiments of one or more of the preceding method, there may be additional or fewer operations. Furthermore, the order of the operations may be changed, and/or two or more operations may be combined into a single operation.
In an exemplary embodiment of the communication among the electronic devices in system 100 is shown in
Moreover, data server 116 may: receive the information from environmental monitoring devices 110; optionally analyze the sensor data; associate the information with user accounts based on user-account information (such as usernames, device identifiers, etc.) received from client server 118 via a network (such as network 126 in
As noted previously, system 100 may monitor the communication within system 100 and with client devices 122. Then, system 100 may detect disruptions in the connections and/or available connections that convey information during the communication and the interactions among environmental monitoring devices 110, data server 116, client server 118, optional storage subsystem 120 and/or client devices 122 to determine one or more type of problems in system 100. For example, system 100 may determine a type of problem based on whether: a connection is disrupted at a location that includes one device in system 100, a first set of connections are disrupted in a region that includes multiple devices in system 100, and/or a second set of connection (which includes the first set of connections) are disrupted throughout system 100.
In particular, the type of problem may involve disruption of connections among: environmental monitoring devices 110 and data server 116, environmental monitoring devices 110 and client server 118, environmental monitoring devices 110 and client devices 122, client devices 122 and data server 116, and/or client devices 122 and client server 118. Then, system 100 may determine that the type of problem includes a power failure (or outage) when all the connections are disrupted in a region in system 100 that includes multiple devices. Alternatively, system 100 may determine that the type of problem includes a communication failure associated with one or more of the services providers of the network when a majority of the connections are disrupted in more than one region in system 100. For example, if most, but not all of the disrupted connections are in the same region, then an Internet outage is likely because not all the users have the same Internet provider, but a power failure is unlikely because power is probably still available at some of the locations in environments having different Internet providers.
In some embodiments, system 100 determines that the type of problem includes a problem at a location in system 100 when the disrupted connections are associated with a single user. For example, the local problem may include: a power disruption at the user's location (such as a blow fuse), a network-connection problem at the user's location (such as a problem with an Internet connection), and/or a router problem at the user's location (such as a problem with a router configuration). Thus, if the type of problem involves disruption of connections among environmental monitoring devices 110 and client devices 122, system 100 may determine that the type of problem includes the router problem at the user's location in system 100. Moreover, if the type of problem involves disruption of connections among one of client devices and environmental monitoring devices 110, system 100 may determine that the type of problem includes a power disruption at the user's location in system 100 (such as a fuse) and/or a problem with the client device.
Furthermore, if the type of problem involves disruption of connections with environmental monitoring devices 110 at different locations, having a common characteristic, in system 100, system 100 may determine that the type of problem includes a failure mode of environmental monitoring devices 110. For example, the common characteristic may include: a geographic condition at the locations, a position of environmental monitoring devices 110 within the locations (such as in the bathroom), and/or duration of ownership of environmental monitoring devices 110 (which may indicate a bad manufacturing batch).
Additionally, if the type of problem involves disruption of connections among environmental monitoring devices 110 and optional storage subsystem 120, system 100 may determine that the type of problem includes: a failure mode of environmental monitoring devices 110, optional storage subsystem 120 is full, optional storage subsystem 120 is suffering a device failure or input/output failure, optional storage subsystem 120 is offline, and/or a network-connection problem with optional storage subsystem 120 (such as a problem with an interface circuit). Alternatively, if the type of problem involves disruption of a connection between data sever 116 and client server 118, system 100 may determine that the type of problem includes: a problem at a data center that stores the information and/or a problem with a database.
Moreover, if the type of problem involves disruption of a connection between client server 118 and environmental monitoring devices 110, the system may determine that the type of problem includes a problem with the network (such as the Internet is unavailable). Alternatively, if the type of problem involves disruption of a connection between client server 118 and client devices 122, system 100 may determine that the type of problem includes: a power failure, a problem with the network, and/or a problem with client server 118. Furthermore, if the type of problem involves disruption of a connection between a client device and environmental monitoring devices 110, system 100 may determine that the type of problem includes: a power failure and/or a problem with the network (such as a problem with a local network). Additionally, if the type of problem involves disruption of a connection between data server 116 and one of environmental monitoring devices 110, system 100 may determine that the type of problem includes: a power failure, and/or a problem with the network (such as the Internet is unavailable and/or a local network is down).
Thus, the determined type of problem may depend on the type of electronic device that has a disrupted connection, whether there are one or more disrupted connections in system 100, the geographic distribution of the one or more disrupted connections, etc. In general, the determined type of problem may include one or more possible types of problems. This determined subset of the types of problems may be refined when additional information is available. For example, a given electronic device in system 100 may determine the type of problem based on monitoring of its connections with other electronic devices. Then, this partial result may be refined when additional partial results (e.g., additional determined probable or possible type(s) of problem(s)) are received from one or more other electronic devices in system 100 based on monitoring of their connections in system 100.
We now describe embodiments of the environmental monitoring device, the data server, the client server, and other electronic devices in
In addition, processing subsystem 410 may include an optional secure channel 420 that performs secure processing of information, securely communicates with other components in environmental monitoring device 400, and more generally performs secure services. This secure channel may include one or more processors, a secure boot ROM, one or more security peripherals, and/or other components. The security peripherals may be hardware-configured to assist in the secure services performed by optional secure channel 420. For example, the security peripherals may include: authentication hardware implementing various authentication techniques, encryption hardware configured to perform encryption, secure-interface controllers configured to communicate over a secure interface to other components, and/or other components. In some embodiments, instructions executable by optional secure channel 420 are stored in a trust zone in memory subsystem 412 that is assigned to optional secure channel 420, and optional secure channel 420 fetches the instructions front the trust zone for execution. Optional secure channel 420 may be isolated from the rest of processing subsystem 410 except for a carefully controlled interface, thus forming a secure region for optional secure channel 420 and its components. Because the interface to optional secure channel 420 is carefully controlled, direct access to components within optional secure channel 420 (such as a processor or a secure boot ROM) may be prevented. In some embodiments, optional secure channel 420 encrypts and/or decrypts authentication information communicated with optional user-interface subsystem 416 and/or received via networking subsystem 414, and encrypts and/or decrypts information (such as sensor data) communicated with sensor subsystem 418.
Memory subsystem 412 includes one or more devices for storing data and/or instructions for processing subsystem 410, networking subsystem 414, optional user-interface subsystem 416 and/or sensor subsystem 418. For example, memory subsystem 412 can include dynamic random access memory (DRAM), static random access memory (SRAM), and/or other types of memory. In some embodiments, instructions for processing subsystem 410 in memory subsystem 412 include: one or more program modules 438 or sets of instructions (such as an environmental monitoring application, a data-logging application, a data-sharing application, a maintenance application and/or a diagnostic application), which may be executed in an operating environment (such as operating system 436) by processing subsystem 410. Note that the one or more computer programs may constitute a computer-program mechanism or a program module. Moreover, instructions in the various modules in memory subsystem 412 may be implemented in: a high-level procedural language, an object-oriented programming language, and/or in an assembly or machine language. Furthermore, the programming language may be compiled or interpreted, e.g., configurable or configured (which may be used interchangeably in this discussion), to be executed by processing subsystem 410.
In addition, memory subsystem 412 can include mechanisms for controlling access to the memory. In some embodiments, memory subsystem 412 includes a memory hierarchy that comprises one or more caches coupled to a memory in environmental monitoring device 400. In some of these embodiments, one or more of the caches is located in processing subsystem 410.
In some embodiments, memory subsystem 412 is coupled to one or more high-capacity mass-storage devices (not shown). For example, memory subsystem 412 can be coupled to a magnetic or optical drive, a solid-state drive, or another type of mass-storage device. In these embodiments, memory subsystem 412 can be used by environmental monitoring device 400 as fast-access storage for often-used data, while the mass-storage device is used to store less frequently used data.
Networking subsystem 414 includes one or more devices configured to couple to and communicate on a wired, optical and/or wireless network (i.e., to perform network operations), including an interface circuit 422 (such as a ZigBee® communication circuit) and one or more antennas 424. For example, networking subsystem 414 can include: a ZigBee® networking subsystem, a Bluetooth™ networking system (which can include Bluetooth™ Low Energy, BLE or Bluetooth™ LE), a cellular networking system (e.g., a 3G/4G network such as UMTS, LTE, etc.), a USB networking system, a networking system based cm the standards described in IEEE 802.11 (e.g., a Wi-Fi® networking system), an Ethernet networking system, an infra-red communication system, a power-line communication system and/or another communication system (such as a near-field-communication system or an ad-hoc-network networking system).
Moreover, networking subsystem 414 includes processors, controllers, radios/antennas, sockets/plugs, and/or other devices used for coupling to, communicating on, and handling data and events for each supported networking or communication system. Note that mechanisms used for coupling to, communicating on, and handling data and events on the network for each network system are sometimes collectively referred to as a ‘network interface’ for the network system. Moreover, in some embodiments a ‘network’ between the electronic devices does not yet exist. Therefore, environmental monitoring device 400 may use the mechanisms in networking subsystem 414 for performing simple wireless communication between environmental monitoring device 400 and other electronic devices, e.g., transmitting advertising frames, petitions, beacons and/or information associated with near-field communication.
Optional user-interface subsystem 416 may include one or more processors, controllers and devices for receiving information for a user of environmental monitoring device 400. For example, optional user-interface subsystem 416 may include a user-interface device 426 (and, more generally, a user-input mechanism), such as: a keypad, a touch-sensitive display, optical character recognition, image recognition, gesture recognition, biometric recognition (such as a fingerprint, a palm print, a retinal pattern, etc.), and/or voice recognition. The information may include: authentication information from the user (such as a passcode or a security code for unlocking access to environmental monitoring device 400, some of the functionality of environmental monitoring device 400 and/or to allow environmental monitoring device 400 to be moved from a current location); user-feedback about a request for access to sensor data associated with environmental monitoring device 400; and/or user preferences for operation of environmental monitoring device 400 (such as alarm settings, when, and/or how to provide notifications, etc.). This information may be securely communicated to processing subsystem 410 (such as by encrypting the information). In addition, the information communicated may also include an encryption key that is specific to environmental monitoring device 400 and/or components in environmental monitoring device 400, such as optional secure channel 420.
Furthermore, sensor subsystem 418 may include one or more sensor devices 428 (or a sensor array), which may include one or more processors and memory. For example, the one or more sensor devices 428 may include: a thermal sensor (such as a thermometer), a humidity sensor, a barometer, a camera or video recorder (such as a CCD or CMOS imaging sensor), one or more microphones (which, may be able to record acoustic information in mono or stereo), an infrared sensor (which may be active or passive), a microscope, a particle detector (such as a detector of dander, pollen, dust, exhaust, etc.), an air-quality sensor, a particle sensor, an optical particle sensor, an ionization particle sensor, a smoke detector (such as an optical smoke detector or an ionizing smoke detector), a radon detector, a carbon-monoxide detector, a chemical sensor or detector, a volatile-organic-compound sensor, a combustible gas sensor, a chemical-analysis device, a mass spectrometer, a microanalysis device, a nano-plasmonic sensor, a genetic sensor (such as a micro-array), an accelerometer, a position or a location sensor (such as a location sensor based on the Global Positioning System or GPS), a gyroscope, a motion sensor (such as a light-beam sensor), a contact sensor, a strain sensor (such as a strain gauge), a proximity sensor, a microwave/radar sensor (which may be active or passive), an ultrasound sensor, a vibration sensor, a fluid flow sensor, a photo-detector, a Geiger counter, a radio-frequency radiation detector, and/or another device that measures a physical effect or that characterizes an environmental factor or physical phenomenon (either directly or indirectly).
Moreover, the one or more sensor devices 428 may include redundancy (such as multiple instances of a type of sensor device) to address sensor failure or erroneous readings, to provide improved accuracy and/or to provide improved precision. Note that sensor data acquired by the one or more sensor devices 428 may be securely communicated to processing subsystem 410 (such as by encrypting the sensor data). In addition, the sensor data communicated may also include a digital signature that is specific to environmental monitoring device 400 and/or components in environmental monitoring device 400, such as optional secure channel 420.
Feedback subsystem 432 may include a display 434 for displaying information, such as: feedback about an environmental condition in an environment that includes environmental monitoring device 400, information about the operation of environmental monitoring device 400, and/or a maintenance notification associated with a regulator device in the environment or environmental monitoring device 400 (such as when one of one or more power sources 448 needs to be replaced). In particular, feedback subsystem 432 may include a display driver and display 434, such as: a liquid-crystal display, an e-ink display, an organic light emitting diode display, a braille output device, a laser projection display, a multi-touch touchscreen, a color-wheel display, etc. Note that display subsystem 432 may be included in optional user-interface subsystem 416.
In addition, feedback subsystem 432 may include one or more light sources 442 (and, more generally, an illumination mechanism), such as: incandescent light sources, electroluminescent light sources (e.g., light emitting diodes), etc. These light sources may provide different illumination patterns, which may be programmable. The different illumination patterns may have: different spatial patterns in the environment that includes environmental monitoring device 400, different wavelengths of light and/or different light intensities. Thus, a particular illumination pattern may illuminate at least a portion of the environment
During operation of environmental monitoring device 400, processing subsystem 410 may execute one or more program modules 438, such as an environmental monitoring application. In particular, environmental monitoring application may instruct one or more sensor devices 428 to measure or acquire sensor data that represents one or more environmental conditions in an environment that includes environmental monitoring device 400. For example, the environmental condition may include: presence of an individual (such as a resident or a potential burglar), opening of a door, an individual getting out of bed, an individual waking up, an individual crying, an individual tossing and turning in bed, an individual shivering, presence of a chemical compound (such as exhaust, carbon monoxide, radon, smoke, a non-volatile organic compound and/or a volatile organic compound), presence of an allergen (such as dander or pollen), presence of dust, presence of a fungus, a fire, presence of smoke, flooding, a water leak, a chemical leak, presence of an insect or rodent (and, more generally, an infestation), discharge of a firearm, a possible altercation or criminal act (such as domestic violence), a medical emergency, a change in health condition of an individual, availability of electrical power (such as whether there is a power failure), a lighting condition (such as whether the lights are on or off), temperature deviating from a predefined target, and/or humidity deviating from a predefined target. In some embodiments, the environmental condition is associated with the operation of a regulator device (which may or may not be a legacy electronic device). The regulator device (and, more generally, one of optional electronic devices 114 in
The sensor data may be communicated to processing subsystem 410. Then, the environmental monitoring application may optionally analyze the sensor data, e.g., calculating a discrete or a Fourier transform, determining a histogram, performing filtering or signal processing, performing data compression, calibrating one or more of sensor devices 428, managing power consumption of environmental monitoring device 400, identifying one or more of sensor devices 428 that are not working or which are outputting erroneous sensor data, applying another transformation, calculating statistics (such as moments of a distribution), performing supervised learning (such as Bayesian analysis), performing noise reduction, normalizing the sensor data, converting units, etc. (Alternatively or additionally, the sensor data or a document summarizing the sensor data may be communicated to another electronic device using networking subsystem 414 and the analysis may be performed remotely, e.g. by data server 116 in
Then, the environmental monitoring application may provide feedback to a user of environmental monitoring device 400, data server 116 (
In some embodiments, the environmental monitoring application may provide, via networking subsystem 414, the feedback to one or more of environmental monitoring devices 110 (
In turn, an electronic device (such as one of client devices 122 in
Note that the sensor data and/or the analyzed sensor data may be stored, at least temporarily, in a data structure in memory subsystem 412. This is shown in
Referring back to
Moreover, the one or more program modules 438 may include a data-sharing application. This data-sharing application may enable a designated or authorized recipient to access protected sensor data that is stored in data server 116 (
Subsequently, when environmental monitoring device 400 receives, via networking subsystem 414, a request for the sensor data from one of client devices 122 (
In some embodiments, the one or more program modules 438 include a maintenance application. This maintenance application may provide a maintenance notification related to the operation of environmental monitoring device 400, one of the other electronic devices in
In some embodiments, the one or more program modules 438 include a diagnostic application. This diagnostic application may monitor communication within system 100 (
Moreover, environmental monitoring device 400 may include power subsystem 446 with one or more power sources 448. Each of these power sources may include: a battery (such as a rechargeable or a non-rechargeable battery), a DC power supply, a transformer, and/or a switched-mode power supply. Moreover, the one or more power sources 448 may operate in a voltage-limited mode or a current-limited mode. Furthermore, the one or more power sources 448 may be mechanically and electrically coupled by an adaptor to a wall or electrical-outlet socket plug (such as a two or three-pronged electrical-outlet plug, which may be collapsible or retractable), a light socket (or light-bulb socket), electrical wiring, a generator, a USB port, a cellular-telephone charger cable, a photodiode, a photovoltaic cell, etc. This mechanical and electrical coupling may be rigid or may be remateable.
In some embodiments, power subsystem 446 includes or functions as a pass-through power supply for an electrical connector to an external electronic device (such as an appliance) that can be plugged into the electrical connector. Power to this electrical connector (and, thus, the external electronic device) may be controlled locally by processing subsystem 410 or optional user-interface subsystem 416, feedback subsystem 432 (such as via optional switch 444), and/or remotely via networking subsystem 414. Moreover, the power to the electrical connector may be turned on or off in response to sensor data provided by sensor subsystem 418 (such as when a signal is greater than or less than a user-specified or an environmental-regulation-specified threshold value, e.g., a dust concentration of 20 mg/m3).
Within environmental monitoring device 400, processing subsystem 410, memory subsystem 412, networking subsystem 414, optional user-interface subsystem 416, sensor subsystem 418, feedback subsystem 432, and/or power subsystem 446 may be coupled using one or more interconnects, such as bus 430. These interconnects may include an electrical, optical, and/or electro-optical connection that the subsystems can use to communicate commands and data among one another. Note that different embodiments can include a different number or configuration of electrical, optical, and/or electro-optical connections among the subsystems. In some embodiments, environmental monitoring device 400 can detect tampering with secure components (such as optional secure channel 420 and/or bus 430) and may destroy encryption/decryption keys or information (such as a stored sensor data or authentication information) if tampering is detected.
Environmental monitoring device 400 can be (or can be included in) any electronic device with at least one network interface. For example, environmental monitoring device 400 can be (or can be included in): a sensor (such as a smart sensor), a tablet computer, a smartphone, a cellular telephone, an appliance, a regulator device, a consumer-electronic device (such as a baby monitor), a portable computing device, test equipment, a digital signal processor, a controller, a personal digital assistant, a laser printer (or other office equipment such as a photocopier), a personal organizer, a toy, a set-top box, a computing device (such as a laptop computer, a desktop computer, a server, and/or a subnotebook/netbook), a light (such as a nightlight), an alarm, a smoke detector, a carbon-monoxide detector, a monitoring device, and/or another electronic device (such as a router or a switch).
Although specific components are used to describe environmental monitoring device 400, in alternative embodiments, different components and/or subsystems may be present in environmental monitoring device 400. For example, environmental monitoring device 400 may include one or more additional processing subsystems, memory subsystems, networking subsystems, user-interface subsystems, sensor subsystems, feedback subsystems, and/or power subsystems. Moreover, one or more of the subsystems may not be present in environmental monitoring device 400. Furthermore, in some embodiments, environmental monitoring device 400 may include one or more additional subsystems that are not shown in
Moreover, the circuits and components in environmental monitoring device 400 may be implemented using any combination of analog and/or digital circuitry, including: bipolar, PMOS and/or NMOS gates or transistors. Furthermore, signals in these embodiments may include digital signals that have approximately discrete values and/or analog signals that have continuous values. Additionally, components and circuits may be single-ended or differential, and power supplies may be unipolar or bipolar.
An integrated circuit may implement some or all of the functionality of networking subsystem 414 (such as a radio) and, more generally, some or all of the functionality of environmental monitoring device 400. Moreover, the integrated circuit may include hardware and/or software mechanisms that are used for transmitting wireless signals from environmental monitoring device 400 to, and receiving signals at environmental monitoring device 400 from other electronic devices. Aside from the mechanisms herein described, radios are generally known in the art and hence are not described in detail. In general, networking subsystem 414 and/or the integrated circuit can include any number of radios. Note that the radios in multiple-radio embodiments function in a similar way to the radios described in single-radio embodiments.
In some embodiments, networking subsystem 414 and/or the integrated circuit include a configuration mechanism (such as one or more hardware and/or software mechanisms) that configures the radio(s) to transmit and/or receive on a given communication channel (e.g., a given carrier frequency). For example, in some embodiments, the configuration mechanism can be used to switch the radio from monitoring and/or transmitting on a given communication channel to monitoring communication and/or transmitting on a different communication channel. (Note that ‘monitoring’ as used herein comprises receiving signals from other electronic devices and possibly performing one or more processing operations on the received signals, e.g., determining if the received signal comprises an advertising frame, a petition, a beacon, etc.)
While a communication protocol compatible with ZigBee® was used as an illustrative example, the described embodiments of environmental monitoring device 400 may use a variety of network or communication interfaces. Furthermore, while some of the operations in the preceding embodiments were implemented in hardware or software, in general the operations in the preceding embodiments can be implemented in a wide variety of configurations and architectures. Therefore, some or all of the operations in the preceding embodiments may be performed in hardware, in software or both. For example, at least some of the operations performed by processing subsystem 410 may be performed by sensor subsystem 418.
Furthermore, while the preceding discussion focused on the hardware, software and functionality in environmental monitoring device 400, data server 116 (
Memory subsystem 612 includes one or more devices for storing data and/or instructions for processing subsystem 610 and/or networking subsystem 614. For example, memory subsystem 612 can include dynamic random access memory (DRAM), static random access memory (SRAM, and/or other types of memory. In some embodiments, instructions for processing subsystem 610 in memory subsystem 612 include: one or more program modules 624 or sets of instructions (such as an archiving application, an analysis application, a data-sharing application, a notification application and/or a diagnostic application), which may be executed in an operating environment (such as operating system 622) by processing subsystem 610. Note that the one or more computer programs may constitute a computer-program mechanism or a program module. Moreover, instructions in the various modules in memory subsystem 612 may be implemented in: a high-level procedural language, an object-oriented programming language, and/or in an assembly or machine language. Furthermore, the programming language may be compiled or interpreted, e.g., configurable or configured (which may be used interchangeably in this discussion), to be executed by processing subsystem 610.
In addition, memory subsystem 612 can include mechanisms for controlling access to the memory. In some embodiments, memory subsystem 612 includes a memory hierarchy that comprises one or more caches coupled to a memory in electronic device 600. In some of these embodiments, one or more of the caches is located in processing subsystem 610.
In some embodiments, memory subsystem 612 is coupled to one or more high-capacity mass-storage devices (not shown). For example, memory subsystem 612 can be coupled to a magnetic or optical drive, a solid-state drive, or another type of mass-storage device. In these embodiments, memory subsystem 612 can be used by electronic device 600 as fast-access storage for often-used data, while the mass-storage device is used to store less frequently used data. Note that memory subsystem 612 may include multiple storage devices at one or more locations. Thus, data storage by memory subsystem 612 may be distributed, such as a cloud-based data-storage system.
Networking subsystem 614 includes one or more devices configured to couple to and communicate on a wired, optical and/or wireless network (i.e., to perform network operations), including an interface circuit 616 and one or more optional antennas 618. For example, networking subsystem 614 can include: a ZigBee® networking subsystem, a Bluetooth™ networking system (Which can include Bluetooth™ Low Energy, BLE or Bluetooth™ LE), a cellular networking system (e.g., a 3G/4G network such as UMTS, LTE, etc.), a USB networking system, a networking system based on the standards described in IEEE 802.11 (e.g., a Wi-Fi® networking system), an Ethernet networking system and/or another communication system.
Moreover, networking subsystem 614 includes processors, controllers, radios/antennas, sockets/plugs, and/or other devices used for coupling to, communicating on, and handling data and events for each supported networking or communication system. Note that mechanisms used for coupling to, communicating on, and handling data and events on the network for each network system are sometimes collectively referred to as a ‘network interface’ for the network system.
During operation of electronic device 600, processing subsystem 610 may execute one or more program modules 624, such as an archiving application. This archiving application may receive, via networking interface 614, data packets from one or more of environmental monitoring devices 110 (
Then, archiving application may store the sensor data and/or the analyzed sensor data in a data structure in memory subsystem 612. This is shown in
Referring back to
In an exemplary embodiment, a public-private encryption-key technique is used. In particular, a certified, secure data package may be signed by one of environmental monitoring devices 110 (
In some embodiments, the one or more program modules 624 includes a data-sharing application. This data-sharing application may receive, via networking subsystem 614, authorization information for a recipient of sensor data and/or analyzed sensor data. In response to the authorization information, the data-sharing application may provide, via networking subsystem 614, the requested sensor data and/or analyzed sensor data to the recipient. Alternatively, the data-sharing application may provide, via networking subsystem 614, a pointer to a location in memory subsystem 612 where the recipient can access the requested sensor data and/or analyzed sensor data. Note that the data-sharing application may also optionally provide the optional protection information 722 (
Additionally, in some embodiments the one or more program modules 624 includes a notification application. This notification application may receive, via networking subsystem 614, information, such as feedback associated with one or more environmental conditions in the one or more environments in
When the notification includes a maintenance notification, the archiving application may store information specifying the maintenance notification in the historical record or log for the environment. In addition, the archiving application may store any subsequent remedial action (such as a repair or service performed on an electronic device in the environment) in the historical record or log for the environment in memory subsystem 612.
In some embodiments, the one or more program modules 624 include a diagnostic application. This diagnostic application may monitor communication within system 190 (
Within electronic device 600, processing subsystem 610, memory subsystem 612, and/or networking subsystem 614 may be coupled using one or more interconnects, such as bus 620. These interconnects may include an electrical, optical, and/or electro-optical connection that the subsystems can use to communicate commands and data among one another. Note that different embodiments can include a different number or configuration of electrical, optical, and/or electro-optical connections among the subsystems.
Electronic device 600 can be (or can be included in) any electronic device with at least one network interface. For example, electronic device 600 can be (or can be included in): a sensor (such as a smart sensor), a tablet computer, a smartphone, a cellular telephone, an appliance, a regulator device, a consumer-electronic device, a portable computing device, test equipment, a digital signal processor, a controller, a personal digital assistant, a facsimile machine, a laser printer (or other office equipment such as a photocopier), a personal organizer, a toy, a set-top box, a computing device (such as a laptop computer, a desktop computer, a server, and/or a subnotebook/netbook), an alarm, a light (such as a nightlight), a monitoring device, and/or another electronic device.
Although specific components are used to describe electronic device 600, in alternative embodiments, different components and/or subsystems may be present in electronic device 600. For example, electronic device 600 may include one or more additional processing subsystems, memory subsystems, and/or networking subsystems. Additionally, one or more of the subsystems may not be present in electronic device 600. Moreover, in some embodiments, electronic device 600 may include one or more additional subsystems that are not shown in
Moreover, the circuits and components in electronic device 600 may be implemented using any combination of analog and/or digital circuitry, including: bipolar, PMOS and/or NMOS gates or transistors. Furthermore, signals in these embodiments may include digital signals that have approximately discrete values and/or analog signals that have continuous values. Additionally, components and circuits may be single-ended or differential, and power supplies may be unipolar or bipolar.
Note that an integrated circuit may implement some or all of the functionality of electronic device 600.
While some of the operations in the preceding embodiments were implemented in hardware or software, in general the operations in the preceding embodiments can be implemented in a wide variety of configurations and architectures. Therefore, some or all of the operations in the preceding embodiments may be performed in hardware, in software or both.
In the preceding description, we refer to ‘some embodiments.’ Note that ‘some embodiments’ describes a subset of all of the possible embodiments, but does not always specify the same subset of embodiments.
The foregoing description, is intended to enable any person skilled in the art to make and use the disclosure, and is provided in the context of a particular application and its requirements. Moreover, the foregoing descriptions of embodiments of the present disclosure have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present disclosure to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Additionally, the discussion of the preceding embodiments is not intended to limit the present disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
This application is the U.S. National Stage application for PCT application Ser. No. PCT/US2015/039622, titled “Fault Diagnosis Based on Connection Monitoring”, filed on Jul. 8, 2015, which claims priority to U.S. Provisional Patent Application Ser. No. 62/022,585, titled “Fault Diagnosis Based on Connection Monitoring”, filed on Jul. 9, 2014, both of which, are herein incorporated by reference in their entireties.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US15/39622 | 7/8/2015 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62022585 | Jul 2014 | US |