Sensor Event Coverage and Energy Savings
Patent Information
- Application Number
- JP2023516657
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-14
- Filing Date
- 2021-09-13
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2041-09-13
Smart Images

Figure 0007643819000001 
Figure 0007643819000002 
Figure 0007643819000003
Abstract
Description
[Technical field]
[0001] TECHNICAL FIELD This disclosure relates generally to sensor networks, and more particularly to managing a sensor network to provide event coverage while minimizing energy consumption. [Background technology]
[0002] Interrelated computing devices, also referred to as Internet of Things (IoT) devices, are often battery powered and deployed in remote areas with limited or no access to electrical infrastructure. Battery powered IoT devices can capture sensor data and transmit it over a network to a remote device for evaluation. Because battery powered IoT devices are not connected to an electrical infrastructure, periodic battery replacement or recharging is required to ensure that data is captured and events are registered. IoT devices may harvest energy from the environment through solar and wind power and periodically recharge the battery, but continuous charging cycles reduce the battery capacity over the expected life of the battery. Summary of the Invention
[0003] An embodiment according to the invention discloses a method, computer program product, and computer system for sensor event coverage and energy conservation, the method, computer program product, and computer system may receive device sensor data for a plurality of sensors in a sensor network. The method, computer program product, and computer system may receive device sensor data for a plurality of sensors in the sensor network. The method, computer program product, and computer system may identify one or more anomalies in the device sensor data indicating that one or more sensors of the plurality of sensors were acquiring data during an event at a particular time. The method, computer program product, and computer system may identify a movement pattern for the plurality of sensors based on the one or more anomalies. The method, computer program product, and computer system may activate a first sensor of the plurality of sensors based on the updated base engagement profile in response to updating a base engagement profile for the plurality of sensors based on the one or more anomalies and the movement pattern. [Brief description of the drawings]
[0004] [Figure 1] FIG. 1 is a functional block diagram illustrating a distributed data processing environment in accordance with an embodiment of the present invention.
[0005] [Diagram 2] 2 is a flow chart illustrating the operational steps of a sensor event coverage program on a server computer in the distributed data processing environment of FIG. 1 to provide sensor network event coverage, in accordance with an embodiment of the present invention.
[0006] [Figure 3A] 1 illustrates an example of active engagement patterns at time (n) for sensor network event coverage by a sensor event coverage program, according to an embodiment of the present invention.
[0007] [Figure 3B] 1 illustrates an example of active engagement patterns at time (n+50) for sensor network event coverage by a sensor event coverage program, according to an embodiment of the present invention.
[0008] [Figure 3C] 1 illustrates an example of active engagement patterns at time (n+100) for sensor network event coverage by a sensor event coverage program for different seasons, according to an embodiment of the present invention.
[0009] [Figure 4] 4 illustrates an example of active engagement patterns at time (n) for sensor network event coverage by a sensor event coverage program, according to an embodiment of the present invention.
[0010] [Diagram 5] 2 illustrates a block diagram of components of a server computer that executes a sensor event coverage program in the distributed data processing environment of FIG. 1 in accordance with an embodiment of the present invention.
[0011] [Figure 6] 1 illustrates a cloud computing environment in accordance with an embodiment of the present invention.
[0012] [Figure 7] 3 illustrates abstraction model layers according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] An Internet of Things (IoT) sensor network utilizes multiple interrelated computing devices to capture data to provide event coverage, but not all IoT sensors in the IoT sensor network need to capture and transmit data and therefore consume energy. An embodiment of the present invention manages an IoT sensor network to activate a portion of sensors in an event coverage area to capture and transmit data and provide event coverage based on an engagement profile. When a portion of sensors of an IoT sensor network does not need to provide event coverage based on an engagement profile, the portion of sensors is placed in a low energy consumption state (e.g., sleep mode). In the low energy consumption state, the portion of sensors of an IoT network sensor may receive an instruction to activate, but does not need to capture and transmit data because the portion of sensors is outside the event coverage area.
[0014] 1 is a functional block diagram illustrating a distributed data processing environment according to one embodiment of the present invention. The distributed data processing environment includes a server computer 102, a client device 104, and a sensor network 122, all interconnected through a network 106.
[0015] The server computer 102 may be a desktop computer, a laptop computer, a tablet computer, a dedicated computer server, a smartphone, or any computer system capable of executing various embodiments of the sensor event coverage program 108. In certain embodiments, as is common in data centers and cloud computing applications, the server computer 102 represents a computer system utilizing clustered computers and components that operate as a single pool of seamless resources when accessed over a network 106. In general, the server computer 102 represents any programmable electronic device or combination of programmable electronic devices capable of executing machine-readable program instructions and communicating with other computer devices over a network. The server computer 102 has the ability to communicate with other computer devices (not shown in FIG. 1 ) and query the computer devices for information. In this embodiment, the server computer 102 includes a sensor event coverage program 108 capable of communicating with a database 110, where the database 110 includes device engagement profiles 112, sensor data 114, anomaly data 116, and movement pattern data 118.
[0016] The client device 104 may be a mobile phone, a smartphone, a smart watch, a laptop, a tablet computer, or any other electronic device capable of communicating over the network 106. In general, the client device 104 represents one or more programmable electronic devices, or a combination of programmable electronic devices, capable of executing machine-readable program instructions and communicating with other computing devices (not shown) in a distributed data processing environment over a network, such as the network 106. In one embodiment, the client computing device 104 represents one or more devices associated with a user. The client device 104 includes a user interface 120, where the user interface 120 allows a user of the client device 104 to interact with the sensor event coverage program 108 on the server computer 102.
[0017] The sensor event coverage program 108 utilizes the engagement profiles 112 for the multiple sensors designated as sensors 124A, 124B, and 124N in the sensor network 122 to determine when to activate and deactivate a particular sensor in the sensor network 122 to provide event coverage. In this embodiment, one or more of the multiple engagement profiles 112 are associated with a sensor (e.g., sensor 124A) of the multiple sensors. Note that sensor 124A represents the first sensor in the sensor network 122, sensor 124B represents the second sensor, and sensor 124N represents the last sensor, where sensor 124N may represent, for example, the 20th sensor or the 45th sensor in the sensor network 122. Event coverage refers to when the sensor event coverage program 108 activates one or more sensors in the sensor network 122 to capture and transmit data during the occurrence of an event. The sensor event coverage program 108 establishes an engagement profile 112 using the known locations and determined event coverage areas for the sensors 124A, 124B, and 124N.
[0018] The sensor event coverage program 108 determines a base engagement profile 112 for the sensors 124A, 124B, and 124N in the sensor network 122, where the sensor event coverage program 108 utilizes a time-based activation schedule and / or user-defined activation preferences for the sensors 124A, 124B, and 124N. The sensor event coverage program 108 receives device sensor data 114 from each sensor in the sensor network 122 (e.g., sensor 124B), where the device sensor data 114 indicates, for each sensor 124A, 124B, and 124N, a time of data captured, a reason for the data captured, one or more data types captured, and one or more data types transmitted. The sensor event coverage program 108 identifies anomalies in the received device sensor data 114 and identifies movement patterns based on the identified anomalies. The sensor event coverage program 108 then stores the device sensor data 114, stores the identified anomalies as anomaly data 116, and stores the identified movement patterns as movement pattern data 118. The sensor event coverage program 108 updates the base engagement profile 112 for the sensor network 122 based on the received device sensor data 114, anomaly data 116, and movement pattern data 118 through iterations of the machine learning process.
[0019] The sensor event coverage program 108 determines whether to initialize the engagement profile 112 for the sensors 124A, 124B, and 124N in the sensor network 122. In response to the sensor event coverage program 108 determining to initialize the engagement profile 112, the sensor event coverage program 108 activates each sensor in the sensor network 122 based on the engagement profile 112. In response to the sensor event coverage program 108 determining not to initialize the sensor event coverage program 108, the sensor event coverage program 108 returns to receiving additional device sensor data 114 and performs another iteration of the machine learning process to further update the engagement profile 112. As the sensor event coverage program 108 activates and deactivates each sensor in the sensor network 122, the sensor event coverage program 108 updates the engagement profile 112 for the sensor network 122 based on the received device sensor data 114.
[0020] The database 110 is a repository of data utilized by the sensor event coverage program 108, such as engagement profiles 112, device sensor data 114, anomaly data 116, and movement pattern data 118. In the embodiment shown, the database 110 resides on the server computer 102. In another embodiment, the database 110 may reside on the client device 104 or elsewhere in the distributed data processing environment, provided that the sensor event coverage program 108 has access to the database 110. The database 110 may be implemented using any type of storage device capable of storing data and configuration files that can be accessed and utilized by the generated design program 108, such as a database server, hard disk drive, or flash memory.
[0021] The engagement profile 112 for the sensors 124A, 124B, and 124N provides instructions for activating and deactivating the sensors 124A, 124B, and 124N, where an activation of a sensor indicates that the sensor is capturing and transmitting data, and a deactivation of a sensor indicates that the sensor is in a low power consumption state (e.g., sleep mode). The device sensor data 114 includes information for each sensor 124A, 124B, and 124N, such as the time of the captured data, the reason for the captured data, the data type(s) captured, and the data type(s) transmitted. The anomaly data 116 includes data captured by a particular sensor (e.g., sensor 124A) in the sensor network 122 that the sensor event coverage program 108 has identified as being irregular compared to data captured by other sensors (e.g., sensors 124B and 124N) in the sensor network 122. The movement pattern data 118 includes movement patterns or changes across the sensor network 122 identified by the sensor event coverage program 108 based on the device sensor data 114 and the anomaly data 116 .
[0022] In general, the network 106 may be any combination of connections and protocols supporting communication between the server computer 102, the client devices 104, and the sensor network 122. The network 106 may 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 foregoing, and may further include wired, wireless, and / or fiber optic connections. In one embodiment, the sensor event coverage program 108 may be a web service accessible to users of the client devices 104 via the network 106. In another embodiment, the sensor event coverage program 108 may be operated directly by a user of the server computer 102. The sensor network 122 may be any combination of connections and protocols supporting communication between the sensors 124A, 124B, and 124N and the network 106. The sensor network 122 may 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 above, and may further include wired, wireless, and / or fiber optic connections independent of the network 106.
[0023] FIG. 2 is a flow chart illustrating the operational steps of a sensor event coverage program on a server computer in the distributed data processing environment of FIG. 1 to provide sensor network event coverage, in accordance with an embodiment of the present invention.
[0024] For the training phase, each sensor in the sensor network continuously captures sensor data, and based on the analysis of the captured sensor data, the sensor event coverage program identifies anomalies in the captured sensor data. Each sensor in the sensor network includes a unique identification marker, and respective authentication information for each captured sensor data is stored in a database. When a server computer having the sensor event coverage program receives sensor data from each sensor in the sensor network, the unique identification marker for each sensor is included to associate the specific sensor with the captured sensor data. The sensor event coverage program may identify a movement pattern based on the identified anomalies. The sensor data value matrix for different time points (n) is fed to a neural network model of the sensor event coverage program. In one embodiment, the values may be normalized to "0" and "1", representing inactive and active sensors, respectively. An inactive sensor may represent a sensor that is not acquiring data at a particular time point (n), and an active sensor may represent a sensor that is acquiring data at a particular time point (n). In another embodiment, the values in the sensor data value matrix may include a sensor measurement value (e.g., 25° C.) for a particular sensor. In yet another embodiment, the values in the sensor data value matrix may indicate whether a particular sensor is operating in a normal state or in an anomaly detected state. A visual representation of an example sensor data value matrix is described in further detail with respect to FIGS. 3A-3C.
[0025] The sensor event coverage program may deploy dimensionality reduction by reducing redundant features, making classification easier, and feed the input features to the neural network model. Dimensionality reduction unsupervised learning methods (e.g., Monte Carlo methods) may allow features to be reduced or removed over time, or in this example, to reduce dependency on one or more of the sensor measurements. Dimensionality reduction unsupervised learning methods achieve higher accuracy and facilitate 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 the weights are adjusted as the neural network trains at each iteration (i.e., time (n+2), time (n+3), ...). The sensor event coverage program compares the current time snippet for the active sensor set to determine when the neural network is sufficiently trained to provide what the expected active sensor set should be.
[0026] For the operational phase, when the sensor network is not collecting data (i.e., no events are occurring), the neural network has no data to infer patterns, and layered on top of the predictive framework is a scouting mode. The scouting mode activates a minimum set of sensors in the sensor network to collect data, where the minimum set of sensors represents a subset of the sensors in the sensor network. The subset of sensors in the sensor network can be selected based on user-defined designated scout sensors, the most active sensors, sensors that are anomalous detection points, and randomly. During the operational mode, scout data signals an event, and time(n) data exists 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), an inner layer with trained weights calculates output values, and the neural network of the sensor event coverage program outputs a time(n+1) sensor activation set. The sensor event coverage program utilizes the sensor activation set to appropriately send wake-up signals to activate the sensors and send sleep signals to deactivate the sensors.
[0027] The sensor event coverage program 108 determines (202) a base engagement profile for the sensor network. In this embodiment, the sensor event coverage program 108 determines the base engagement profile for the sensor network by identifying whether any sensors in the sensor network utilize a time-based activation schedule and / or user-defined activation preferences. In one example of a time-based activation schedule, the sensor event coverage program 108 identifies that sensors in the sensor network may activate and deactivate based on set time intervals (e.g., every 20 minutes), where the sensors activate and acquire data at a first time interval and then deactivate until a second time interval is reached. In another example of a time-based activation schedule, the sensor event coverage program 108 identifies that sensors in the sensor network may activate and deactivate over certain times of the day (e.g., work hours), where the sensors are active from 8:00 a.m. to 6:00 p.m. and inactive all other times. In one example of user-defined activation preferences, the sensor event coverage program 108 identifies that a user has grouped a subset of sensors in a sensor network, where activating a sensor in the subset results in activation of the remaining sensors in the subset, and deactivating a sensor in the subset results in deactivation of the remaining sensors in the subset. In another example of user-defined activation preferences, the sensor event coverage program 108 identifies that a user has specified that a sensor should remain activated for measurements in a given range (e.g., X>15°C), where the sensor may be deactivated if the measurement for the sensor is no longer in the given range (e.g., X≦15°C).The sensor event coverage program 108 utilizes the identified time-based activation schedule and user-defined activation preferences to determine a base engagement profile for each sensor in the sensor profile to provide event coverage.
[0028] The sensor event coverage program 108 receives data from each sensor in the sensor network (204). Each sensor in the sensor network includes a unique identification marker to identify the sensor type and known location, where the unique identification marker and respective authentication information for device sensor data captured by each sensor are stored in a database. The device sensor data may include a taken measurement (e.g., temperature, humidity, sound), an indication of activation (i.e., activated or deactivated), an operating state (i.e., normal state, abnormal state, error state), a timestamp of the taken measurement, and a location of the taken measurement. The sensor event coverage program 108 receives the device sensor data for a time (n) in the form of a data value matrix, where each value in the data value matrix is represented by a taken measurement of a single sensor in the sensor network. The sensor event coverage program 108 receives 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. The sensor event coverage program 108 may create a visual overlay on a map using the locations for the measurements taken, where the sensor event coverage program 108 may display an overlay on a map with the locations of the sensors on a client device associated with a user. A user may select one or more sensors in the sensor network to exclude from subsequent base engagement profile updates, which will be described in more detail with respect to (212).
[0029] The sensor event coverage program 108 identifies anomalies in the received data (206). In this embodiment, the sensor event coverage program 108 identifies anomalies for one or more sensors in the sensor network by comparing received device sensor data for a single sensor in the sensor network with the remaining sensors in the sensor network for time (n). An anomaly that the sensor event coverage program 108 identifies in the received device sensor data for a sensor in the sensor network indicates that the sensor was active and was acquiring data during an event for time (n). The event represents an occurrence in the vicinity of the sensor (i.e., the event coverage area) that requires activation of the sensor to acquire data and / or perform an action. In one example, multiple camera devices are located at a retail location, where each camera device in the multiple camera devices includes a motion sensor for activating the respective camera. The sensor event coverage program 108 identifies an anomaly in the multiple camera devices that indicates that 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, the sensor event coverage program 108 identifies an anomaly in the multiple camera devices indicating that at time (n+1), the first camera device becomes active while the second camera device remains inactive, along with the third camera device. The sensor event coverage program 108 identifies and follows the anomalies identified for the multiple cameras at the retail location at multiple points in time (i.e., time (n+1), time (n+2), time (n+3)...).
[0030] In another example, multiple temperature sensors are located on agricultural land, where each temperature from the multiple temperature sensors obtains a temperature reading at time (n) and a temperature threshold (e.g., x>25°C), and activates a portion of an irrigation system in a vicinity of the temperature sensor. Activating the portion of the irrigation system may include opening an electronically controlled water valve to ensure that soil in the portion of agricultural land in a vicinity of the temperature sensor having a reading above the temperature threshold maintains a certain moisture level. The sensor event coverage program 108 identifies an anomaly in the plurality of temperature sensor data indicating that 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, the sensor event coverage program 108 identifies an anomaly in the plurality of temperature sensor data indicating that the first, second, and third temperature sensors registered first, second, and third readings above the temperature threshold at time (n+1). The sensor event coverage program 108 identifies and follows identified anomalies for multiple temperature sensors located in the field at multiple time points (i.e., time(n+1), time(n+2), time(n+3),...).
[0031] The sensor event coverage program 108 identifies (208) a movement pattern based on the identified anomaly. The sensor event coverage program 108 identifies a movement pattern based on a comparison of the identified anomaly for the received device sensor data at time (n) to any previously identified anomalies for the received device sensors at time (n-1), time (n-2), etc. For purposes of explanation, the movement pattern represents a case of activation of a subset of sensors in a sensor network, where the subset of active sensors from the sensor network may change at different times (e.g., time (n-1) vs. time (n) vs. time (n+1)). In an example where multiple camera devices are located at a retail location, the sensor event coverage program 108 identifies an anomaly in the multiple camera devices indicating that a first camera device activates in conjunction with a second camera device at time (n). The sensor event coverage program 108 also previously identified anomalies in the multiple camera devices indicating that the first camera device activates in conjunction with the third camera device at time (n-1) and the first camera device activates in conjunction with the fourth camera device at time (n-2). The sensor event coverage program 108 compares 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. The sensor event coverage program 108 utilizes the known locations for each of the camera devices having motion sensors in the sensor network to determine when and how each of the motion sensors in the sensor network activates and deactivates relative to one another.
[0032] In another example where multiple temperature sensors are located on agricultural land, the sensor event coverage program 108 has identified an anomaly in the multiple temperature sensors indicating that a first temperature sensor registered a first reading above a temperature threshold at time (n). The sensor event coverage program 108 has also previously identified anomalies in the multiple temperature sensors indicating that a second temperature sensor registered a second reading above a temperature threshold at time (n-1), a third temperature sensor registered a third reading above a temperature threshold at time (n-2), and a fourth temperature sensor registered a fourth reading above a temperature threshold at time (n-3). The sensor event coverage program 108 compares the identified anomaly at time (n) to 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. The sensor event coverage program 108 utilizes the 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 activates and deactivates relative to one another.
[0033] The sensor event coverage program 108 stores (210) the received data, the identified anomalies, and the identified movement patterns. Utilizing a unique identification marker and associated timestamp for each sensor in the sensor network, the sensor event coverage program 108 stores the received sensor data, anomaly data, and 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 the machine learning process and updating the base engagement profile for the sensor network established in (202). The cases before storing the combined data for the sensor network at time (n-1) and after storing the combined data for the sensor network at time (n+1) each represent another iteration of compiling data for the machine learning process and continuously updating the base engagement profile for the sensor network established in (202).
[0034] The sensor event coverage program 108 updates a base engagement profile for the sensor network (212). The sensor event coverage program 108 updates the base engagement profile for the sensor network based on the received sensor data, anomaly data, and movement pattern data for each sensor in the sensor network. As previously described, the engagement profile provides instructions for activation and deactivation of each sensor in the sensor network to provide event coverage at a particular point in time, where activation of a sensor indicates that the sensor is capturing and transmitting data, and deactivation of a sensor indicates that the sensor is in a low power consumption state (e.g., sleep mode). In one example, the sensor event coverage program 108 previously determined the base engagement profile based on a time-based activation schedule in which motion sensors associated with camera devices in the sensor network are activated and deactivated over specific times of the day, where the motion sensors are active during the time period between 8:00 a.m. and 6:00 p.m. and inactive during all other times. However, based on multiple iterations of the machine learning process, the sensor event coverage program 108 identified movement patterns for the motion sensors in the sensor network that indicate that only a portion of the motion sensors in the sensor network were actively acquiring data at specific points in time during a particular time period of the day (e.g., time(n-1), time(n), time(n+1)). The sensor event coverage program 108 updates the base engagement profile by combining a time-based activation schedule with the identified movement patterns for the sensors in the sensor network. As a result, only a portion of the motion sensors in the sensor network are active at specific points in time during the time period of 8:00 a.m. to 6:00 p.m.Note that the sensor event coverage program 108 also identifies which portion of the motion sensors are active at a particular time, where a first portion of the motion sensors in the sensor network are active at time (n-1) and a second portion of the motion sensors in the sensor network are active at time (n). One or more sensors in the first portion of the motion sensors may be the same as one or more sensors in the second portion of the motion sensors.
[0035] In another example, the sensor event coverage program 108 previously determined a base engagement profile based on both a time-based activation schedule and user-defined activation preferences for activating temperature sensors in the sensor network. The sensor event coverage program 108 previously determined that the time-based activation schedule requires that each temperature sensor in the temperature sensor network be activated to obtain a temperature measurement every 30 minutes. The sensor event coverage program 108 previously determined that the user-defined activation preferences include activating a subset of the temperature sensors in the sensor network when a temperature measurement from a particular temperature sensor in the subset is within a given range (e.g., X>15°C) and deactivating a subset of the temperature sensors in the sensor network when a temperature measurement from a particular temperature sensor in the subset is outside of the given range (e.g., X≦15°C). Based on multiple iterations of the machine learning process, the sensor event coverage program 108 identified movement patterns for the temperature sensors in the sensor network indicating that the temperature sensors in the sensor network were only acquiring data during daytime hours when the ambient temperature was in a given range. Additionally, the sensor event coverage program 108 identified movement patterns for the temperature sensors in the sensor network indicating that only some of the subset of the temperature sensors were acquiring data in the given range and that some of the remaining subset of the temperature sensors were acquiring data outside of the given range. The sensor event coverage program 108 updates a base engagement profile for the sensor network based on the identified movement patterns to further reduce when the temperature sensors are active to acquire data (i.e., the daytime hours) and further reduce the subset of temperature sensors to the identified portion of the subset of temperature sensors that are activated to acquire temperature measurement data.
[0036] The sensor event coverage program 108 determines whether to initialize an engagement profile for the sensor network (decision 214). In one embodiment, the sensor event coverage program 108 utilizes a total number of iterations for the machine learning process (e.g., 100 iterations) to determine whether sufficient device sensor data has been received at various times to establish an engagement profile for the sensors in the sensor network. In another embodiment, the sensor event coverage program 108 utilizes a stabilization number of iterations for the machine learning process (e.g., 10 iterations), where the stabilization number of iterations represents the amount of data collected at various times without updating the engagement profile. In the event that the sensor event coverage program 108 determines to initialize an engagement profile for the sensor network (the "Yes" branch of decision 214), the sensor event coverage program 108 activates each sensor in the sensor network based on the engagement profile (216). In the event that the sensor event coverage program 108 decides not to initialize the engagement profile for the sensor network (the "No" branch of decision 214), the sensor event coverage program 108 performs another iteration of the machine learning process and returns to receiving additional data at time (n+1) from each sensor in the sensor network to further update the engagement profile for the sensor network with the adjustments.
[0037] The sensor event coverage program 108 activates (216) each sensor in the sensor network based on the engagement profile. For each time point, the sensor event coverage program 108 activates each sensor in the sensor network based on the engagement profile and deactivates any sensors based on the engagement profile as well. The engagement profile is over a variety of time periods and depends on the intended use of the sensor network. In one example, the sensor event coverage program 108 activates and deactivates motion sensors associated with camera devices at retail locations according to an engagement profile created over a seven-day period, where after seven days, the engagement profile rolls over for another seven-day period in succession. In another example, the sensor event coverage program 108 activates and deactivates temperature sensors in agricultural fields according to an engagement profile created for all days of the year, as seasons and solar patterns change daily and affect the activation of temperature sensors in agricultural fields.
[0038] The sensor event coverage program 108 updates (218) the engagement profile for the sensor network. In one example, the sensor event coverage program 108 activates and deactivates motion sensors associated with camera devices at the retail location according to the engagement profile created over a seven-day period, where after seven days, the engagement profile continuously rolls over for another seven days. As the sensor event coverage program 108 utilizes the engagement profile for the motion sensors, the sensor event coverage program 108 may continuously receive device sensor data from each active sensor, identify additional anomalies and movement patterns, and further update the engagement profile. This continuous machine learning process allows the sensor event coverage program 108 to update the engagement profile for different times of the year, where different times of the year may affect how sensors in the sensor network activate and deactivate to provide the required event coverage while maintaining energy conservation. In another example, the sensor event coverage program 108 activates and deactivates temperature sensors in the field according to an engagement profile created for all days of the year, as seasons and solar patterns change daily and affect the activation of temperature sensors in the field. When the sensor event coverage program 108 utilizes an engagement profile for temperature sensors, the sensor event coverage program 108 may continuously receive device sensor data from each active sensor, identify additional anomalies and movement patterns, and further update the engagement profile. This continuous machine learning process allows the sensor event coverage program 108 to update the engagement profile for any newly introduced variables in the environment (i.e., the field) that may affect the data acquired by the temperature sensors (e.g., structures affecting solar patterns).
[0039] FIG. 3A illustrates an example of an active engagement pattern at time (n) for sensor network event coverage by a sensor event coverage program according to an embodiment of the present invention. In this embodiment, the sensor event coverage program 108 activates 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 the temperature measurement for the temperature sensor is equal to or greater than a threshold (e.g., X≧25° C.), the electronically controlled water valve associated with the temperature sensor opens to ensure that the soil in the portion of the farmland around the temperature sensor having a temperature measurement above the threshold maintains a certain moisture level. If the temperature measurement for the temperature sensor is below the threshold (e.g., X<25° C.), the electronically controlled water valve associated with the temperature sensor closes. To ensure that the temperature sensors in the sensor network do not continuously consume power by acquiring data, the sensor event coverage program 108 utilizes the engagement profile to activate and deactivate the temperature sensors in the sensor network for the data value matrix 302. In this example, activated temperature sensors are represented by a "1" and inactive temperature sensors are represented by a "0." Through multiple iterations of the machine learning process, the sensor event coverage program 108 has established an engagement profile 304 at time(n), an engagement profile 306 at time(n+1), and an engagement profile 308 at time(n+2).
[0040] The sensor event coverage program 108 has previously identified anomalies and movement patterns for temperature sensors in the sensor network. In this example, engagement profiles 304, 306, and 308 each represent a movement pattern for the sensor network, and data value matrix 302 represents a farm field, where each movement pattern is associated with a sun pattern on the farm field. At time (n) (e.g., 8:00 a.m. on June 1), the edge of the sun pattern on the farm field is represented by engagement profile 304, where temperature sensors located inside the edge of the sun pattern represented by engagement profile 304 are active, and temperature sensors located outside the edge of the sun pattern represented by engagement profile 304 are inactive. The sensor event coverage program 108 has previously determined that a movement pattern is associated with a sun pattern, where a temperature sensor exposed to sunlight (directly or indirectly) experiences a sudden increase in temperature readings. As a result, when covered by a sun pattern and exposed to sunlight, the temperature may rapidly (e.g., 5 minutes) exceed the threshold (e.g., X<25° C.). For temperature sensors 310 located at the edge of the engagement profile 304, the sensor event coverage program 108 allows for an initialization and calibration period (e.g., 30 seconds) for the temperature sensor 310 and instructs the temperature sensor 310 to activate before exposure to sunlight under a sun pattern.
[0041] 3B illustrates an example of an active engagement pattern at time (n+50) for sensor network event coverage by a sensor event coverage program, according to an embodiment of the present invention. At time (n+50) (e.g., June 1, 12:00 p.m.), the edge of a sun pattern on farmland is represented by engagement profile 306, where temperature sensors located inside the edge of the sun pattern represented by engagement profile 306 are active and temperature sensors located outside the edge of the sun pattern represented by engagement profile 306 are inactive. Although not shown in FIG. 3B, for example, there may be multiple engagement profiles between time (n) and time (n+50), where multiple engagement profiles provide a transition from engagement profile 304 to engagement profile 306.
[0042] FIG. 3C illustrates an example of an active engagement pattern at time (n+100) for sensor network event coverage by a sensor event coverage program for different seasons according to an embodiment of the present invention. At time (n+100) (e.g., June 1 at 4 p.m.), the edge of a sun pattern on farmland is represented by engagement profile 308, where temperature sensors located inside the edge of the sun pattern represented by engagement profile 308 are active and temperature sensors located outside the edge of the sun pattern represented by engagement profile 308 are inactive. Note that some of the temperature sensors in the sensor network shown as active by engagement profiles 304 and 306 are no longer shown as active by engagement profile 308. Although not shown in FIG. 3C, there may be multiple engagement profiles between time (n+50) and time (n+100), for example, where multiple engagement profiles provide a transition from engagement profile 306 to engagement profile 308.
[0043] FIG. 4 illustrates an example of active engagement patterns at time (n) for sensor network event coverage by a sensor event coverage program, according to an embodiment of the present invention. During different times of the year when the sun patterns are different compared to the sun patterns in FIGS. 3A-3C, the sensor event coverage program 108 utilizes engagement profiles to activate and deactivate temperature sensors in the sensor network for the data value matrix 302 from FIGS. 3A-3C. Activated temperature sensors are represented by "1" and inactive temperature sensors are represented by "0". Through multiple iterations of the machine learning process, the sensor event coverage program 108 establishes an engagement profile 402 for time (n), an engagement profile 404 for time (n+1), and an engagement profile 406 for time (n+2) for different times of the year. The sensor event coverage program 108 has previously identified anomalies and movement patterns for temperature sensors in the sensor network. In this example, engagement profiles 402, 404, and 406 each represent a movement pattern for the sensor network and data value matrix 302 represents a field, where each movement pattern is associated with a sun pattern over the field.
[0044] At time (n) (e.g., 8:00 a.m. on October 1), the edge of the sun pattern on the farm is represented by engagement profile 402, where temperature sensors located inside the edge of the sun pattern represented by engagement profile 402 are active and temperature sensors located outside the edge of the sun pattern represented by engagement profile 402 are inactive. At time (n+50) (e.g., 12:00 p.m. on October 1), the edge of the sun pattern on the farm is represented by engagement profile 404, where temperature sensors located inside the edge of the sun pattern represented by engagement profile 404 are active and temperature sensors located outside the edge of the sun pattern represented by engagement profile 404 are inactive. At time (n+100) (e.g., October 1 at 4:00 PM), the edge of the sun pattern over the farmland is represented by engagement profile 406, where temperature sensors located inside the edge of the sun pattern represented by engagement profile 406 are active and temperature sensors located outside the edge of the sun pattern represented by engagement profile 406 are inactive. The sensor event coverage program 108 through iterative machine learning has the ability to identify and appropriately establish movement patterns with respect to time for each temperature sensor in sensor network engagement profiles 304, 306, 308, 402, 404 and 406.
[0045] 5 illustrates a computer system, where the server computer 102 is an example of a computer system that may include the sensor event coverage program 108. The computer system includes a processor 504, a cache 516, a memory 506, a persistent storage 508, a communication unit 510, an input / output (I / O) interface 512, and a communication fabric 502. The communication fabric 502 provides communication between the cache 516, the memory 506, the persistent storage 508, the communication unit 510, and the input / output (I / O) interface 512. The communication fabric 502 may be implemented with any architecture designed to pass data and / or control information between a processor (such as a microprocessor, communication and network processor, etc.), system memory, peripherals, and any other hardware components in the system. For example, the communication fabric 502 may be implemented using one or more buses or crossbar switches.
[0046] Memory 506 and persistent storage 508 are computer-readable storage media. In this embodiment, memory 506 includes random access memory (RAM). In general, memory 506 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 516 is a high-speed memory that enhances the performance of processor 504 by holding recently and nearly recently accessed data from memory 506.
[0047] Program instructions and data used to implement embodiments of the present invention may be stored in persistent storage 508 and memory 506 for execution by one or more of the respective processors 504 via cache 516. In an embodiment, persistent storage 508 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 508 may include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0048] The media used by persistent storage 508 may be removable. For example, a removable hard drive may be used for persistent storage 508. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 508.
[0049] Communications unit 510, in these examples, provides for communication with other data processing systems or devices. In these examples, communications unit 510 includes one or more network interface cards. Communications unit 510 may communicate using 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 storage 508 through communications unit 510.
[0050] The I / O interface 512 allows for the input and output of data to and from other devices that may be connected to each computer system. For example, the I / O interface 512 may provide a connection to external devices 518, such as a keyboard, a keypad, a touch screen, and / or any other suitable input device. The external devices 518 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention may be stored on such portable computer-readable storage media and loaded into the persistent storage 508 via the I / O interface 512. The I / O interface 512 also connects to a display 520.
[0051] Display 520 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0052] Although this disclosure includes a detailed description of cloud computing, it should be understood that practice of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0053] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0054] The characteristics are as follows:
[0055] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without requiring human interaction with the service provider.
[0056] Broad network access: Capabilities are available over the network and are accessed through standard mechanisms that facilitate use by a heterogeneous mix of thin- and thick-client platforms (eg, cell phones, laptops, and PDAs).
[0057] Resource Pooling: Provider computing resources are pooled to serve multiple consumers using a multi-tenant model, with various physical and virtual resources dynamically allocated and reallocated according to demand. There is location independence in that consumers generally have no control or knowledge over the exact location of the provided resources, but it may be possible to specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0058] Rapid Scalability: Capacity can be provisioned quickly and elastically, sometimes automatically, and can be instantly scaled out or quickly released and instantly scaled in. To the consumer, the capacity available for provisioning often appears unlimited, and can be purchased in any amount at any point in time.
[0059] Measurable Services: Cloud systems automatically control and optimize resource utilization by leveraging metering capabilities appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts) at a certain level of abstraction. Resource usage can be monitored, controlled, and reported, thereby providing transparency to both providers and consumers of the services being utilized.
[0060] The service model is as follows:
[0061] Software as a Service (SaaS): The ability offered to the consumer is to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0062] Platform as a Service (PaaS): The capability offered to a consumer is to deploy consumer-created or acquired applications, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and, potentially, the application hosting environment configuration.
[0063] Infrastructure as a Service (IaaS): The ability provided to a consumer is to provision processing, storage, network, and other basic computing resources, and the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating systems, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0064] The deployment model is as follows:
[0065] Private Cloud: Cloud infrastructure is operated solely for one organization. A private cloud may be managed by that organization or a third party and may exist on-premise or off-premise.
[0066] Community Cloud: Cloud infrastructure is shared among several organizations to support a particular community with common concerns (e.g., mission, security requirements, policies, and regulatory compliance considerations). Community clouds may be managed by those organizations or by a third party and may exist on-premise or off-premise.
[0067] Public Cloud: The cloud infrastructure is made available to the general public or a large industry entity and is owned by an organization that sells cloud services.
[0068] Hybrid Cloud: A cloud infrastructure that combines two or more clouds (private, community, or public) where each cloud remains a distinct entity, but is bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting to load balance between clouds).
[0069] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0070] 6, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers can communicate, such as, for example, a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, and / or an automobile computer system 54N. The nodes 10 may communicate with each other. The nodes 10 may be physically or virtually grouped in one or more networks (not shown), such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or combinations thereof, as described herein above. This allows the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service without the cloud consumer having to maintain resources on the local computing device. It will be understood that the types of computing devices 54A-54N shown in FIG. 6 are intended to be illustrative only, and that computing node 10 and cloud computing environment 50 may communicate with any type of computerized device (e.g., using a web browser) over any type of network and / or network-addressable connection.
[0071]
[0043] Referring now to Figure 7, there is shown a set of functional abstraction layers provided by cloud computing environment 50 (Figure 6). It should be understood in advance that the components, layers, and functions shown in Figure 7 are intended to be merely illustrative, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0072] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61; RISC (reduced instruction set computer) architecture based servers 62; servers 63; blade servers 64; storage devices 65; and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0073] The virtualization layer 70 provides an abstraction layer within which examples of virtual entities may be provided: virtual servers 71 , virtual storage 72 , virtual networks including virtual private networks 73 , virtual applications and operating systems 74 , and virtual clients 75 .
[0074] In one example, management layer 80 may provide the functionality described below: Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides cloud computing resource allocation and management so that required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides advance provisioning and procurement of cloud computing resources where future requirements are anticipated according to SLAs.
[0075] The workload tier 90 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this tier include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and sensor event coverage programs 108.
[0076] The programs described herein are identified based on the applications for which they are implemented in particular embodiments of the invention. However, it should be understood that any particular program names herein are used merely for convenience, and thus the invention should not be limited to use in only any particular application identified and / or suggested by such names.
[0077] The present invention may be a system, a method, and / or a computer program product. The computer program product may include a computer readable storage medium having computer readable program instructions for causing a processor to carry out aspects of the present invention.
[0078] A computer-readable storage medium may be any tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), static random access memories (SRAM), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves with instructions recorded on them, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be interpreted as being a transitory signal per se, such as electric waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0079] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium into each computing / processing device, or may be downloaded to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computing / processing device for storage.
[0080] The computer readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object oriented programming languages such as Smalltalk, C++, or the like, conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or the connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions to personalize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the invention.
[0081] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0082] These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the block and / or blocks of the flowcharts or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having stored thereon instructions comprises an article of manufacture including instructions that implement aspects of the functions / acts specified in the block and / or blocks of the flowcharts or block diagrams.
[0083] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device and cause the computer, other programmable apparatus, or other device to execute a series of operational steps to create a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / operations specified in the block and / or blocks of the flowchart or block diagram.
[0084] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or part of an instruction, having one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions described in the blocks may occur out of the order described in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may be executed in the reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or acts or executes a combination of special-purpose hardware and computer instructions.
[0085] The description of various embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will become apparent to those skilled in the art without departing from the scope of the present invention. The terms used in this specification have been selected to best explain the principles of the embodiments, practical applications, or technical improvements over the technology found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. receiving, by one or more processors, device sensor data for a plurality of sensors in the sensor network; identifying, by one or more processors, one or more anomalies in the device sensor data indicating that one or more sensors of the plurality of sensors were acquiring data during an event for a particular point in time; identifying, by one or more processors, a movement pattern for the plurality of sensors based on the one or more anomalies; and activating, by one or more processors, a first sensor of the plurality of sensors based on the updated base engagement profile in response to updating a base engagement profile for the plurality of sensors based on the one or more anomalies and the movement pattern. A method for providing the above.
2. 10. The method of claim 1, further comprising: determining, by one or more processors, the base engagement profile for the plurality of sensors based on a time-based activation schedule and user-defined activation preferences for each sensor of the plurality of sensors.
3. determining, by one or more processors, whether to initialize an updated engagement profile for the sensor network using a total number of iterations for a machine learning process to determine whether sufficient device sensor data has been received at various times for the plurality of sensors; and initializing, by one or more processors, an updated engagement profile for the plurality of sensors in the sensor network in response to determining that the total number of iterations has been reached. The method of claim 2 further comprising:
4. determining, by one or more processors, whether to initialize an updated engagement profile for the sensor network using a stabilization iteration number for a machine learning process, the stabilization iteration number representing a number of instances where the device sensor data was received without additional updates to the updated base engagement profile; and initializing, by one or more processors, an updated engagement profile for the plurality of sensors in the sensor network in response to determining that the stabilization number of iterations has been reached. The method of claim 2 or 3, further comprising:
5. 5. The method of claim 2, wherein the device sensor data for the plurality of sensors in the sensor network includes data selected from the group consisting of acquired sensor measurements, an indication of activation, an operational state, a timestamp for the acquired sensor measurements, and a location for the acquired sensor measurements.
6. The method of claim 5 , wherein the movement pattern represents instances of activation of the one or more sensors of the plurality of sensors.
7. 7. The method of claim 2, further comprising displaying, by one or more processors, a data matrix of the plurality of sensors representing an event coverage area, wherein a first one of the updated base engagement profiles is overlaid on the data matrix and includes the first sensor of the plurality of sensors.
8. 1. A computer program comprising program instructions stored on at least one of one or more computer readable storage media, the program instructions, when executed by a processor, program instructions that cause the processor to receive device sensor data for a plurality of sensors in a sensor network; program instructions that cause the processor to identify one or more anomalies in the device sensor data; program instructions that cause the processor to identify a movement pattern for the plurality of sensors based on the one or more anomalies; and and program instructions for causing the processor to, in response to updating a base engagement profile for the plurality of sensors based on the one or more anomalies and the movement pattern, activate a first sensor of the plurality of sensors based on the updated base engagement profile. A computer program comprising:
9. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by the processor, causing the processor to: determining the base engagement profile for the plurality of sensors based on a time-based activation schedule for each sensor of the plurality of sensors and user-defined activation preferences; 9. A computer program product as claimed in claim 8, which causes the computer program product to:
10. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by the processor, causing the processor to: determining whether to initialize an updated engagement profile for the sensor network using a total number of iterations for a machine learning process to determine whether sufficient device sensor data has been received at various times for the plurality of sensors; and in response to determining that the total number of iterations has been reached, initializing an updated engagement profile for the plurality of sensors in the sensor network.
10. A computer program product as claimed in claim 9, which causes the computer program product to:
11. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by the processor, causing the processor to: determining whether to initialize an updated engagement profile for the sensor network utilizing a stabilization iteration number for a machine learning process, the stabilization iteration number representing a number of instances where the device sensor data was received without additional updates to the updated base engagement profile; and in response to determining that the stabilization number of iterations has been reached, initializing an updated engagement profile for the plurality of sensors in the sensor network.
11. A computer program as claimed in claim 9 or 10, which causes the computer program to carry out the steps of:
12. 12. The computer program product of claim 9, wherein the device sensor data for the plurality of sensors in the sensor network includes data selected from the group consisting of: acquired sensor measurements, an indication of activation, an operational state, a timestamp for the acquired sensor measurements, and a location for the acquired sensor measurements.
13. The computer program product of claim 12 , wherein the movement pattern represents instances of activation of the one or more sensors of the plurality of sensors.
14. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by a processor, causing the processor to: displaying a data matrix of the plurality of sensors representing an event coverage area, wherein a first engagement profile of the updated base engagement profiles is overlaid on the data matrix and includes the first sensor of the plurality of sensors; 14. A computer program as claimed in any one of claims 9 to 13, adapted to perform the following:
15. one or more computer processors; One or more computer-readable storage media; and program instructions stored on said one or more computer readable storage media for execution by at least one of said one or more computer processors; wherein the program instructions include: program instructions for receiving device sensor data for a plurality of sensors in a sensor network; program instructions for identifying one or more anomalies in the device sensor data; program instructions for identifying a movement pattern for the plurality of sensors based on the one or more anomalies; and program instructions for activating a first sensor of the plurality of sensors based on the updated base engagement profile in response to updating a base engagement profile for the plurality of sensors based on the one or more anomalies and the movement pattern; 2. A computer system comprising:
16. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by a processor, causing the processor to: determining the base engagement profile for the plurality of sensors based on a time-based activation schedule for each sensor of the plurality of sensors and user-defined activation preferences; 16. The computer system of claim 15, further comprising:
17. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by a processor, causing the processor to: determining whether to initialize an updated engagement profile for the sensor network using a total number of iterations for a machine learning process to determine whether sufficient device sensor data has been received at various times for the plurality of sensors; and in response to determining that the total number of iterations has been reached, initializing an updated engagement profile for the plurality of sensors in the sensor network.
17. The computer system of claim 16, further comprising:
18. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by a processor, causing the processor to: determining whether to initialize an updated engagement profile for the sensor network utilizing a stabilization iteration number for a machine learning process, the stabilization iteration number representing a number of instances where the device sensor data was received without additional updates to the updated base engagement profile; and in response to determining that the stabilization number of iterations has been reached, initializing an updated engagement profile for the plurality of sensors in the sensor network.
18. A computer system according to claim 16 or 17, configured to:
19. 19. The computer system of claim 16, wherein the device sensor data for the plurality of sensors in the sensor network includes data selected from the group consisting of acquired sensor measurements, an indication of activation, an operational state, a timestamp for the acquired sensor measurements, and a location for the acquired sensor measurements.
20. and program instructions stored on the one or more computer readable storage media, the program instructions, when executed by a processor, causing the processor to: displaying a data matrix of the plurality of sensors representing an event coverage area, wherein a first engagement profile of the updated base engagement profiles is overlaid on the data matrix and includes the first sensor of the plurality of sensors; 20. A computer system according to any one of claims 16 to 19, adapted to perform the following:
Citation Information
Patent Citations
Service construction device, service construction method, and service construction program
JP2018097671A
Inferring User Sleep Patterns
US20160292584A1
Cognitive adaptations for well-being management
US20180174671A1