Patent Description:
Connected systems and devices have become an important part of our lives. As the use of the Internet is increasingly intrinsic to people's daily activities, more personal electronic devices are becoming interconnected. A variety of Internet-connected devices are now available to consumers as part of a connected-device ecosystem that utilizes the existing Internet infrastructure called the Internet of Things ("IoT"). The loT provides connectivity that makes a variety of computing devices (i.e., things) and groups of devices more useful. Various industrial systems and devices are also becoming increasingly interconnected. For example, wind turbines (e.g., arrays of wind turbines included in a wind farm) may communicate with one or more control systems configured to manage and/or improve the operation of the wind turbines.

Connected systems and devices in the loT may also allow for the collection of unprecedented amounts of data relating to the systems and/or their associated users, thereby facilitating an understanding of environments, user behaviors, and/or how well various systems and/or devices perform. The interconnection of systems and/or devices may further allow for control and/or automation of various systems and/or devices, thereby improving the interaction between interconnected systems and/or devices.

<CIT> discloses a system for diagnosing disorders of geographically distributed objects from a remote location. Data for a current condition are compared with predefined data patterns for known disorders to identify a statistically significant match indicating that the monitored object is presently experiencing the corresponding disorder. A critical disorder time is forecasted by determining when a threshold value will be reached using trend analysis of probabilities. A new disorder pattern preceding an observed disorder is added to the knowledge base for future reference. The knowledge base may be used to diagnose one object based on data collected from a similar object in a geographically distinct location. Diverse equipment may be conceptually decomposed into a small set of basic components, and equipment may be diagnosed by analyzing operation of its basic component(s). Informative data analysis procedures may be automatedly selected according to predetermined rules as a function of the monitored equipment's basic components.

<CIT> discloses a condition-based maintenance system having instrumentation for collecting data from one or more wind turbines and having a performance monitor for analyzing the data. he system may have a wind turbine anomaly detector. Information from the performance monitor and the anomaly detector may be used for indicating conditions of the one or more wind turbines. These conditions may be a basis for determining maintenance recommended for any of the wind turbines.

<CIT> discloses a distributed monitoring and evaluation system. Data is collected from a set of devices. The data is associated with the devices, mobile application programs (apps), web applications, users, or combinations of these. A norm is established using the collected data. The norm is compared with data collected from a particular device. If there is a deviation outside of a threshold deviation between the norm and the data collected from the particular device, a response is initiated.

<CIT> discloses systems and methods for multisensory change detection are generally described herein. A method may include receiving a first set of signals from a first combination of sensors and a second set of signals from a second combination of sensors in a plurality of sensors, and determining a first distribution for the first set of signals and a second distribution for the second set of signals. The method may include estimating a divergence between the first and second distributions using the first and second combinations of sensors, a count of the plurality of sensors, and distances from a plurality of signals in the second set of signals to a first plurality of nearest neighbor signals in the first set of signals and a second plurality of nearest neighbor signals in the second set of signals. The method may include determining whether the divergence exceeds a threshold.

<CIT> discloses a vehicle anomaly detection and reporting system. In the system a server device receives images of a vehicle from one or more camera devices implemented as part of a home monitoring or home control system and identify, based on the images, an anomaly associated with the vehicle. In some implementations, conditions under which the anomaly occurred may also be determined.

Systems and methods disclosed herein facilitate the collection and analysis of various data generated by one or more connected systems and/or devices. Certain embodiments disclosed herein allow for analyzing various data generated by connected systems and/or devices to detect and/or predict impending system and/or device failures and/or suboptimal performance. By detecting and/or predicting anomalous system and device performance, various actions may be taken to improve system and/or device performance and mitigate failure conditions.

The inventive body of work will be readily understood by referring to the following detailed description in conjunction with the accompanying drawings, in which:.

A detailed description of the systems and methods consistent with embodiments of the present disclosure is provided below. While several embodiments are described, it should be understood that the disclosure is not limited to any one embodiment, but instead encompasses numerous alternatives, modifications, and equivalents. In addition, while numerous specific details are set forth in the following description in order to provide a thorough understanding of the embodiments disclosed herein, some embodiments can be practiced without some or all of these details. Moreover, for the purpose of clarity, certain technical material that is known in the related art has not been described in detail in order to avoid unnecessarily obscuring the disclosure.

The embodiments of the disclosure may be understood by reference to the drawings, wherein like parts may be designated by like numerals. The components of the disclosed embodiments, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the systems and methods of the disclosure is not intended to limit the scope of the disclosure, as claimed, but is merely representative of possible embodiments of the disclosure. In addition, the steps of any method disclosed herein do not necessarily need to be executed in any specific order, or even sequentially, nor need the steps be executed only once, unless otherwise specified.

Systems and methods disclosed herein facilitate collection and analysis of various operational data generated by one or more connected systems and devices. Operational data, as used herein, may comprise any data associated with the one or more connected systems and/or devices, and may relate to the maintenance, control, management, and/or operation of the systems and/or devices. It will be appreciated that a wide variety of types of operational data may be generated and/or otherwise associated with connected systems and/or devices, and that any suitable type of operational data associated with connected systems and/or devices may be used in connection with the various disclosed embodiments.

Analyzing and drawing insights from operational data generated by connected systems and/or devices is becoming increasing valuable as a larger number of connected systems and/or devices are being deployed. Such insights may be used to improve the operation and/or management of such systems and/or devices. For example, certain embodiments disclosed herein allow for analyzing data generated by connected systems and/or device devices to detect and/or predict impending system and device failures and/or suboptimal performance. By detecting and/or predicting anomalous system and device performance, various actions may be taken to improve system and/or device performance and mitigate failure conditions.

The disclosed embodiments may be used in connection with a variety of connected devices, systems, or "things". As used herein, the terms device, connected device, system, and/or thing may, in certain instances, be used interchangeably. Embodiments of the disclosed systems and methods maybe implemented in connection with a diverse ecosystem of connected devices associated with a user, their home, their vehicle, their workplace, and/or the like. For example, embodiments of the disclosed systems and methods may be used in connection with connected devices including security systems, vehicle infotainment systems, streaming media devices, gaming devices, entertainment systems, networked locks, thermostats, heating (e.g., furnaces), ventilating, and air conditioning ("HVAC") systems, irrigation systems, water controls, pumps, heaters, home utility meters, home network gateways, activity sensors, alarms (e.g., fire and/or CO<NUM> alarms), connected home appliances (e.g., refrigerators, washing machines, televisions, etc.), connected vehicles, mobile communication devices, computing devices, and/or any other connected device, as well as associated data stores. Embodiments may further be extended for use in connection with other connected devices including medical and/or personal devices such as activity and/or fitness monitoring devices, pacemakers, insulin pumps, blood sugar monitors, and/or the like.

Certain embodiments may be used in connection with systems and devices used in industrial applications. For example, consistent with embodiments disclosed herein, connected systems may be included in and/or otherwise associated with wind turbine systems, solar panels, industrial manufacturing systems, tools, and/or devices, and/or the like.

Various examples of the embodiments disclosed herein are described in connection with connected thermostats, furnaces, and wind turbine systems. It will be appreciated, however, that a variety of other connected systems and devices may be used in connection with the disclosed systems and methods, and that any suitable type of connected system and/or device may be used in connection with the various disclosed embodiments.

<FIG> illustrates generation, communication, and management of operational data 100a-100f consistent with embodiments of the present disclosure. As illustrated, one or more connected devices <NUM>-<NUM> may be communicatively coupled with a trusted analytics service <NUM>. The one or more connected devices <NUM>-<NUM> may be configured to communicate operational data 100a-100c generated by and/or otherwise associated with the connected devices <NUM>-<NUM>. As illustrated, the connected devices <NUM>-<NUM> may comprise connected thermostats <NUM>, <NUM> and a connected furnace <NUM>.

Operational data 100a-100f may include any data generated by and/or otherwise associated with the connected devices <NUM>-<NUM>. For example, the operational data 100a-100f may comprise, without limitation, various signals including heating, cooling, and/or fan duty cycles as well as user interaction events and/or controls such as control commands, remotely-issued control commands (e.g., commands issued from a smartphone <NUM>), set points, internal temperatures, external temperatures, humidity, and/or the like. Operational data 100a-100f may be used to, among other things, analyze, determine, and/or predict causes of device failures and/or anomalous device behaviors.

In certain embodiments, operational data 100a-100f may include information obtained from one or more sensors associated with one or more connected devices <NUM>-<NUM> that may include, without limitation, temperature sensors, current sensors, voltage sensors, humidity sensors, fluid level sensors, atmospheric sensors, environmental sensors, and/or the like.

In some embodiments, certain operational data 100a-100c may be provided to the trusted analytics service <NUM> directly from associated connected devices <NUM>-<NUM>. In further embodiments, certain operational data 100e may be transmitted to one or more intermediate systems before transmission to the trusted analytics service <NUM>. For example, as illustrated, a connected device such as thermostat <NUM> may communicate with an associated device system <NUM> configured to facilitate certain device monitoring and control operations. The thermostat <NUM> may generate and transmit operational data 100e to the device service <NUM>, which may in turn transmit operational data 100f to the trusted analytics service <NUM> that may comprise the operational data 100e received from the thermostat <NUM> as well as other data generated by the data service <NUM>.

In further embodiments, the operational data 100a-100f may be generated and/or provided by one or more one or more data service providers in communication with the trusted analytics service <NUM>. For example, operational data 100a-100f may be provided by one or more utility providers associated with the connected devices <NUM>-<NUM> (e.g., a gas and/or electric utility and/or the like). In certain embodiments, the data service provider may be associated with a third-party data service (e.g., a weather data service, a planetary information data service, etc.).

In some embodiments, the one or more data service providers may provide operational data that may not necessarily be directly associated with the connected devices <NUM>-<NUM>, but may be relevant for use in connection with decisions and/or analyses relating to their operation. For example, in some embodiments, the data service providers ay provide historic, current, and/or forecasted environmental and/or weather data (e.g., local and/or global weather data), maintenance log data, and/or the like.

As illustrated, the trusted analytics service <NUM> may be further communicatively coupled with the device service <NUM>, one or more cloud services <NUM>, and/or one or more additional service providers such as, for example, a business referral service <NUM>. Among other things, the device service <NUM>, one or more cloud services <NUM>, and/or one or more additional service providers may provide the trusted analytics service <NUM> with information for use in connection with its various operations and analytic methods, and may receive information from the trusted analytics service <NUM> for use in connection with their various operations. Various interactions between the connected devices <NUM>-<NUM>, the trusted analytics service <NUM>, the device service <NUM>, the cloud services <NUM>, and or one or more additional services providers including the business referral service <NUM> may be managed according to one or more articulated policies <NUM> enforced by the trusted analytics service <NUM>, as discussed in more detail below.

The connected devices <NUM>-<NUM>, the trusted analytics service <NUM>, the user device <NUM>, the device service <NUM>, the cloud services <NUM>, and or one or more additional services providers including the business referral service <NUM> may comprise a variety of computing devices and/or systems, including any computing system or systems suitable to implement the systems and methods disclosed herein. For example, the connected devices <NUM>-<NUM>, the trusted analytics service <NUM>, the device service <NUM>, the cloud services <NUM>, and or one or more additional services providers including the business referral service <NUM> may comprise a variety of computing devices and systems, including laptop computer systems, desktop computer systems, server computer systems, distributed computer systems, smartphones, tablets, and/or the like. The connected devices <NUM>-<NUM> may further comprise any of the types of device disclosed herein. It will be appreciated that any suitable configuration of computing systems and storage media could be used in connection with the systems including, without limitation, a single server or cluster of servers, or a distributed collection of heterogeneous computer systems connected by a variety of networks (e.g., such as the Internet public and/or private networks, and/or the like).

In certain embodiments, the various devices and/or systems <NUM>-<NUM> may comprise at least one processor system configured to execute instructions stored on an associated non-transitory computer-readable storage medium. As discussed in more detail below, the various systems may further comprise a secure processing unit ("SPU") configured to perform sensitive operations such as trusted credential and/or key management, secure policy management and/or enforcement, and/or other aspects of the systems and methods disclosed herein. The devices and/or systems <NUM>-<NUM> may further comprise software and/or hardware configured to enable electronic communication of information between the devices and/or systems <NUM>-<NUM> via one or more networks (e.g., network) using any suitable communication technology and/or standard.

In certain embodiments, the various devices and/or systems <NUM>-<NUM> may be communicatively coupled via one or more network connections (e.g., network connections of a network). The network connection(s) may comprise a variety of network communication devices and/or channels and may utilize any suitable communication protocols and/or standards facilitating communication between the various systems. The network connections may comprise the Internet, a local area network, a virtual private network, and/or any other communication network utilizing one or more electronic communication technologies and/or standards (e.g., Ethernet or the like). In some embodiments, the network may comprise a wireless carrier system, such as a personal communications system ("PCS"), and/or any other suitable communication system incorporating any suitable communication standards and/or protocols. In further embodiments, the network connections may comprise an analog mobile communications network and/or a digital mobile communications network utilizing, for example, code division multiple access ("CDMA"), Global System for Mobile Communications or Groupe Speciale Mobile ("GSM"), frequency division multiple access ("FDMA"), and/or time divisional multiple access ("TDMA") standards. In certain embodiments, the network connections may incorporate one or more satellite communication links. In yet further embodiments, the network connections utilize IEEE's <NUM> standards, Bluetooth®, ultra-wide band ("UWB"), Zigbee®, and/or any other suitable standard or standards.

In the various illustrated embodiments, a secure data connection may be established between the connected devices <NUM>-<NUM> and the trusted analytics service <NUM>. Various operational data 100a-100c may be communicated from the connected devices <NUM>-<NUM> to the trusted analytics service <NUM>. For example, a thermostat <NUM> may communicate user input information (e.g., control inputs issued to the thermostat <NUM> directly and/or via a mobile device associated with a user <NUM>), heating and/or cooling temperature set points, internal and/or external temperatures, humidity data, heating and/or cooling duty cycles and/or status, and/or the like to the trusted analytics service <NUM>.

In some embodiments, operational data 100a-100c may be collected by the connected devices <NUM>-<NUM> using one or more trusted components executing on the connected devices <NUM>-<NUM>. In some embodiments, the trusted components may be installed on the connected devices <NUM>-<NUM> at a time of manufacture. In further embodiments, the trusted components may be installed on the connected devices <NUM>-<NUM> at the direction of an associated user. Among other things, the trusted components may be configured to establish a secure connection between the connected devices <NUM>-<NUM> and the trusted analytics service <NUM> for communication of the operational data 100a-100c.

Operational data 100a-100f received by the trusted analytics service <NUM> may be included in a database of operational data <NUM> managed by the trusted analytics service <NUM>. Using the managed operational data <NUM>, various derived data may be generated in connection with analytical methods implemented by an analytics engine <NUM> executing on the trusted analytics service <NUM>. For example, duty cycle patterns may be computed based on the operational data <NUM> indicative of heating and/or cooling efficiency of an HVAC system such as thermostat <NUM> and a coupled furnace system <NUM> configured to receive various control instructions <NUM> from the thermostat <NUM>. In another example, machine learning techniques may be applied in connection with managed operational data <NUM> for a number of devices in a population of devices (e.g., a plurality of thermostats <NUM>, furnace systems <NUM>, and/or other HVAC systems) to identify anomalous behavior of particular devices in the population.

Anomalous systems can be identified by finding points that, using various geometric and/or look-alike analysis methods, appear different by at least a threshold amount from the systems that function normally. Certain available sensor data may be reviewed (e.g., reviewed by data analysis experts) and labeled as normal for portions of the data exhibiting normal device behavior. Other data exhibiting known anomalies may be similarly labeled and/or labeled with associated status codes (e.g., codes used in maintenance, repair, and/or alarm logs).

In some embodiments, an anonymous data determination algorithm may define a "perimeter" around various examples of data points associated with known normal and/or anomalous behaviors. The boundaries defined by this algorithm may be used to determine whether a data point is associated with anomalous or normal/non-anomalous behavior. Various embodiments disclosed herein may further provide for identification of a type of anomaly (e.g., repair, critical failure, false alarm, etc.) and allow for forecasting of anomalistic behavior (e.g., past and/or real-time anomalies).

In some embodiments, techniques such as t-distributed stochastic neighbor embedding ("t-SNE") may be used to identify anomalous device behavior, which can group devices whose performance as measured by associated data points (e.g., derived data points) are similar, or which can establish a geometry whereby similarly behaving systems are grouped in relatively close proximity. For example, thermostat <NUM> and/or furnace systems <NUM> having performance measured by associated operational data 100a, 110b may be grouped with other similarly behaving systems, thereby facilitating identification of anomalous device behavior. In further embodiments, other techniques may be used to model and/or characterize normal device behavior and identify of anomalous device behavior including, without limitation, one or more of principal component analysis ("PCA"), singular value decomposition ("SVD"), matrix factorization for latent feature detection, auto encoding, Like2Vec-style embedding, and/or the like.

In certain embodiments, the analysis of managed data <NUM> may begin by identifying anomalous data points and/or systems. For example, the managed data <NUM> may be analyzed to determine which data points deviate from normal parameters. In some embodiments, this analysis may use algorithmic techniques, such as statistical outlier detection modules, support vector machine ("SVM") models, bootstrap models, various other data analysis techniques disclosed herein, and/or any combination of the same.

<FIG> illustrates an example of anomaly detection modeling consistent with embodiments of the present disclosure. As shown, various embodiments disclosed herein may be used to generate a decision function <NUM> used to identify anomalous or outlier data points <NUM> and, by extension, associated devices exhibiting anomalous behaviors. As illustrated, anomalous systems can be identified by finding associated points <NUM> that, using various geometric, look-alike, and/or other disclosed analysis methods, appear different by at least a threshold amount from data points <NUM> associated with other systems that appear to be behaving normally. Based on the relative location of data points <NUM>, <NUM> and the generated decision function <NUM>, it may be determined whether the data points <NUM>, <NUM> are associated with normal and/or anomalous device behavior.

After identifying anomalous data points and/or devices, the identified data points and/or systems may be classified. In some embodiments, for each anomalous device that is identified, data associated with other anomalous devices having similar characteristics and/or characteristics within a threshold level of similarity, and having known anomalies, causes for suboptimal performances, known faults, and/or the like may be identified. Based on their similarity, the known anomalies, causes for suboptimal performances, and/or known faults may be associated with the identified anomalous data points and/or device. For example, in various illustrated examples, for each anomalous device that is identified, the data of the entire population of devices can be searched to identify devices with similar characteristics having known failure and suboptimal performance modes and/or which have failed after exhibiting such characteristics.

In some embodiments, anomaly classification based devices and/or data associated with known anomaly types may utilize, for example, one or more of multi-class classification machine learning algorithms (e.g., using a model selected based on a volume of data and an out-of-sample performance) such as k-nearest neighbors, multi-class logistic regression, neural networks, random forest, and/or the like. In certain embodiments, if a plurality of failures, anomalies, and/or suboptimal performance modes are identified, voting or other analytic techniques may be used to identify more likely failures, anomalies, and/or suboptimal performance modes. For example, in connection with identifying a failure, anomaly, and/or suboptimal performance mode, diachronic time-series modeling may be used, where the presence of anomaly types at time T-n, where n is a number of time steps earlier than T, can be used as features in predicting the probability of failure or performance loss for time T.

Referring back to <FIG>, various data and/or results generated by the trusted analytics service <NUM> may be communicated to a variety of other devices, systems, and/or services. In some embodiments, indications of identified failures, anomalies, and/or suboptimal performance modes may be communicated to one or more of the associated connected devices <NUM>-<NUM> and/or an associated user device <NUM> which may alert a user to the identified failures, anomalies, and/or suboptimal performance modes via an associated application <NUM> executing thereon.

In further embodiments, data and/or results generated by the trusted analytics service <NUM> may be communicated to other devices, systems, and/or services based on an associated type of identified failure, anomaly, and/or suboptimal performance mode. For example, if a likely dirty furnace filter is identified based on operational data 100b received from the connected furnace <NUM>, an indication of this suboptimal performance mode may be transmitted to an associated commerce service which may order and send a replacement filter to a user.

In another example, a part may be identified as failing in a connected furnace <NUM> by the trusted analytics service <NUM>. In response, the trusted analytics service <NUM> may provide a business referral service <NUM> with lead information <NUM>. In response, the business referral service <NUM> may schedule a repair technician and/or transmit a notification <NUM> of repair technician availability to an associated user device <NUM>.

In various other embodiments, various data <NUM> generated by the trusted analytics service <NUM> may be provided to a cloud service <NUM> for use in connection with a variety of other methods and services. For example, in some embodiments, based on data <NUM> received from the trusted analytics service <NUM>, a cloud service <NUM> may, among other things, provide recommendations to device manufacturers relating to possible product improvements and/or the like. It will be appreciated that a wide variety of systems and services leveraging the analytics and inference capabilities of the trusted analytics service <NUM> may be used in connection with the disclosed embodiments.

Various interactions between the systems, services, and/or devices (e.g., connected devices <NUM>-<NUM>, the trusted analytics service <NUM>, the user device <NUM>, the device service <NUM>, the cloud services <NUM>, and or one or more additional services providers including the business referral service <NUM>) may be managed according to one or more articulated policies <NUM> enforced by the trusted analytics service <NUM>. For example, as illustrated, a policy enforcement module <NUM> executing on the trusted analytics service <NUM> may, among other things, control how data <NUM> managed by the trusted analytics service <NUM> may be communicated and/or used based on applicable associated policies <NUM>.

A variety of policies <NUM> may enforced by the policy enforcement module <NUM> of the trusted analytics service <NUM> in connection with managing operational data <NUM>. In some embodiments, a policy <NUM> may articulate certain restrictions, conditions, requirements, and/or other actions associated with access to and/or use of operational data <NUM> managed by the trusted analytics service <NUM>. For example, in some embodiments, operational data <NUM> managed by the trusted analytics service <NUM> may or may not be communicated to one or more service systems <NUM>, <NUM> based on an identity of a requesting service and/or system and/or the type of associated operational data <NUM>.

In certain embodiments, policies <NUM> may specify one or more operations and/or transformations that should be performed on operational data <NUM> prior to providing the data to a requesting service <NUM>, <NUM>. In further embodiments, a policy <NUM> may articulate that certain information be removed from operational data <NUM> prior to providing the data to a requesting service <NUM>, <NUM>.

Policies <NUM> enforced by the policy enforcement module <NUM> may be generated by a variety of interested parties. In some embodiments, policies <NUM> may be associated with an entity and/or a user associated with devices <NUM>-<NUM> generating operational data <NUM> managed by the trusted analytics service <NUM> and/or having ownership, interests in, and/or control of such data <NUM>. For example, a user associated with a connected thermostat <NUM> may specify that operational data 100a generated by the connected thermostat <NUM> only be shared with certain specified entities and/or used in a particular manner. Policies <NUM> may enable owners of data to specify who can access their assets, to set limitations on access to their assets (e.g., time bounded access), and/or the consequences of accessing their assets (e.g., metered access), and/or the like.

In certain embodiments, policies <NUM> may be transmitted to the trusted service <NUM> concurrent with associated operational data 100a-100f. For example, a connected furnace <NUM> may transmit applicable policies <NUM> when operational data 100b is transmitted to the trusted analytics service <NUM>. In further embodiments, policies <NUM> may be transmitted to the trusted analytics service <NUM> separate from associated operational data 100a-100f at any suitable time.

In some embodiments, policies <NUM> may be role-based (e.g., with users and/or services having certain rights and/or permissions based on one or more defined roles), user-based (e.g., with users and/or services having certain rights and/or permissions based on their individual identities), organization-based (e.g., with users and/or services having certain rights and/or permissions based on membership in one or more organizations), based on a type of associated operational data (e.g., with access being restricted to certain managed operational data <NUM> deemed proprietary), and/or the like. Policies <NUM> may articulate, without limitation, policies preventing and/or otherwise restricting access to certain managed operational data <NUM>, policies articulating that certain conditions be met prior to allowing access to certain managed operational data <NUM> (e.g., purchasing rights associated with the data, registration with a rights holder, demonstrating authorization to access the data, etc.), policies articulating that certain actions be performed in connection with accessing the managed operational data <NUM> (e.g., notifying a rights holder, etc.), and/or the like. It will be appreciated that a variety of other types of policies may be associated with allowing access to and/or use of managed operational data <NUM>, and that any type of policy articulating any restrictions, conditions, requirements, and/or actions to be enforced in connection with access to and/or use of managed operational data <NUM> may be utilized in connection with the disclosed embodiments.

In some embodiments, a personal agent executing on one or more connected devices <NUM>-<NUM> and/or associated systems, such as that described in <CIT>, may be used to collect, store, and/or otherwise managed operational data 100a-100f. In certain embodiments, privacy considerations may be maintained because only the personal agent may have direct access to certain confidential information generated by the connected devices <NUM>. Users may have control over what information is exposed from the personal agent to other entities such as the trusted analytics service <NUM>.

A personal agent may be implemented in a variety of ways to collect, store, and/or manage operational data. In some embodiments, a personal agent may be implemented as an agent that runs locally on a connected device <NUM>-<NUM> such as a background service configured to monitor events and collect information from a variety of sources. In further embodiments, a personal agent may be implemented as a network service that interacts with services and collects various information of interest.

In some embodiments, information collection sharing through a personal agent may be controlled to protect a user's privacy. User privacy may be protected in a variety of ways. A personal agent may support interfaces where a system and a user can specify a policy (e.g., a policy <NUM> enforced by the trusted analytics service <NUM>) defining what operational data can be captured and/or for what purposes the information can be used. For example, in some embodiments, a personal agent may provide users with the capability to opt-out of operational data collection and/or the drawing of certain inferences from collected operational data <NUM>.

Data may be stored and/or managed by a personal agent in a secure manner. For example, a personal agent may utilize encrypted databases to store collected operational data 100a-100f. Moreover, personal agent services running in the cloud may use enterprise service level security to protect operational data 100a-100f. By interfacing with a personal agent associated with their connected devices <NUM>-<NUM> (e.g., using a smartphone <NUM> and an associated mobile application <NUM> or the like), a user may view, edit, and/or remove their data from storage and/or collection, agree to share their data and provide conditions associated with such sharing, view what data they are sharing, identify with whom they are sharing it, and see what value they are provided in exchange, and/or the like.

It will be appreciated that a number of variations can be made to the architecture and relationships presented in connection with <FIG> within the scope of the inventive body of work. For example, without limitation, in some embodiments, some or all of the functions performed by the connected devices <NUM>-<NUM>, the trusted analytics service <NUM>, the device service <NUM>, the cloud services <NUM>, and or one or more additional services providers including the business referral service <NUM> may be performed by a single system and/or any suitable combination of systems. Furthermore, in some embodiments, operational data 100a-100f may not necessarily be provided by the illustrated connected devices <NUM>-<NUM> but some other type of monitored system or systems (e.g., wind turbine systems and/or the like). Thus it will be appreciated that <FIG> is provided for purposes of illustration and explanation, and not limitation.

<FIG> illustrates an example of an architecture for analyzing and managing operational data consistent with embodiments disclosed herein. In certain embodiments, various aspects of the illustrated architecture may be associated with one or more connected devices such as connected thermostat <NUM>, <NUM>, a data service <NUM>, a trusted analytics service <NUM>, and/or a user device such as smartphone <NUM>.

In some embodiments, operational data may be collected by the connected devices <NUM>, <NUM> using one or more trusted components <NUM>, <NUM> executing on the connected devices <NUM>, <NUM>. The trusted components <NUM>, <NUM> may, among other things, be configured to securely collected associated operational data and securely communicate collected data between the connected devices <NUM>, <NUM> and the trusted analytics service <NUM> via an internet connection <NUM>.

Received operational data may be stored in one or more data lakes <NUM> associated with the trusted analytics service. In some embodiments, the data lakes <NUM> may store raw operational data in its native format and/or in a flat architecture until it is processed and/or otherwise analyzed by the trusted analytics service <NUM>. In further embodiments, a data service provider <NUM> may provide the trusted analytics service <NUM> with various data (e.g., weather data and/or the like) that may be stored in the data lakes <NUM> with the managed operational data and/or in a separate store <NUM> associated with data received from affiliated data services.

An analytics engine <NUM> may be configured to perform various analytics on and/or draw inferences from data included in the data lakes <NUM> and/or associated affiliated data store <NUM>. In certain embodiments, interactions with and/or operations performed on the data may be in accordance with one or more articulated policies. In certain embodiments, such policies may be articulated and/or managed by a personal agent <NUM> executing on a device <NUM> of a user associated with the connected devices <NUM>, <NUM>.

Various applications <NUM>-<NUM> may interact with the analytics engine <NUM> via an analytics API <NUM>. For example, the applications <NUM>-<NUM> may issue one or more requests to the analytics engine <NUM> and receive responses to such requests via the analytics API <NUM>. In some embodiments, the applications <NUM>-<NUM> may be associated with and/or otherwise executed by the trusted analytics service <NUM>. In further embodiments, the applications <NUM>-<NUM> may be executed by and/or otherwise associated with one or more separate systems and/or services.

A wide variety of applications <NUM>-<NUM> may be used in connection with the disclosed embodiments. For example, an application <NUM> may be configured to provide consumer alerts (e.g., via notifications issued via a mobile application <NUM> executing on a user's smartphone <NUM> or the like) relating to failures, faults, and/or suboptimal performance of a user's associated connected devices <NUM>, <NUM> identified based on associated operational data. An application <NUM> may provide a business referral service configured to schedule a repair technician and/or transmit a notification of repair technician availability to an associated user device <NUM>. A variety of other applications <NUM> may be utilized in connection with the disclosed embodiments to provide a variety of other services that leverage analytical results provided by the trusted analytics service <NUM>.

Various embodiments disclosed herein may be further used in connection with one or more connected wind turbine systems to manage and/or improve the operation of the wind turbines systems. Among other things, embodiments of the disclosed systems and methods may help wind turbine operators to maximize production and minimize costs associated with wind farm operations and/or may optimize the use of original equipment manufacturer warranties. Some embodiments herein allow for centralized storage and/or management of wind farm data, correlation of operational data obtained from multiple sources, and/or provide for a consolidated view of the health of a wind farm. Access to industry wide data sets may enable the development of accurate anomaly detection algorithms and improved insights into wind turbine system component performance and durability.

<FIG> illustrates an exemplary ecosystem for analyzing and levering operational data associated with one or more wind turbine systems <NUM>, <NUM> consistent with embodiments disclosed herein. As illustrated, the ecosystem may include one or more wind turbine system <NUM>, <NUM>, a utility service <NUM>, one or more data service providers such as a weather data service <NUM>, a trusted analytics service <NUM>, and/or one or more systems and/or devices associated with a user such as a maintenance technician <NUM> that may be communicatively coupled and configured to exchange various information therebetween.

In some embodiments, certain interactions between the one or more wind turbine systems <NUM>, <NUM>, the utility service <NUM>, the weather data service <NUM>, the trusted analytics service <NUM>, and/or one or more systems and/or devices associated with a user may be managed according to one more articulated policies. For example, the exchange of various information between the systems and/or services <NUM>, <NUM>-<NUM> may be managed according to one or more articulated policies.

In some embodiments, policies governing various interactions between the systems and/or services <NUM>, <NUM>-<NUM> may be enforced may one or more trusted components, personal agents, and/or policy enforcement modules executing on the one or more systems and/or services <NUM>, <NUM>-<NUM>. In further embodiments, policies may be centrally enforced by a policy enforcement module executing on the trusted analytics service <NUM>.

Consistent with applicable enforced polices, data may be exchanged between the systems and/or services <NUM>, <NUM>-<NUM> in accordance with varied access permissions <NUM>-<NUM> associated with the exchanged data. For example, the wind turbine system <NUM> may provide production forecast data to the utility service <NUM>, the utility service <NUM> may provide power demand forecast data to the wind turbine system <NUM>, the wind turbines <NUM>, <NUM> may exchange operations and maintenance ("O & M") data, and the trusted analytics service <NUM> may provide a device associated with a repair technician <NUM> with predictive maintenance data without limiting access to the associated exchanged data - that is, in accordance with a policy allowing full access <NUM> to the underlying data. Similarly, the weather data service <NUM> may provide forecast data to the wind turbine systems <NUM> in accordance with a policy allowing metered access <NUM> to the data. Finally, the weather data service <NUM> may provide the trusted analytics service <NUM> with wind forecast data, and the wind turbine system <NUM> may provide the trusted analytics service <NUM> with O & M data in accordance with a policy allowing limited access <NUM> to such data. It will be appreciated that the various interactions illustrated in <FIG> are examples of how policy may be implemented and/or enforced between various systems and/or services <NUM>, <NUM>-<NUM>, and that policies may be enforced consistent with various disclosed embodiments in other suitable system and/or service ecosystems exchanging any suitable type of data.

<FIG> illustrates exemplary dataflow <NUM> between various systems and services <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> consistent with embodiments disclosed herein. As illustrated, various operational data and/or other data (e.g., weather data, power demand forecast data, etc.) may be generated and/or otherwise provided by a utility service <NUM>, a weather data service <NUM>, and/or one or more wind turbines of a wind farm <NUM>. The generated operational and/or other data may be stored in one or more data stores <NUM>, <NUM> including, for example, a model training data store <NUM> storing data used in connection with training various predictive models consistent with the disclosed embodiments (e.g., fault and/or anomaly detection models and or the like). In further embodiments, the operational and/or other data may be stored in a production data store <NUM> for distribution to one or more other interested parties <NUM>.

In some embodiments, access to data stored in data stores <NUM>, <NUM> may governed in accordance with one or more policies enforcing conditional access <NUM> to the stored data. For example, the trusted analytics service <NUM> may conditionally access data stored in the model training data store <NUM> in accordance with applicable policy. Similarly, an interested party may conditionally access data stored in the production data store <NUM> in accordance with applicable policy. In some embodiments, use of the access data by the party <NUM> (e.g., processing by various data processing modules/systems <NUM> and/or storage of processed and/or otherwise derived data in a data store <NUM>) may be further governed in accordance with applicable policy.

Embodiments disclosed herein may provide for governed analytics services based on industry wide data sets. In some embodiments, data sets may be anonymized and normalized in a governed manner. As discussed in more detail below, applications and/or widgets may provide users with insights into the health of a wind farm and/or its constituent wind turbine systems. Various aspects of the disclosed services may be subscription-based (e.g., based on volume and/or density of analyzed data, based on data access rates, volume, and/or density of accessed data), commerce-based through the sale of applications, and/or based on revenue sharing models with associated data publishers/generators.

<FIG> illustrate exemplary interactive interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> of a trusted analytics service consistent with embodiments disclosed herein. In some embodiments, the exemplary interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> may comprise interfaces of an application executing on a user system interacting with a trusted analytics service consistent with embodiments disclosed herein. In certain embodiments, the interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> may comprise HTML5-based interfaces displayed, for example, in a web-browser application. In further embodiments, the interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> may be mobile device interfaces, computer system application interfaces (e.g., desktop application interfaces), and/or any other type of interface. Certain embodiments illustrated in <FIG> show interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> of a trusted analytics service for interacting with operational data and/or other data associated with a wind farm system comprising a plurality of wind turbine systems, although it will be appreciated that aspects of the illustrated interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> may be used in a variety of other contexts.

Various aspects of the interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> illustrated in <FIG> may allow users to interact with various operational and/or other data, analyze the data, draw various insights from the data, and/or engage in various actions based on the data consistent with disclosed embodiments. For example, aspects of the interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> may allow user to analyze operational data generated by one or more connected devices and/or systems and detect and/or predict impending systems and/or device performance. In further embodiments, aspects of the interfaces <NUM>, <NUM>, <NUM>, <NUM>-<NUM>, <NUM>, <NUM> may allow a user to engage in various actions to improve system and device performance and mitigate failure conditions.

As illustrated in <FIG>, interface <NUM> may provide a dashboard allowing a user to interact with and/or analyze data from a plurality of wind turbine systems of a wind farm. In some embodiments, operational data associated with the wind turbine systems may be displayed and viewed based on a specified time period. For example, a user may scroll through different dates or use a calendar view to view operational data associated with time periods of interest.

The interface <NUM> may show a variety of analytics relating to the wind turbine systems for the specified period. For example, a total power output for the systems, a total anomaly and/or fault count for the systems, and a measure of the wind farm's health may be displayed. The interface <NUM> may further include an anomaly heat map providing a visual indication of wind turbine systems with the most detected anomalies within the specified time period and/or a list showing a number of wind turbine systems exhibiting anomalies within the specified time period.

In some embodiments, users can select a turbine system from the heat map or the list to access a more detailed interface <NUM> showing available information relating to the turbine system. For example, a monthly anomalies chart may provide details of various anomalies cross-referenced with other sensor and analytic data. In some embodiments, selecting a shaded area on monthly anomalies chart may provide specific turbine details during that time period including, for example, maintenance logs and various sensor data. Using interface <NUM>, users may further communicate and share information, onsite findings, and documents with team members.

Using the interface <NUM> illustrated in <FIG>, users may quickly view recent and historic alerts for the wind farm and/or one or more of its constituent wind turbine systems. In some embodiments, selecting an alert in interface <NUM> may take users to a more detailed view of information relating to an associated turbine, allowing a user to view more specific details and/or logs relating to a particular alert and/or anomaly.

<FIG> illustrates a variety of exemplary interfaces including an interface <NUM> for exchanging messages between various parties associated with a wind farm, an interface <NUM> for generating reports relating to a wind farm, and an interface <NUM> for interacting with maintenance logs associated with a wind farm. Using interface <NUM>, various parties associated with a wind farm can communicate and share information, onside findings, documents, and/or other information with various team members and/or other parties. In some embodiments, the interface <NUM> may provide notifications (e.g., real-time notifications) alerting users of new content and/or alerts associated with one or more wind turbine systems. Alerts may be provided via, for example, in app notifications, e-mail alerts, mobile push notifications (e.g., via SMS text message), and/or the like.

Interface <NUM> may allow a user to generate a variety of reports relating to a wind farm and/or its consistent wind turbine systems. For example, users may generate custom reports based on data provided by one or more sensors associated with one or more specified wind turbine systems and/or group(s) of wind turbine systems. In some embodiments, generated reports and/or associated information and/or data may be exported by a user using interface <NUM>.

Maintenance information relating to one or more wind turbine systems may be provided to a user via interface <NUM>. Using interface <NUM>, a user may access various maintenance logs associated with a specified wind turbine system and/or group(s) of wind turbine systems over a specific date and/or range of dates. Users may be further able to export the maintenance data for external use as desired.

<FIG> illustrates a variety of exemplary interfaces <NUM>, <NUM> for browsing various application marketplaces for interacting with operational data associated with a windfarm consistent with embodiments disclosed herein. For example, in some embodiments, a trusted analytics service may provide a marketplace where various parties may publish data, applications, algorithms, and/or software widgets. Using interfaces <NUM>, <NUM>, a user may download and/or purchase published data, applications, algorithms, and/or widgets. In some embodiments, a user may view various details relating to available data, applications, algorithms, and/or widgets. For example, as shown in connection with interface <NUM>, a description of an application, a price, various data dependencies, and/or other application details may be provided to a user interested in downloading and/or purchasing an application.

<FIG> illustrates another architecture for analyzing and managing operational data consistent with embodiments disclosed herein. In certain embodiments, various aspects of the illustrated architecture may be associated with a connected device such as a wind turbine system <NUM>, a trusted analytics service, various user systems and/or devices used to interact with the trusted analytics service, and/or any other related devices and/or system.

As illustrated, raw operational data may be collected by a wind turbine system <NUM>. In some embodiments, a trusted component executing on the wind turbine system <NUM> may be configured to securely collect raw operational data and transmit the collected operational data to a data upload and/or streaming service <NUM>, which in certain embodiments may be associated with a trusted analytics service.

Operational data collected by the data upload and/or streaming service <NUM> may be forwarded to an encryption layer <NUM> configured to perform encryption and/or decryption operations. For example, as illustrated, the encryption layer <NUM> may encrypt data prior to storage in an associated data store (e.g., a raw operational data store <NUM>, a machine learning model data store <NUM>, and/or an intermediate data store <NUM>) of a data storage layer <NUM>. In some embodiments, data requests and/or model updates may further be encrypted by the encryption layer <NUM> prior to being issued to the data storage layer <NUM>. The encryption layer <NUM> may further be configured to decrypt responses to data requests received from the data storage layer <NUM>.

Data requests, model updates, and/or associated responses may be issued by one or more software modules, applications, and/or tools executing within a trusted execution environment <NUM>. For example, as illustrated, one or more curated analytics tools, third party analytics tools, and/or the like may be configured to be executed within the trusted execution environment <NUM>. In some embodiments, the various requests, model updates, and/or associated responses may be managed by a policy enforcement layer <NUM> configured to enforce one or more policies received from a policy frontend <NUM>. In certain embodiments, tools executing in the trusted execution environment <NUM> and/or model updates may be downloaded and/or otherwise purchased from an application store and/or machine learning model library <NUM>.

Queries and/or requests may be issued to the modules, applications, and/or tools within the trusted execution environment <NUM> may be issued via various analytics frontend services <NUM>. In some embodiments, devices and/or systems and/or associated users and/or entities communicating information to and/or receiving information from the application store and/or machine learning model library <NUM>, analytics frontend services <NUM>, and/or the policy frontend <NUM> may be authenticated via authentication services <NUM>.

<FIG> illustrates an exemplary system <NUM> that may be used to implement embodiments of the systems and methods of the present disclosure. Certain elements associated with the illustrated exemplary system <NUM> may be included in one or more systems configured to store, communicate, and/or otherwise use operational data, and/or any other system configured to implement embodiments of the disclosed systems and methods. For example, various elements included in the illustrated system <NUM> may be included in a trusted analytics service configured to analyze operational data associated with one or more connected devices such as one or more connected thermostats and/or wind turbine systems.

As illustrated in <FIG>, the system <NUM> may include: a processing unit <NUM>; system memory <NUM>, which may include high speed random access memory ("RAM"), non-volatile memory ("ROM"), and/or one or more bulk non-volatile non-transitory computer-readable storage mediums (e.g., a hard disk, flash memory, etc.) for storing programs and other data for use and execution by the processing unit; a port <NUM> for interfacing with removable memory <NUM> that may include one or more diskettes, optical storage mediums, and/or other non-transitory computer-readable storage mediums (e.g., flash memory, thumb drives, USB dongles, compact discs, DVDs, etc.); a network interface <NUM> for communicating with other systems via one or more network connections <NUM> using one or more communication technologies; a user interface <NUM> that may include a display and/or one or more input/output devices such as, for example, a touchscreen, a keyboard, a mouse, a track pad, and the like; and one or more busses <NUM> for communicatively coupling the elements of the system <NUM>.

In some embodiments, the system <NUM> may, alternatively or in addition, include an SPU <NUM> that is protected from tampering by a user of the system or other entities by utilizing secure physical and/or virtual security techniques. An SPU <NUM> can help enhance the security of sensitive operations such as personal information management, trusted credential and/or key management, privacy and policy management, and other aspects of the systems and methods disclosed herein. In certain embodiments, the SPU <NUM> may operate in a logically secure processing domain and be configured to protect and operate on secret information, as described herein. In some embodiments, the SPU <NUM> may include internal memory storing executable instructions or programs configured to enable the SPU <NUM> to perform secure operations, as described herein.

The operation of the system <NUM> may be generally controlled by a processing unit <NUM> and/or an SPU <NUM> operating by executing software instructions and programs stored in the system memory <NUM> (and/or other computer-readable media, such as removable memory <NUM>). The system memory <NUM> may store a variety of executable programs or modules for controlling the operation of the system <NUM>. For example, the system memory <NUM> may include an operating system ("OS") <NUM> that may manage and coordinate, at least in part, system hardware resources and provide for common services for execution of various applications and a trust and privacy management system <NUM> for implementing trust and privacy management functionality including protection and/or management of personal data through management and/or enforcement of associated policies. The system memory <NUM> may further include, without limitation, communication software <NUM> configured to enable in part communication with and by the system; one or more applications; operational data <NUM> and/or related access policies <NUM>; data management and/or policy enforcement modules <NUM> configured to implement various data access control methods disclosed herein; a personal agent module <NUM> and/or any other information, modules; and/or any other applications configured to implement embodiments of the systems and methods disclosed herein.

The systems and methods disclosed herein are not inherently related to any particular computer, device, service, or other apparatus and may be implemented by a suitable combination of hardware, software, and/or firmware. Software implementations may include one or more computer programs comprising executable code/instructions that, when executed by a processor, may cause the processor to perform a method defined at least in part by the executable instructions. The computer program can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. Further, a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. Software embodiments may be implemented as a computer program product that comprises a non-transitory storage medium configured to store computer programs and instructions, that when executed by a processor, are configured to cause the processor to perform a method according to the instructions. In certain embodiments, the non-transitory storage medium may take any form capable of storing processor-readable instructions on a non-transitory storage medium. A non-transitory storage medium may be embodied by a compact disk, digital-video disk, an optical storage medium, flash memory, integrated circuits, or any other non-transitory digital processing apparatus memory device.

Claim 1:
A method for managing operational data performed by a trusted service (<NUM>) comprising a processor and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the trusted service (<NUM>) to perform the method, the method comprising:
receiving, from a first trusted component (<NUM>) executing on a first connected device (<NUM>), first operational data (100a), the first operational data (100a) being generated in accordance with at least a first policy enforced by the first trusted component (<NUM>);
receiving, from a second trusted component (<NUM>) executing on a second connected device (<NUM>), second operational data (100c), the second operational data (100c) being generated in accordance with at least a second policy enforced by the second trusted component (<NUM>), the second policy being different, at least in part, to the first policy;
receiving data from a data service provider (<NUM>);
receiving, from a user system, a request to generate an operational data analytics message based, at least in part, on the first operational data (100a), the second operational data (100c), and the data from the data service provider (<NUM>);
generating, using an analytics engine (<NUM>) of the trusted service (<NUM>), the requested operational data analytics message based, at least in part on an analysis of at least part of the second operational data (100c) and a model generated using at least part of the first operational data (100a) and at least part of the data from the data service provider, the operational data analytics message comprising an indication of at least one anomalous condition associated with the second connected device (<NUM>); and
transmitting the operational analytics message to the user system.