Sensor event coverage and energy conservation

A method for sensor event coverage and energy conservation includes receiving device sensor data for a plurality of sensors in a sensor network. The method further includes identifying one or more anomalies in the device sensor data that indicate one or more sensors from the plurality of sensors were acquiring data during an event for a specific point in time and identifying movement patterns for the plurality of sensors based on the one or more anomalies. The method further includes responsive to updating base engagement profiles for the plurality of sensors based on the one or more anomalies and the movement patterns, activating based on the updated base engagement profiled, a first sensor from the plurality of sensors.

BACKGROUND

This disclosure relates generally to sensor networks, and in particular to managing a sensor network to provide event coverage while minimizing energy consumption.

Interrelated computing devices, also referred to as Internet of Things (IoT) devices, are often battery operated and deployed in remote areas where there is limited or no access to an electrical infrastructure. Battery operated IoT devices are able to capture sensor data and transmit the sensor data via a network to a remote device for evaluation. Since, battery operated IoT devices are not connected to the electrical infrastructure, battery replacement or recharging on a periodic basis is required to ensure data is captured and events are registered. Though an IoT device can harvest energy from the environment through solar and wind to periodically recharge the battery, continuous charge cycles reduces battery capacity over the expected life of the battery.

SUMMARY

Embodiments in accordance with the present invention disclose a method, computer program product and computer system for sensor event coverage and energy conservation, the method, computer program product and computer system can receive device sensor data for a plurality of sensors in a sensor network. The method, computer program product and computer system can receive device sensor data for a plurality of sensors in a sensor network. The method, computer program product and computer system can identify one or more anomalies in the device sensor data that indicate one or more sensors from the plurality of sensors were acquiring data during an event for a specific point in time. The method, computer program product and computer system can identify movement patterns for the plurality of sensors based on the one or more anomalies. The method, computer program product and computer system can responsive to updating base engagement profiles for the plurality of sensors based on the one or more anomalies and the movement patterns, activate based on the updated base engagement profiled, a first sensor from the plurality of sensors.

DETAILED DESCRIPTION

An Internet of Things (IoT) sensor network utilizes multiple interrelated computing devices for providing event coverage to capture data, where not every IoT sensor in the IoT sensor network is required to capture and send data thus consuming energy. Embodiments of the present invention manage an IoT sensor network to activate a portion of sensors in an event coverage area based on engagement profile to capture and send data to provide the event coverage. Instances where a portion of sensors from the IoT sensor network are not required to provide event coverage based on the engagement profiles, the portion of sensors are placed in a low energy consumption state (e.g., sleep mode). In the low energy consumption states, the portion of sensors of the IoT network sensor can receive an instruction to activate but are not required to capture and send data, since the portion of sensors are outside an event coverage area.

FIG. 1is a functional block diagram illustrating a distributed data processing environment, in accordance with one embodiment of the present invention. The distributed data processing environment includes server computer102, client device104, and sensor network122all interconnected over network106.

Server computer102may be a desktop computer, a laptop computer, a tablet computer, a specialized computer server, a smartphone, or any computer system capable of executing the various embodiments of sensor event coverage program108. In certain embodiments, server computer102represents a computer system utilizing clustered computers and components that act as a single pool of seamless resources when accessed through network106, as is common in data centers and with cloud computing applications. In general, server computer102is representative of any programmable electronic device or combination of programmable electronic devices capable of executing machine-readable program instructions and communicating with other computer devices via a network. Server computer102has the ability to communicate with other computer devices (not illustrated inFIG. 1) to query the computer devices for information. In this embodiment, server computer102includes sensor event coverage program108capable of communicating with database110, where database110includes device engagement profiles112, sensor data114, anomaly data116, and movement pattern data118.

Client device104may be a cellphone, smartphone, smartwatch, laptop, tablet computer, or any other electronic device capable of communicating via network106. In general, client device104represents one or more programmable electronic devices or combination of programmable electronic devices capable of executing machine readable program instructions and communicating with other computing devices (not shown) within distributed data processing environment via a network, such as network106. In one embodiment, client computing device104represents one or more devices associated with a user. Client device104includes user interface120, where user interface120enable a user of client device104to interact with sensor event coverage program108on server computer102.

Sensor event coverage program108utilizes engagement profiles112for a plurality of sensors designated as sensor124A,124B, and124N in sensor network122to determine when to activate and deactivate a particular sensor in sensor network122to provide event coverage. In this embodiment, one or more engagement profiles112from a plurality of engagement profiles112are associated with sensor (e.g., sensor124A) from the plurality of sensors. It is to be noted, sensor124A represents a first sensor, sensor124B represents a second sensor, and sensor124N represents a final sensor in sensor network122, where sensor124N can for example represent a twentieth sensor or a forty-fifth sensor in sensor network122. Event coverage represents instances where sensor event coverage program108is to activate one or more sensors in sensor network122to capture and send data during an occurrence of an event. Sensor event coverage program108utilizes known locations for sensors124A,124B, and124N and determined event coverage areas to establish engagement profiles112.

Sensor event coverage program108determines base engagement profiles112for sensors124A,124B, and124N in sensor network122, where sensor event coverage program108utilizes time-based activation schedules and/or user defined activation preferences for sensors124A,124B, and124N. Sensor event coverage program108receives device sensor data114from each sensor (e.g., sensor124B) in sensor network122, where device sensor data114indicates a time of captured data, a reason for captured data, one or more data types captured, and one or more data types sent, for each sensor124A,124B, and124N. Sensor event coverage program108identifies anomalies in the received device sensor data114and identifies movement patterns based on the identified anomalies. Subsequently, sensor event coverage program108stores device sensor data114, stores the identified anomalies as anomaly data116, and stores the identified movement patterns as movement pattern data118. Sensor event coverage program108updates the base engagement profiles112for sensor network122through an iteration of a machine learning process, based on received device sensor data114, anomaly data116, and movement pattern data118.

Sensor event coverage program108determines whether to initialize engagement profiles112for sensors124A,124B, and124N in sensor network122. Responsive to sensor event coverage program108determining to initialize engagement profiles112, sensor event coverage program108activates each sensor in sensor network122based on engagement profiles112. Responsive to sensor event coverage program108determining not to initialize sensor event coverage program108, sensor event coverage program108reverts back to receiving additional device sensor data114to perform another iteration of the machine learning process to further update engagement profiles112. As sensor event coverage program108activates and deactivates each sensor in sensor network122, sensor event coverage program108updates engagement profiles112for sensor network122based on received device sensor data114.

Database110is a repository for data utilized by sensor event coverage program108such as, engagement profiles112, device sensor data114, anomaly data116, and movement pattern data118. In the depicted embodiment, database110resides on server computer102. In another embodiment, database110may reside on client device104or elsewhere within distributed data processing environment provided sensor event coverage program108has access to database110. Database110can be implemented with any type of storage device capable of storing data and configuration files that can be accessed and utilized by generated design program108, such as a database server, a hard disk drive, or a flash memory.

Engagement profiles112for sensors124A,124B, and124N provide instructions for activation and deactivation of sensors124A,124B, and124N, where an activation of a sensor indicates the sensor is capturing data and transmitting data and a deactivation of a sensor indicates the sensor is in a low power consumption state (e.g., sleep mode). Device sensor data114includes information such as, a time of captured data, a reason for captured data, one or more data types captured, and one or more data types sent, for each sensor124A,124B, and124N. Anomaly data116includes data captured by a specific sensor (e.g., sensor124A) in sensor network122that sensor event coverage program108identifies as irregular relative to data captured by other sensors (e.g., sensor124B and124N) in sensor network122. Movement pattern data118includes movement patterns or changes across sensor network122that sensor event coverage program108identifies based on device sensor data114and anomaly data116.

In general, network106can be any combination of connections and protocols that will support communications between server computer102, client device104, and sensor network122. Network106can include, for example, a local area network (LAN), a wide area network (WAN), such as the internet, a cellular network, or any combination of the preceding, and can further include wired, wireless, and/or fiber optic connections. In one embodiment, sensor event coverage program108can be a web service accessible via network106to a user of client device104. In another embodiment, sensor event coverage program108may be operated directly by a user of server computer102. Sensor network122can be any combination of connections and protocols that will support communications between sensor124A,124B, and124N, and network106. Sensor network122can include, for example, a local area network (LAN), a wide area network (WAN), such as the internet, a cellular network, or any combination of the preceding, and can further include wired, wireless, and/or fiber optic connections, independent of network106.

FIG. 2is a flowchart depicting operational steps of a sensor event coverage program, on a server computer within the distributed data processing environment ofFIG. 1, for providing sensor network event coverage, in accordance with an embodiment of the present invention.

For a training phase, each sensor in a sensor network is continuously capturing sensor data and based on an analysis of the captured sensor data, a sensor event coverage program identifies anomalies in the captured sensor data. Each sensor in the sensor network includes a unique identification marker and respective credentials for each captured sensor data is stored in a database. As a server computer with the sensor event coverage program receives sensor data from each sensor in the sensor network, the unique identification marker for each sensor is included for associating a particular sensor with the captured sensor data. The sensor event coverage program can identify movement patterns based on the identified anomalies. A sensor data value matrix for different points in time(n) are fed to a neural network model of the sensor event coverage program. In one embodiment, a value can be normalized to “0” and “1” representing a nonactive sensor and an active sensor, respectively. A nonactive sensor can represent a sensor that is not acquiring data at a specific point in time(n) and an active sensor can represent a sensor that is acquiring data at a specific point in time(n). In another embodiment, a value in the sensor data value matrix can include a sensor reading (e.g., 25° C.) for a specific sensor. In yet another embodiment, a value in the sensor data value matrix can indicate whether a specific sensor is operating in a normal state or if an anomaly detection state. A visual representation of an example sensor data value matrix is discussed in further detail with regards toFIGS. 3A-3C.

The sensor event coverage program can deploy dimension reduction by reducing redundant features to make classification easier and feed the input features to the neural network model. A dimension reduction unsupervised learning method (e.g., Monte Carlo Method) can enable reducing or eliminating features over time or in this example, reducing the dependency on one or more of the sensor readings. The dimension reduction unsupervised learning method obtains a greater accuracy and expedites the process of adjusting weights and training the model faster. The neural network output is compared to the sensor value data for time(n+1), as another iteration in the training process and weights are adjusted as the neural network is trained with each iteration (i.e., time(n+2), time (n+3), . . . ). The sensor event coverage program determines when the neural network has been adequately trained to deliver what the expect active sensor set should be compared to a current time snippet for the active sensor set.

For an operation phase, instances when the sensor network is not gathering data (i.e., no events occurring), the neural network has no data to infer patterns and overlaid on top of the prediction framework is a scouting mode. The scouting mode activates a minimum set of sensors in the sensor network to gather data, where the minimum set of sensors represents a subset of sensors in the sensor network. The subset of sensors in the sensor network can be selected based on user defined designated scout sensors, sensors with most activity, sensors that are anomaly detection points, and randomly. During an operation mode, scout data signals an even and time(n) data is present for at least one sensor in the sensor network. The neural network of the sensor event coverage program inputs sensor value data for time(n), internal layers with trained weights calculates output values, and the neural network of the sensor event coverage program outputs time(n+1) sensor activation set. The sensor event coverage program utilizes the sensor activation set to send a wake signal to activate a sensor and a sleep signal to deactivate a sensor accordingly.

Sensor event coverage program108determines base engagement profiles for a sensor network (202). In this embodiment, sensor event coverage program108determines base engagement profiles for the sensor network by identifying whether any sensor in the sensor network utilizes a time-based activation schedule and/or user defined activation preference. In one example of a time-based activation schedule, sensor event coverage program108identifies that the sensors in the sensor network can activate and deactivate based on set time internals (e.g., every twenty minutes), where the sensors activate at a first time internal to acquire data and subsequently deactivate until a second time interval is reached. In another example of a time-based activation schedule, sensor event coverage program108identifies that the sensors in the sensor network can active and deactivate for certain hours in a day (e.g., business hours), where the sensors are active between the hours of 8 AM and 6 PM and nonactive for all other hours. In one example of a user defined activation preference, sensor event coverage program108identifies that a user has grouped a subset of sensors in the sensor network, where a sensor that activates in the subset results in the activation of the remaining sensors in the subset and a sensor that deactivates in the subset results in the deactivation of the remaining sensors in the subset. In another example of a user defined activation preference, sensor event coverage program108identifies that a user has specified that a sensor remain activate for readings in a given range (e.g., X>15° C.), where the sensor can deactivate if the reading for the sensor is no longer in the given range (e.g., X≤15° C.). Sensor event coverage program108utilizes the identified time-based activation schedules and user defined activation preferences to determine a base engagement profile for each sensor in the sensor profile to provide event coverage.

Sensor event coverage program108receives data from each sensor in the sensor network (204). Each sensor in the sensor network includes a unique identification marker for identifying a sensor type and known location, where the unique identification marker and respective credentials for device sensor data captured by each sensor is stored in a database. The device sensor data can include an acquired reading (e.g., temperature, humidity, sound), an indication of activation (i.e., activated or deactivated), an operational state (i.e., normal state, anomaly state, error state), a timestamp for an acquired reading, and a location for an acquired reading. Sensor event coverage program108receives the device sensor data for time(n) in the form of a data value matrix, where each value in the data value matrix is represented by the acquired reading of a single sensor in the sensor network. Sensor event coverage program108receives the device sensor data with the unique identification marker from each sensor in the sensor network and utilizes the received sensor data to identify anomalies. Sensor event coverage program108can utilize the location for an acquired reading to create a visual overlay on a map, where sensor event coverage program108can display the overlay on the map with the sensor locations on a client device associated with the user. The user can select one or more sensors in the sensor network to exclude from subsequently updating the base engagement profiles, discussed in further detail with regards to (212).

Sensor event coverage program108identifies anomalies in the received data (206). In this embodiment, sensor event coverage program108identifies anomalies for one or more sensors in the sensor network by comparing the received device sensor data for a single sensor in the sensor network to the remaining sensors in the sensor network for time(n). An anomaly that sensor event coverage program108identifies in the received device sensor data for a sensor in the sensor network, indicates that the sensor was active and acquiring data during an event for time(n). An event represents an occurrence in a vicinity (i.e., event coverage area) of the sensor that requires the activation of the sensor to acquire data and/or perform an action. In one example, a plurality of camera devices is positioned in a retail location, where each camera device from the plurality of camera devices includes a motion sensor for activating a respective camera. Sensor event coverage program108identifies an anomaly in the plurality of camera devices that indicates a first camera device activates in conjunction with a second camera device at time(n). However, in a subsequent iteration of receiving device sensor data, sensor event coverage program108identifies an anomaly in the plurality of camera devices that indicates a first camera device activates in conjunction with a third camera device at time(n+1), but the second camera device remains inactive. Sensor event coverage program108identifies and complies the identified anomalies for the plurality of camera at the retail location at multiple points in time (i.e., time(n+1), time(n+2), time(n+3) . . . ).

In another example, a plurality of temperature sensors is positioned in a crop field, where each temperature from the plurality of temperature sensors acquires a temperature reading at time(n) and a temperature threshold (e.g., x>25° C.) to active a portion of an irrigation system in the vicinity of the temperature sensor. The activation of a portion of the irrigation system can include opening an electronically controlled water valve to ensure the soil in a portion of the crop field in the vicinity of the temperature sensor with a reading above the temperature threshold maintains a certain moisture level. Sensor event coverage program108identifies an anomaly in the plurality of temperature sensor data that indicates a first temperature sensor registered a first reading above the temperature threshold at time(n). However, in a subsequent iteration of receiving temperature sensor data, sensor event coverage program108an anomaly in the plurality of temperature sensor data that indicates a first, a second, and a third temperature sensor registered a first, a second, and a third reading above the temperature threshold at time(n+1). Sensor event coverage program108identifies and complies the identified anomalies for the plurality of temperature sensors positioned in the crop field at multiple points in time (i.e., time(n+1), time(n+2), time(n+3) . . . ).

Sensor event coverage program108identifies movement patterns based on the identified anomalies (208). Sensor event coverage program108identifies movement patterns based on a comparison of identified anomalies for received device sensor data at time(n) to any previously identified anomalies for received device sensor at time(n−1), time(n−2), and so on. For discussion purposes, movement patterns represent instances of an activation of a subset of sensors in the sensor network, where the subset of active sensors from the sensor network can change at different points in time (e.g., time(n−1) vs time(n) vs time(n+1)). In one example, where a plurality of camera devices is positioned in a retail location, sensor event coverage program108identified an anomaly in the plurality of camera devices that indicates a first camera device activates in conjunction with a second camera device at time(n). Sensor event coverage program108also previously identified anomalies in the plurality of camera device that indicate the first camera device activates in conjunction with a third camera device at time(n−1) and the first camera device activates in conjunction with a fourth camera device at time(n−2). Sensor event coverage program108compares the identified anomaly at time(n) to the previously identified anomalies at time(n−1) and time(n−2), to identify movement patterns for the sensors in the sensor network. Sensor event coverage program108utilizes known locations for each of the camera device with motion sensors in the sensor network to determine when and how each of the motion sensors in the sensor network activate and deactivate with relation to one another.

In another example, where a plurality of temperature sensors is positioned in crop field, sensor event coverage program108identified an anomaly in the plurality of temperature sensors that indicates a first temperature sensor registered a first reading above the temperature threshold at time(n). Sensor event coverage program108also previously identified anomalies in the plurality of temperature sensors that indicates a second temperature sensor registered a second reading above the temperature threshold at time(n−1), a third temperature sensor registered a third reading above the temperature threshold at time(n−2), and a fourth temperature sensor registered a fourth reading above the temperature threshold at time(n−3). Sensor event coverage program108compares the identified anomaly at time(n) to the previously identified anomalies at time(n−1), time(n−2), and time(n−3), to identify movement patterns for the sensors in the sensor network. Sensor event coverage program108utilizes known locations for each of the temperature sensors in the sensor network to determine when and how each of the temperature sensors in the sensor network activate and deactivate with relation to one another.

Sensor event coverage program108stores received data, the identified anomalies, and the identified movement patterns (210). Utilizing the unique identification markers for each sensor in the sensor network and an associated time stamp, sensor event coverage program108stores the received sensor data, the anomaly data, and the movement pattern data for the sensor network at time(n) in a database. Storing the combined data for the sensor network at time(n) represents a single iteration of compiling data for a machine learning process for updating the base engagement profiles for the sensor network established in (202). Preceding instances of storing the combined data for the sensor network at time(n−1) and subsequent instances of storing the combined data for the sensor network at time(n+1), each represent another iteration of compiling data for the machine learning process for continuously updating the base engagement profiled for the sensor network established in (202).

Sensor event coverage program108updates base engagement profiles for the sensor network (212). Sensor event coverage program108updates the base engagement profiles for the sensor network based on the received sensor data, the anomaly data, and the movement pattern data for each sensor in the sensor network. As previously discussed, the engagement profiles provide instructions for activation and deactivation of each sensor in the sensor network for providing event coverage at a specific point in time, where an activation of a sensor indicates the sensor is capturing data and transmitting data and a deactivation of a sensor indicates the sensor is in a low power consumption state (e.g., sleep mode). In one example, sensor event coverage program108previously determined base engagement profiles based on a time-based activation schedule for motion sensors associated with camera device in the sensor network activate and deactivate for certain hours in a day, where the motion sensors are active between the hours of 8 AM and 6 PM and nonactive for all other hours. However, based on multiple iterations of the machine learning process, sensor event coverage program108identified movement patterns for the motion sensors in the sensor network that indicated that only a portion of the motion sensors in the sensor network were actively acquiring data at specific points in time (e.g., time(n−1), time(n), time(n+1)) during the certain hour in the day. Sensor event coverage program108updates the base engagement profiles by combining the time-based activation schedule with the identified movement patterns for the sensor in the sensor network. As a result, only a portion of the motion sensors in the sensor network activate for a specific point in time between the hours of 8 AM and 6 PM. It is to be noted, sensor event coverage program108also identifies which portion of motion sensors were activate at a specific point in time, where a first portion of motion sensors in the sensor network are activate at time(n−1) and a second portion of motion of motion sensors are activate in sensor network are activate at time(n). One or more sensors in the first portion of motion sensors can be identical to one or more sensors in the second portion of motion sensors.

In another example, sensor event coverage program108previously determined base engagement profiles based on both a time-based activation schedule a user defined activation preference for activating temperature sensors in a sensor network. Sensor event coverage program108previously determined the time-based activation schedule requires that each temperature in the temperature sensor network is to be activated every 30 minutes to acquire a temperature reading. Sensor event coverage program108previously determined the user defined activation preference includes activating a subset of temperature sensors in the sensor network when a temperature reading from a specific temperature sensor in the subset is in a given range (e.g., X>15° C.) and deactivating the subset of temperature sensors in the sensor network when the temperature reading from the specific temperature sensor in the subset is outside the given range (e.g., X≤15° C.). Based on multiple iteration of the machine learning process, sensor event coverage program108identified movement patterns for the temperature sensors in the sensor network that indicated the temperature sensors in the sensor network were only acquiring data during daylight hours when an ambient temperature was in the given range. Furthermore, sensor event coverage program108identified movement patterns for the temperature sensors in the sensor network that indicated only a portion of the subset of temperature sensors were acquiring data in the given range and a remaining portion of the subset of temperature sensor were acquiring data outside the given range. Sensor event coverage program108updates the base engagement profiles for the sensor network based on the identified movement patterns to further reduce when the temperature sensors are active for acquiring data (i.e., during daylight hours) and to further reduce the subset of temperature sensors to the identified portion of the subset of temperature sensors that are to be activated to acquire temperature reading data.

Sensor event coverage program108determines whether to initialize the engagement profiles for the sensor network (decision214). In one embodiment, sensor event coverage program108utilizes a total iteration count (e.g., one hundred iterations) for the machine learning process to determine whether enough device sensor data was received for various points in time to establish engagement profiles for the sensors in the sensor network. In another embodiment, sensor event coverage program108utilizes a stabilization iteration count (e.g., ten iterations) for the machine learning process, where the stabilization iteration count represents an amount of data collected at the various points in time where there were no updates to the engagement profiles. In the event sensor event coverage program108determines to initialize the engagement profiles for the sensor network (“yes” branch, decision214), sensor event coverage program108activates each sensor in the sensor network based on the engagement profiles (216). In the event sensor event coverage program108determines not to initialize the engagement profiles for the sensor network (“no” branch, decision214), sensor event coverage program108performs another iteration of the machine learning process and reverts back to receiving additional data at time(n+1) from each sensor in the sensor network to further update the engagement profiles for the sensor network with adjustments.

Sensor event coverage program108activates each sensor in the sensor network based on the engagement profiles (216). For each point in time, sensor event coverage program108activate each sensor in the sensor network based on the engagement profiles and similarly deactivates any sensors based on the engagement profiles. The engagement profiles span various durations and depend on the intended usage of the sensor network. In one example, sensor event coverage program108activates and deactivates a motion sensor associated with a camera device in a retail location according to engagement profiles created for seven days, where after seven days the engagement profiles continuously cycle every seven days. In another example, sensor event coverage program108activates and deactivates temperature sensors in a crop field according to engagement profiled created for every day of the year, since seasonal and solar patterns change daily affecting an activation of temperature sensors in the crop field.

Sensor event coverage program108updates the engagement profiles for the sensor network (218). In one example, sensor event coverage program108activates and deactivates a motion sensor associated with a camera device in a retail location according to engagement profiles created for seven days, where after seven days the engagement profiles continuously cycle every seven days. As sensor event coverage program108utilizes the engagement profiles for the motion sensors, sensor event coverage program108can continuously receive device sensor data from each active sensor to identify additional anomalies and movement patterns to further update the engagement profiles. This continued machine learning process allows for sensor event coverage program108to update the engagement profiles for different times of the year, where different times of the year can affect how the sensors in the sensor network are activated and deactivated to provide the required event coverage while maintaining energy conservation. In another example, sensor event coverage program108activates and deactivates temperature sensors in a crop field according to engagement profiled created for every day of the year, since seasonal and solar patterns change daily affecting an activation of temperature sensors in the crop field. As sensor event coverage program108utilizes the engagement profiles for the temperature sensors, sensor event coverage program108can continuously receive device sensor data from each active sensor to identify additional anomalies and movement patterns to further update the engagement profiles. This continued machine learning process allows for sensor event coverage program108to update the engagement profiles for any newly introduced variables (e.g., structure that affects a solar pattern) into the environment (i.e., crop field) that can affect the data acquired by the temperature sensors.

FIG. 3Aillustrates an example of an active engagement pattern at time(n) for sensor network event coverage by the sensor event coverage program, in accordance with an embodiment of the present invention. In this embodiment, sensor event coverage program108activates various temperature sensors in the sensor network, where each temperature sensor is associated with activating an electronically controlled water valve in an irrigation system. If a temperature reading for a temperature sensor is at or above a threshold value (e.g., X≥25° C.), an electronically controlled water valve associated with the temperature sensor opens to ensure the soil in a portion of the crop field in the vicinity of the temperature sensor with the temperature reading above the threshold value maintains a certain moisture level. If a temperature reading for a temperature sensor below a threshold value (e.g., X<25° C.), an electronically controlled water valve associated with the temperature sensors closes. To ensure the temperature sensors in the sensor network do not continuously consume power by acquiring data, sensor event coverage program108utilizes engagement profiles to activate and deactivate temperature sensors in the sensor network for data value matrix302. In this example, an activate temperature sensor is represented by “1” and a nonactive temperature sensor is represented by “0”. Through multiple iterations of the machine learning process, sensor event coverage program108established engagement profile304for time(n), engagement profile306for time(n+1), and engagement profile308for time(n+2).

Sensor event coverage program108previously identified anomalies and movement patterns for the temperature sensors in the sensor network. In this example, engagement profiles304,306, and308each represent movement patterns for the sensor network and data value matrix302represents the crop field, where each movement pattern is associated with a solar pattern on the crop field. At time(n) (e.g., 8 AM on June 1st), an edge of a solar pattern on the crop field is represented by engagement profile304, where temperature sensors located within the edge of the solar pattern represented by engagement profile304are active and temperature sensors located outside the edge of the solar pattern represented by engagement profile304are inactive. Sensor event coverage program108previously determined the movement pattern is associated with a solar pattern, where a temperature sensor exposed to solar rays (direct or indirect) experiences a rapid increase in temperature readings. As result, the temperature can rapidly exceed (e.g., 5 minutes) the threshold value (e.g., X<25° C.), once covered by the solar pattern and exposed to the solar rays. For temperature sensor310located on the edge of engagement profile304, sensor event coverage program108takes into account an initialization and calibration period (e.g., 30 seconds) of temperature sensor310and instructs temperature sensor310to active prior to being exposed to the solar rays under the solar pattern.

FIG. 3Billustrates an example of an active engagement pattern at time(n+50) for sensor network event coverage by the sensor event coverage program, in accordance with an embodiment of the present invention. At time(n+50) (e.g., 12 PM on June 1st), an edge of a solar pattern on the crop field is represented by engagement profile306, where temperature sensors located within the edge of the solar pattern represented by engagement profile306are active and temperature sensors located outside the edge of the solar pattern represented by engagement profile306are inactive. Though not illustrated inFIG. 3B, there are multiple engagement profiles for instances between time(n) and time(n+50), where the multiple engagement profiles provide the transition between engagement profile304to engagement profile306.

FIG. 3Cillustrates an example of an active engagement pattern at time(n+100) for sensor network event coverage by the sensor event coverage program for a different season, in accordance with an embodiment of the present invention. At time(n+100) (e.g., 4 PM on June 1st), an edge of a solar pattern on the crop field is represented by engagement profile308, where temperature sensors located within the edge of the solar pattern represented by engagement profile308are active and temperature sensors located outside the edge of the solar pattern represented by engagement profile308are inactive. It is to be noted, a portion of the temperature sensors in the sensor network indicated as active by engagement profiles304and306, are no longer indicated as active by engagement profile308. Though not illustrated inFIG. 3C, there are multiple engagement profiles for instances between time(n+50) and time(n+100), where the multiple engagement profiles provide the transition between engagement profile306to engagement profile308.

FIG. 4illustrates an example of an active engagement pattern at time(n) for sensor network event coverage by the sensor event coverage program, in accordance with an embodiment of the present invention. Sensor event coverage program108utilizes engagement profiles to activate and deactivate temperature sensors in the sensor network for data value matrix302fromFIGS. 3A-3C, but during a different time of year when a solar pattern is different compared to a solar pattern inFIGS. 3A-3C. An activate temperature sensor is represented by “1” and a nonactive temperature sensor is represented by “0”. Through multiple iterations of the machine learning process, sensor event coverage program108established engagement profile402for time(n), engagement profile404for time(n+1), and engagement profile406for time(n+2), for the different time of year. Sensor event coverage program108previously identified anomalies and movement patterns for the temperature sensors in the sensor network. In this example, engagement profiles402,404, and406each represent movement patterns for the sensor network and data value matrix302represents the crop field, where each movement pattern is associated with a solar pattern on the crop field.

At time(n) (e.g., 8 AM on October 1st), an edge of a solar pattern on the crop field is represented by engagement profile402, where temperature sensors located within the edge of the solar pattern represented by engagement profile402are active and temperature sensors located outside the edge of the solar pattern represented by engagement profile402are inactive. At time(n+50) (e.g., 12 PM on October 1st), an edge of a solar pattern on the crop field is represented by engagement profile404, where temperature sensors located within the edge of the solar pattern represented by engagement profile404are active and temperature sensors located outside the edge of the solar pattern represented by engagement profile404are inactive. At time(n+100) (e.g., 4 PM on October 1st), an edge of a solar pattern on the crop field is represented by engagement profile406, where temperature sensors located within the edge of the solar pattern represented by engagement profile406are active and temperature sensors located outside the edge of the solar pattern represented by engagement profile406are inactive. Sensor event coverage program108through iterative machine learning has the ability to identify the movement patterns with respect to time and establish for each temperature sensor in the sensor network engagement profiles304,306,308,402,404, and406accordingly.

FIG. 5depicts a computer system, where server computer102is an example of a computer system that can include sensor event coverage program108. The computer system includes processors504, cache516, memory506, persistent storage508, communications unit510, input/output (I/O) interface(s)512and communications fabric502. Communications fabric502provides communications between cache516, memory506, persistent storage508, communications unit510, and input/output (I/O) interface(s)512. Communications fabric502can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, communications fabric502can be implemented with one or more buses or a crossbar switch.

Memory506and persistent storage508are computer readable storage media. In this embodiment, memory506includes random access memory (RAM). In general, memory506can include any suitable volatile or non-volatile computer readable storage media. Cache516is a fast memory that enhances the performance of processors504by holding recently accessed data, and data near recently accessed data, from memory506.

Communications unit510, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit510includes one or more network interface cards. Communications unit510may provide communications through the use of either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage508through communications unit510.

I/O interface(s)512allows for input and output of data with other devices that may be connected to each computer system. For example, I/O interface512may provide a connection to external devices518such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices518can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention can be stored on such portable computer readable storage media and can be loaded onto persistent storage508via I/O interface(s)512. I/O interface(s)512also connect to display520.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows: