Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DISTRIBUTED COLLABORATIVE EVENT DETECTION BY SENSORS
Document Type and Number:
WIPO Patent Application WO/2023/232219
Kind Code:
A1
Abstract:
A corroboration initiation sensor comprising processes sensor data from a sensor element using at least one event detection sensitivity level to detect whether an event has occurred. Responsive to detecting occurrence of an event, a corroboration request is communicated for at least one peer sensor to corroborate whether an event is detected by the peer sensor relative to timing indicated by the corroboration request. An alert action is performed responsive to an alert condition being satisfied based on receiving a corroboration response from at least one of the peer sensors confirming event detection by the other event detection sensor.

Inventors:
DAHLGREN FREDRIK (SE)
BERGKVIST ADAM (SE)
BRACHMANN MARTINA (SE)
HOLMBERG CHRISTER (FI)
RAIZER KLAUS (BR)
Application Number:
PCT/EP2022/064549
Publication Date:
December 07, 2023
Filing Date:
May 30, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
G08B29/18
Domestic Patent References:
WO2019161555A12019-08-29
WO2018044553A12018-03-08
Attorney, Agent or Firm:
ERICSSON (SE)
Download PDF:
Claims:
CLAIMS:

1. A corroboration initiation sensor (100) comprising: a sensor element (530) configured to sense at least one characteristic of an environment and output sensor data; at least one network interface circuit (520) configured to communicate with peer sensors (102); at least one processor (500) connected to the at least one network interface circuit (520) and the sensor element (530); and at least one memory (510) storing sensor data and program code that is executed by the at least one processor (500) to perform operations comprising to: process (200) the sensor data from the sensor element (530) using at least one event detection sensitivity level to detect whether an event has occurred; responsive to detecting (202) occurrence of an event, communicate (204) a corroboration request through the at least one network interface circuit (520) for at least one of the peer sensors to corroborate whether an event is detected by the peer sensor relative to timing of the corroboration request; and responsive to an alert condition being satisfied based on receiving a corroboration response from at least one of the peer sensors confirming event detection by the other event detection sensor, perform an alert action.

2. The corroboration initiation sensor (100) of Claim 1, wherein the operation to perform the alert action comprises: communicate (214) an event detection report through the at least one network interface circuit (520) to a coordinating node (110).

3. The corroboration initiation sensor (100) of any of Claims 1 to 2, wherein the operation to communicate (204) the corroboration request comprises to: include in the corroboration request a timestamp indicating when the event occurred.

4. The corroboration initiation sensor (100) of any of Claims 1 to 3, wherein: the operation to process (200) the sensor data from the sensor element (530) uses a plurality of different event detection sensitivity levels, and tracks which of the event detection sensitivity levels detected an event; and the operation to communicate (204) the corroboration request comprises to include in the corroboration request an indication of a least sensitive one of the plurality of different event detection sensitivity levels that detected the event.

5. The corroboration initiation sensor (100) of Claim 4, wherein the operation to process (200) the sensor data from the sensor element (530) using the plurality of different event detection sensitivity levels, comprises to: store the sensor data in a buffer configured in the at least one memory (510); perform a first cycle of processing the sensor data in the buffer using a first event detection sensitivity level; responsive to the first cycle of processing not detecting an event, perform a second cycle of processing of the sensor data in the buffer using a second event detection sensitivity level, wherein the second event detection sensitivity level is more sensitive than the first event detection sensitivity level.

6. The corroboration initiation sensor (100) of Claim 4, wherein the operation to process (200) the sensor data from the sensor element (530) using the plurality of different event detection sensitivity levels, comprises to: process the sensor data using a first event detection sensitivity level and a second event detection sensitivity level, wherein the second event detection sensitivity level is more sensitive than the first event detection sensitivity level.

7. The corroboration initiation sensor (100) of any of Claims 1 to 6, wherein the operations further comprise to: determine (300) event detection characteristics of the peer sensors; select (302) at least one of the peer sensors to use for event corroboration based on the event detection characteristics; and responsive to detecting occurrence of an event by the corroboration initiation sensor, communicate (304) the corroboration request through the at least one network interface circuit (520) to the selected at least one of the peer sensors.

8. The corroboration initiation sensor (100) of Claim 7, wherein the operation to determine (300) the event detection characteristics of the peer sensors, comprises one of: obtain the event detection characteristics of the peer sensors through communications with a coordinating node (110) which communicates with the peer sensors; and obtain the event detection characteristics of the peer sensors through communications with the peer sensors.

9. The corroboration initiation sensor (100) of any of Claims 1 to 8, wherein the operations further comprise to: determine (400) an event detection characteristic of one of the peer sensors; determine (402) a timeframe to which the corroboration request applies based on the event detection characteristic of the one of the peer sensors; and responsive to detecting occurrence of an event by the corroboration initiation sensor, communicate (404) the corroboration request with an indication of the timeframe to the one of the peer sensors.

10. The corroboration initiation sensor (100) of any of Claims 1 to 9, wherein the operations further comprise to: configure the corroboration request to trigger one of the peer sensors to include in the corroboration response a set of sensor data of the one of the peer sensors for a timeframe defined relative to the timing indicated by the corroboration request.

11. The corroboration initiation sensor (100) of any of Claims 9 to 10, wherein the operation to determine (400) the event detection characteristics of the peer sensors, comprises at least one of: determine the event detection characteristics through communications with a coordinating node (110) which communicates with the peer sensors; and determine the event detection characteristics through communications with the peer sensors.

12. The corroboration initiation sensor (100) of any of Claims 1 to 11, wherein the operations further comprise to: train a machine learning module based on feedback indicating which of the corroboration responses received from a plurality of the peer sensors are correlated to correct instances of event detection and/or correlated to incorrect instances of event detection; and process the corroboration response, from the at least one of the peer sensors confirming event detection by the at least one of the peer sensors, through the machine learning module to determine whether the alert condition is satisfied for responsively communicating the event detection report through the at least one network interface circuit (520) to the coordinating node (110).

13. The corroboration initiation sensor (100) of any of Claims 1 to 12, wherein the corroboration response is received (212) from each of a plurality of the peer sensors confirming event detection by the plurality of the peer sensors, and the operations further comprise to: determine whether the alert condition is satisfied for responsively performing the alert action, based on a priority level of the corroboration initiation sensor and priority levels of the plurality of the peer sensors.

14. The corroboration initiation sensor (100) of any of Claims 1 to 13, wherein the corroboration response is received (212) from each of a plurality of the peer sensors confirming event detection by the plurality of the peer sensors, the corroboration response indicates an event detection sensitivity level used by the peer sensor, and the operations further comprise to: determine whether the alert condition is satisfied for responsively performing the alert action, based on the indicated event detection sensitivity levels used by the plurality of the peer sensors.

15. A peer sensor (102) comprising: a sensor element (530) configured to sense at least one characteristic of an environment; at least one network interface circuit (520) configured to communicate with a corroboration initiation sensor (100); at least one processor (500) connected to the at least one network interface circuit (520) and the sensor element (530); and at least one memory (510) storing program code that is executed by the at least one processor (500) to perform operations comprising to: process (203, 206) sensor data from the sensor element (530) using at least one event detection sensitivity level to detect whether an event has occurred; responsive to receiving (204) a corroboration request from the corroboration initiation sensor (100) through the at least one network interface circuit (520) requesting corroboration of whether an event is detected relative to timing indicated by the corroboration request, communicate (210) a corroboration response through the at least one network interface circuit (520) to the corroboration initiation sensor (100) indicating whether an event has been detected.

16. The peer sensor (102) of Claim 15, wherein: the operation to process (203, 206) the sensor data from the sensor element (530) uses a plurality of different event detection sensitivity levels, and tracks which of the event detection sensitivity levels detected an event; and the operation to communicate (210) the corroboration response comprises to include in the corroboration response an indication of a least sensitive one of the plurality of different event detection sensitivity levels that detected the event.

17. The peer sensor (102) of any of Claims 15 to 16, wherein the operation to process (203, 206) the sensor data from the sensor element (530) using the plurality of different event detection sensitivity levels, comprises to: store the sensor data in a buffer configured in the at least one memory (510); perform a first cycle of processing (203) the sensor data in the buffer using a first event detection sensitivity level; and responsive to receiving the corroboration request from the corroboration initiation sensor (100) and the first cycle of processing (203) not detecting an event, perform a second cycle of processing (206) of the sensor data in the buffer using a second event detection sensitivity level, wherein the second event detection sensitivity level is more sensitive than the first event detection sensitivity level, wherein the corroboration response indicates whether an event has been detected through the second cycle of processing (206).

18. The peer sensor (102) of any of Claims 15 to 17, wherein the operation to process (203, 206) the sensor data from the sensor element (530) using the plurality of different event detection sensitivity levels, comprises to: process (203, 206) the sensor data using a first event detection sensitivity level and a second event detection sensitivity level, wherein the second event detection sensitivity level is more sensitive than the first event detection sensitivity level.

19. The peer sensor (102) of any of Claims 15 to 18, wherein the operations further comprise to: determine an event detection characteristic of the corroboration initiation sensor; determine a timeframe to which the corroboration request applies based on the event detection characteristic of the corroboration initiation sensor (100); and further process (206) a set of the sensor data from the sensor element (530) within the timeframe using a second event detection sensitivity level which is more sensitive than a first event detection sensitivity level that was previously used to process the set of the sensor data.

20. The peer sensor (102) of Claim 19, wherein the operation to determine the event detection characteristic of the corroboration initiation sensor (100), comprises one of obtain the event detection characteristic of the corroboration initiation sensor (100) through communications with a coordinating node (110) which communicates with the corroboration initiation sensor (100); and obtain the event detection characteristic of the corroboration initiation sensor (100) through communications with the corroboration initiation sensor (100).

21. The peer sensor (102) of any of Claims 15 to 20, wherein the operations further comprise to: include (210) in the corroboration response a set of sensor data of the peer sensor for a timeframe defined relative to the timing indicated by the corroboration request.

Description:
DISTRIBUTED COLLABORATIVE EVENT DETECTION BY SENSORS

TECHNICAL FIELD

[0001] The present disclosure relates to a corroboration initiation sensor and a peer sensor.

BACKGROUND

[0002] The availability and proliferation of varying types of event detection sensors has created environments where a home or office has numerous sensors which can sense events via different types of sensor elements. The sensor elements can include, without limitation, cameras, microphones, heat sensors, infrared (IR) sensors, motion sensors, vibration sensors, water sensors, light sensors, radar, smoke sensors, gas sensors, and other sensors. Each sensor can locally process sensor data through an event detection algorithm or circuit to responsively trigger notifications of, e.g., presence of person, fire, harmful gas, etc., or may communicate the sensor data to a networked central server for event detection processing. [0003] In some scenarios, sensors are connected to an edge server or gateway server for assessment of event detection and classification of events based on multi-sensory effects in order to reduce false-positive indications of events.

[0004] Two example approaches are classical sensor-fusion and fusion of event detection alarms. Operations for the classical sensor-fusion include all sensors sending their sensor data to the central server which performs event detection based on the sensor data received from the multiple sensors. In contrast, operations for fusion of event detection alarms include having all sensors locally perform event detection and any sensors which detected events reporting an alarm notification to the central server. Based on which types of sensors reported alarms, the central server may categorize and trigger its alarm.

[0005] Both of these approaches are centralized in that the server is a critical link in serving a potentially large number of sensors. When the server is in a base station, e.g., edgecloud based solution, these approaches can necessitate that significant network communication resources and server processing and memory resources need to be available for operation of the system. Furthermore, privacy issues can arise when certain types of sensor data are provided to the central server, e.g., video and/or audio captured in a home, indications of persons' time of entry and/or departure at a home, etc.

[0006] The classical sensor-fusion operations can result in a large amount of sensor data being sent from the sensors to the central server, which then creates excessive communication and processing workload in the cloud, excessive power consumption in the sensors, and privacy concerns.

[0007] The fusion of event detection alarms operations can suffer from poor accuracy when the event detection in the sensors is overly sensitive and triggers excessive numbers of false alarms or is not sufficiently sensitive which fails to trigger alarms.

SUMMARY

[0008] Some embodiments of the present disclosure are directed to a corroboration initiation sensor that includes a sensor element, at least one network interface circuit, at least one processor, and at least one memory. The sensor element is configured to sense at least one characteristic of an environment and output sensor data. The at least one network interface circuit is configured to communicate with peer sensors. The at least one processor is connected to the at least one network interface circuit and the sensor element. The at least one memory stores sensor data and program code that is executed by the at least one processor to perform operations. The operations include to process the sensor data from the sensor element using at least one event detection sensitivity level to detect whether an event has occurred. Responsive to detecting occurrence of an event, the operations communicate a corroboration request through the at least one network interface circuit for at least one of the peer sensors to corroborate whether an event is detected by the peer sensor relative to timing of the corroboration request. Responsive to an alert condition being satisfied based on receiving a corroboration response from at least one of the peer sensors confirming event detection by the other event detection sensor, the operations perform an alert action.

[0009] Some other embodiments of the present disclosure are directed to a peer sensor that includes a sensor element, at least one network interface circuit, at least one processor, and at least one memory. The sensor element is configured to sense at least one characteristic of an environment. The at least one network interface circuit is configured to communicate with a corroboration initiation sensor. The at least one processor is connected to the at least one network interface circuit and the sensor element. The at least one memory stores program code that is executed by the at least one processor to perform operations. The operations include to process sensor data from the sensor element using at least one event detection sensitivity level to detect whether an event has occurred. Responsive to receiving a corroboration request from the corroboration initiation sensor through the at least one network interface circuit requesting corroboration of whether an event is detected relative to timing of the corroboration request, the operations communicate a corroboration response through the at least one network interface circuit to the corroboration initiation sensor indicating whether an event has been detected.

[0010] Numerous potential advantages are provided by these and other embodiments disclosed herein. Because the corroboration of the event is performed locally among the sensors, sensor data can remain private localized to the sensors while being used for multi- sensory assessment of event occurrence without necessarily being sent to the coordinating node. More sensitive event detection levels can be used without triggering an increased number of false positive event reports being sent to a coordinating node. The collaborative multisensory assessment can be locally performed among the sensors while preserving privacy of the sensor data. The amount of sensor data to be sent to a coordinating node can be substantially lower than if all sensors were to send sensor data to the central node for event detection processing, which reduces the computational and communication resources of the coordinating node and networks interconnecting the coordinating node with the sensors.

[0011] Other corroboration initiation sensors, peer sensors, and corresponding methods according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional corroboration initiation sensors, peer sensors, and corresponding methods be included within this description and protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Aspects of the present disclosure are illustrated by way of example and are not limited by the accompanying drawings. In the drawings:

[0013] Figure 1 illustrates multiple sensors which are located in a multi-room building, such as a house, business office, etc., and which are configured according to some embodiments of the present disclosure;

[0014] Figure 2 illustrates a combined flowchart and data flow diagram of operations and communications by the corroboration initiation sensor, the peer sensors, and the coordinating node in accordance with some embodiments of the present disclosure;

[0015] Figures 3 and 4 illustrate flowcharts of operations that may be performed by the corroboration initiation sensor in accordance with some embodiments;

[0016] Figure 5 illustrates a block diagram of components of an event detection sensor that are configured in accordance with some other embodiments of the present disclosure; and [0017] Figure 6 illustrates a block diagram of components of a coordinating node which operate according to at least some embodiments of the present disclosure.

DETAILED DESCRIPTION

[0018] Inventive concepts will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of various present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present or used in another embodiment.

[0019] Further to the above-discussion, in situations where one event detection sensor ("sensor") at one position detects an event which is clearly detectable (e.g., using a relatively low event detection sensitivity level), one or more other peer event detection sensors ("peer sensors") may not detect the event because of, for example, being located further away from the cause of the event, using a different type of sensor element which is less able to or unable to detect the event, and/or using a lower event detection sensitivity level. If the sensor reports the event to a coordinating node, such as a networked server which centrally handles event reports from sensors, but the coordinating node is delayed in processing the event and later decides to attempt to corroborate the event through the peer sensors, this might cause several implications. For example, the time taken for any command directives from the coordinating node to the peer sensors might occur after the cause of the event has ceased to be detectable by the peer sensors.

[0020] Various embodiments of the present disclosure can be directed to addressing how to use peer sensors to corroborate events while avoiding the need for peer sensors to use overly sensitive event detection sensitivity levels and/or while avoiding the need for peer sensors to send their sensor data to the coordinating node when an event has not yet been detected. These embodiments can be further directed to how to minimize the amount of sensor data to be sent by the sensors to the coordinating node for multi-sensory assessment in situations where the likelihood of an event may be low. The embodiments can be further directed to how to cause most sensor data communications to be local to the sensors, unless an alert condition is satisfied such as when one or more peer sensors confirm occurrence of an event.

[0021] Figure 1 illustrates multiple sensors which are located in a multi-room building, such as a house, business office, etc., and which are configured according to some embodiments of the present disclosure. In the example illustrated in Figure 1, sensors 100 and 102 are located in various rooms. As will be explained in further detail below, in some embodiments any of the sensors 100 and 102 can be configured to take on the operational role of a corroboration initiation sensor which seeks corroboration of a sensed event from one or more other sensors serving as peer sensors. For example, whichever of the sensors 100 and 102 first senses an event can become the corroboration initiation sensor seeking corroboration of a sensed event from one or more peer sensors. In some other embodiments, one or more of the sensors 100 and 102 can be particularly configured to operate as a corroboration initiation sensor while one or more other sensors 100 and 102 may be particularly configured to operate as a peer sensor providing corroboration by may lack operational functionality to serve as a corroboration initiation sensor.

[0022] In the non-limiting example of Figure 1, a corroboration initiation sensor 100 and three peer sensors 102 are located in an open floorplan area serving as a dining room and kitchen. Another two peer sensors 102 are located in a bedroom, and another peer sensor 102 is located in an entry door. The corroboration initiation sensor 100 and the peer sensors 102 may be configured identically or may be configured differently, or the corroboration initiation sensor 100 may be configured to perform functionality beyond what the peer sensors 102 are capable of performing. For example, the corroboration initiation sensor 100 may have more processing resources and/or memory than the peer sensors 102. The corroboration initiation sensor 100 may be the only one of the sensors that is configured to report events to the coordinating node 110. Alternatively, the sensor 100 may respond to it sensing an event by taking on the operational role of as a corroboration initiation sensor seeking corroboration of a sensed event from one or more other sensors serving as peer sensors 102. A peer sensor 102 at another time may be the first to sense an event and thereby take on the operational role of a corroboration initiation sensor seeking corroboration of a sensed event from one or more other sensors now serving as peer sensors 102 and 100.

[0023] Each of the sensors 100 and 102 contains a sensor element that is configured to sense at least one characteristic of an environment and output sensor data that is processed to detect the occurrence of a defined event. The sensors 100 and 102 may include at least one network interface circuit. The corroboration initiation sensor 100 is configured to communicate directly with the peer sensors 102 and/or indirectly through relayed communications via one or more of the peer sensors, a gateway, and/or a coordinating node 110. The coordinating node 110 is networked to the corroboration initiation sensor 100 and/or the peer sensors 102 via one or more networks 104, e.g., Internet and/or private network(s).

[0024] The sensors 100 and 102 can be configured to enable local collaboration to provide multi-sensory assessment of potential event detection. Figure 2 illustrates a combined flowchart and data flow diagram of operations and communications by the corroboration initiation sensor 100, the peer sensors 102, and the coordinating node 110 in accordance with some embodiments of the present disclosure.

[0025] In one non-limiting operational scenario, the corroboration initiation sensor 100 is first among the sensors 102 to detect an event. The corroboration initiation sensor 100 then requests one or more of the peer sensors 102 to corroborate the event. As will be explained in further detail below, the corroboration initiation sensor 100 may indicate a timestamp or other express or implied timing indication of the event and request for the peer sensor(s) 102 to confirm whether it also detected an event approximately correlated in time. The event detected by the corroboration initiation sensor 100 may correspond to a threshold level of motion being sensed by a motion sensor, and the corroboration initiation sensor 100 may request other motion sensor(s), contact sensor(s), glass breakage sensor(s), etc. to confirm whether any such sensor(s) also detected an event. When the event is sufficiently corroborated to satisfy an alert condition, the corroboration initiation sensor 100 can responsively communicate the event detection report to the coordinating node 110 indicating occurrence of the event and possibly also characterize the event and any event corroboration received from the peer sensor(s) 102.

[0026] Thus, when nearby peer sensor(s) have also triggered on an event proximately in time, the event is more certain to have occurred. There can be situations when some or all of the peer sensors 102, which may have different types of sensor elements than the corroboration initiation sensor 100, have not detected the event. The reasons may include the event was not sufficiently distinguishable from normal variations in the sensor data to allow detection of the event. However, through use of corroboration operations, the peer sensor(s) 102 may use a less sensitive event detection level to process sensor data until requested by the corroboration initiation sensor 100 to use a more sensitive event detection threshold. Use of the less sensitive event detection level by the peer sensor(s) 102 until requested to use the more sensitive event detection level can function to reduce the likelihood of false-positive event detections being reported to the coordinating node 110. Similarly, the corroboration initiation sensor 100 may use a more sensitive event detection level to process sensor data, which increases the likelihood of false-positive event detections, but those detections are then filtered by, for example, not obtaining corroboration of such event through the peer sensor(s) 102 or not obtaining corroboration of such event through a threshold number of the peer sensor(s) 102.

[0027] Referring to Figures 1 and 2, the corroboration initiation sensor 100 processes 200 sensor data from its sensor element using at least one event detection sensitivity level to detect 202 whether an event has occurred. In response to detecting 202 occurrence of an event, the corroboration initiation sensor 100 communicates 204 a corroboration request for at least one of the peer sensors 102 to corroborate whether an event is detected by the peer sensor 102 relative to timing of the corroboration request.

[0028] The timing of the corroboration request may be an express indication of timing included in the corroboration request, such as a timestamp or other timing indication, or may be an inferred timing relative to a time when the corroboration request is received by the peer sensor(s) 102. For example, the corroboration initiation sensor 100 may include in the corroboration request a timestamp indicating when the event occurred. Alternatively, the peer sensor(s) 102 may infer timing of the event based on recency to receipt of the corroboration request and may account for latency or delay between the event and associated sending of the request and/or receipt of the request.

[0029] The peer sensor(s) 102, which may initially operate independently from operation of the corroboration initiation sensor 100, processes 203 sensor data from its sensor element using at least one event detection sensitivity level to detect whether an event has occurred. The peer sensor(s) 102 responds to receipt 204 of the corroboration request from the corroboration initiation sensor 100, by communicating 210 a corroboration response to the corroboration initiation sensor 100 indicating whether an event has been detected.

[0030] In some embodiments, the peer sensor(s) 102 only communicate 210 a corroboration response to the corroboration initiation sensor 100 when the peer sensor(s) 102 has detected an event. In some other embodiments, the peer sensor(s) 102 communicate 210 a corroboration response to the corroboration initiation sensor 100 irrespective of whether the peer sensor(s) 102 has detected an event. In this case, the corroboration response is indicative of whether the peer sensor(s) 102 has detected an event, or not.

[0031] The corroboration initiation sensor 100 receives 212 the corroboration response from one or more of the peer sensor(s) 102 which may confirm event detection by the one or more peer sensor(s) 102, and determines 214 whether an alert condition has been satisfied by the corroboration response(s). When the alert condition has been satisfied, e.g., based on a threshold number of the peer sensor(s) 102 indicating confirmation of event detection, or a combination of sensors 102 of different types indicating confirmation of event detection, the corroboration initiation sensor 100 performs an alert action.

[0032] In the example embodiment of Figure 2, the alert action performed by the corroboration initiation sensor 100 includes to communicate 214 an event detection report to the coordinating node 110. The coordinating node 110 receives the event detection report and determines 216 whether an alert condition is satisfied by the detected events. When the alert condition is satisfied the coordinating node 110 generates 218 an alert notification which may correspond to activating or deactivating a light, displaying or ceasing display of a notification, initiating or ceasing an audible notification, etc. The coordinating node 110 may communicate 220 sensitivity setting commands and/or communicate 222 alert condition setting commands to the corroboration initiation sensor 100 and/or to the peer sensors 102. A sensitivity setting command may adapt the event detection sensitivity level used by the sensor to detect events, such as by controlling selection among different event detection sensitivity levels and/or adapting parameters used by an event detection algorithm, such as described above.

[0033] Numerous potential advantages are provided by these and other embodiments disclosed herein. Because the corroboration of the event is performed locally among the sensors 100 and 102, sensor data can remain private localized to the sensors 100 and 102 while being used for multi-sensory assessment of event occurrence without necessarily being sent to the coordinating node 110. More sensitive event detection levels can be used without triggering an increased number of false positive event reports being sent to a coordinating node. The collaborative multisensory assessment can be locally performed among the sensors while preserving privacy of the sensor data. The amount of sensor data to be sent to a coordinating node can be substantially lower than if all sensors were to send sensor data to the central node for event detection processing, which reduces the computational and communication resources of the coordinating node and networks interconnecting the coordinating node with the sensors.

[0034] In some additional or alternative embodiments, the alert action performed by the corroboration initiation sensor 100 includes other types of actions, such as to activate or deactivate a light, display or cease display of a notification, initiate or cease an audible notification, etc. In still some additional or alternative embodiments, the alert action performed by the corroboration initiation sensor 100 includes any one or more of: 1) causing a deeper inspection of the sensor data, such as by the corroboration initiation sensor 100 performing further cycle(s) of processing of the sensor data using different event detection sensitivity level(s); 2) performing further processing of sensor data which was collected earlier or subsequently in time relative to the sensor data that was processed in operation 200; 3) providing the sensor data to the coordinating node 110 for further processing to corroborate occurrence of the event; 4) obtaining sensor data from the peer sensor(s) 102 and locally processing to corroborate occurrence of the event; etc.

[0035] Some or all of the sensors 100 and 102 may have different types of sensor elements which are configured to sense different types of events and/or to sense the same type of event but through different ways of sensing the event. Examples of sensor elements include, but are not limited to, camera, microphone, temperature sensor, heat sensor, IR sensor, contact switch, motion sensor, vibration sensor, water sensor, humidity sensor, light sensor, radar, smoke sensor, gas sensor, and other sensors.

[0036] In one embodiment, the sensors 100 and 102 may locally store sensor data in memory, such as in a buffer in memory. The buffer may be configured as a circular buffer that overwrites oldest sensor data with newest sensor data as the buffer becomes full. The sensors 100 and 102 process sensor data using at least one event detection sensitivity level to detect whether an event has occurred. The event detection sensitivity level(s) can be selected or adapted to avoid an excessive number of false-positive event detections when no actual event has occurred.

[0037] The different event detection sensitivity levels may correspond to different event detection settings and/or different event detection algorithms being used to process the sensor data to detect occurrence of an event. The sensors 100 and 102 can be configured to select or adapt among the different event detection sensitivity levels based on which event detection sensitivity(ies) were used by one or more other sensors to already detect an event.

[0038] The sensors 100 and 102 may operate in different event detection modes which use different event detection sensitivity levels, and which may correspond to different event detection settings and/or different event detection algorithms that are used for processing sensor data to detect occurrence of an event. In some embodiments, an event detection sensitivity level corresponds to any one or more of: 1) a threshold value that is compared to values which are output from processing sensor data in order determine whether an event has occurred (e.g., a rule-based threshold decision); 2) a parameter or weight that is used to adapt operation of an event detection algorithm (e.g., of a machine learning algorithm or Spiking Neural Networks (SNN)); 3) identification of which of a plurality of different event detection algorithms is presently used to determine whether an event has occurred; and 4) a sensitivity setting of a sensor element, such as resolution, output data rate, etc.

[0039] In some embodiments, the corroboration initiation sensor 100 processes sensor data using a plurality of event detection sensitivity levels, and indicates to the peer sensor(s) 102 a least sensitive one of the plurality of event detection sensitivity levels which detected the event. For example, the corroboration initiation sensor 100 may process 200 the sensor data from its sensor element using a plurality of different event detection sensitivity levels, and track which of the event detection sensitivity levels detected an event. The operation to communicate 204 the corroboration request may include in the corroboration request an indication of a least sensitive one of the plurality of different event detection sensitivity levels that detected the event. The peer sensor(s) 102 may then responsively determine an event detection sensitivity level to be used to process its sensor data based on the indication from the corroboration request.

[0040] Similarly, in some embodiments, the peer sensor(s) 102 processes sensor data using a plurality of event detection sensitivity levels, and indicates to the corroboration initiation sensor 100 a least sensitive one of the plurality of event detection sensitivity levels which detected the event. For example, the operation to process the sensor data from its sensor element uses a plurality of different event detection sensitivity levels, and tracks which of the event detection sensitivity levels detected an event. The operation to communicate 210 the corroboration response included in the corroboration response an indication of a least sensitive one of the plurality of different event detection sensitivity levels that detected the event.

[0041] In some embodiments, the peer sensor(s) 102 performs a second cycle of processing 206 the sensor data in a buffer using a second (more sensitive) event detection sensitivity level if a first cycle of processing 203 the sensor data in the buffer using a first (less sensitive) sensitive event detection sensitivity level did not detect an event. For example, the operation by the peer sensor(s) 102 to process the sensor data using the plurality of different event detection sensitivity levels, may include to store the sensor data in a buffer configured in the at least one memory, perform a first cycle of processing 203 the sensor data in the buffer using a first event detection sensitivity level, and responsive to receipt of the corroboration request from the corroboration initiation sensor 100 and responsive to the first cycle of processing 203 not detecting an event, by performing a second cycle of processing 206 of the sensor data in the buffer using a second event detection sensitivity level. The second event detection sensitivity level is more sensitive than the first event detection sensitivity level. In some embodiments, the corroboration response is communicated 210 to indicate whether an event has been detected through the second cycle of processing 206. In some other embodiments, corroboration response is only communicated 210 when an event was detected through the second cycle of processing 206. [0042] The peer sensor(s) 102 may repeat further cycles of incrementally decreasing or otherwise adjusting the event detection sensitivity level, e.g., incrementally becoming more sensitive to detecting events, and processing the sensor data to attempt to corroborate the event, until either the event is detected or a defined number of event detection sensitivity levels has been used for processing. The peer sensor(s) 102 may then indicate in the corroboration response the event detection sensitivity level that was used to detect the event. [0043] Similarly, in some embodiments, the corroboration initiation sensor 100 performs a second cycle of processing the sensor data using a second event detection sensitivity level, which is more sensitive to detecting event than the first event detection sensitivity level used for processing 200, if the first cycle of processing 200 the sensor data in the buffer using the first sensitive event detection sensitivity level did not detect 202 an event. For example, the corroboration initiation sensor 100 may operate to store the sensor data in a buffer configured in at least one memory, perform a first cycle of processing 200 the sensor data in the buffer using a first event detection sensitivity level. Then, responsive to the first cycle of processing 200 not detecting 202 an event, the corroboration initiation sensor 100 performs a second cycle of processing of the sensor data in the buffer using a second event detection sensitivity level which is more sensitive than the first event detection sensitivity level. The cycle of processing of the sensor data may be further conditionally performed based on whether a corroboration response is received 212 from the peer sensor(s) 102. For example, the second event detection sensitivity level may be determined based on the corroboration response, such as based on an indication in the corroboration response of a least sensitive event detection sensitivity level that was used by the peer sensor(s) 102 to detect an event, based on an event detection characteristic of the peer sensor(s) 102 which is indicated in the corroboration response, etc.

[0044] In some other embodiments, the peer sensor(s) 102 processes the sensor data through parallel simultaneous processes using first and second event detection sensitivity levels. For example, the operation by the peer sensor(s) 102 to process the sensor data using the plurality of different event detection sensitivity levels, may include to simultaneously process the sensor data using a first event detection sensitivity level and a second event detection sensitivity level. The second event detection sensitivity level is more sensitive than the first event detection sensitivity level.

[0045] Similarly, in some embodiments, the corroboration initiation sensor 100 processes the sensor data through parallel simultaneous processes using first and second event detection sensitivity levels. For example, the operation by the corroboration initiation sensor 100 to process 200 the sensor data, may include to simultaneously process the sensor data using a first event detection sensitivity level and a second event detection sensitivity level that is more sensitive than the first event detection sensitivity level.

[0046] In some embodiments, the corroboration initiation sensor 100 uses known sensor characteristics of the peer sensors 102 to select one or more peer sensor(s) 102 to use to corroborate an event. Figure 3 illustrates a flowchart of operations that may be performed by the corroboration initiation sensor 100 in accordance with some embodiments. Referring to Figure 3, the corroboration initiation sensor 100 determines 300 event detection characteristics of the peer sensors 102, and selects 302 at least one of the peer sensors 102 to use for event corroboration based on the event detection characteristics. Responsive to detecting 202 occurrence of an event, the corroboration initiation sensor 100 communicates 304 the corroboration request to the selected peer sensor(s) 102. In a further embodiment, the corroboration initiation sensor 100 determines 300 the event detection characteristics of the peer sensors, by obtaining the event detection characteristics of the peer sensors 102 through communications with the coordinating node 110 which also communicates with the peer sensors. In another embodiment, the corroboration initiation sensor 100 determines 300 the event detection characteristics of the peer sensors through communications with the peer sensors 102.

[0047] As explained above, the corroboration initiation sensor 100 responds to detecting 202 occurrence of an event by communicating 204 the corroboration request to at least one of the peer sensors 102 to corroborate whether an event is detected by the peer sensor 102 relative to timing indicated by the corroboration request. The timing indicated by the corroboration request may be an express indication of timing included in the corroboration request, such as a timestamp or other timing indication, or may be an inferred timing relative to when the corroboration request is received by the peer sensor(s) 102. For example, the corroboration initiation sensor 100 may include in the corroboration request a timestamp indicating when the event occurred.

[0048] In some embodiments, the corroboration initiation sensor 100 informs the peer sensor(s) 102 of a timeframe during which the corroboration request 204 applies. The timeframe may be determined based on event detection characteristics of the peer sensor(s) 102. Figure 4 illustrates a flowchart of operations that may be performed by the corroboration initiation sensor 100 in accordance with some embodiments. Referring to Figure 4, the corroboration initiation sensor 100 determines 400 an event detection characteristic of the peer sensor(s) 102, such as an event detection sensitivity level of the peer sensor(s) 102, a characteristic of the sensor element(s) of the peer sensor(s) 102, etc. The corroboration initiation sensor 100 determines 402 a timeframe to which the corroboration request applies based on the event detection characteristic of the peer sensor(s) 102. Responsive to detecting 202 occurrence of an event, the corroboration initiation sensor 100 communicates 404 the corroboration request with an indication of the peer sensor(s) 102. [0049] For example, a contact sensor may sense a momentary event which can be correlated to a time of occurrence. In contrast, a camera-based motion sensor can have a wider timeframe through which an event detection rule may eventually become satisfied, and somewhere during that timeframe the contact sensor may have been triggered. Thus, in some embodiments, when the corroboration initiation sensor 100 is the contact sensor and a peer sensor 102 is the camera-based motion sensor, the corroboration initiation sensor 100 may identify the time of occurrence of the event within the corroboration request for use by the peer sensor to reprocess video in a timeframe which includes the time of occurrence to determine whether the event can be corroborated, e.g., using a more sensitive camera-based motion sensing sensitivity level (e.g., look at larger area of video frames for movement, flag smaller area of movement observed in video frames as an event, etc.). Alternatively, the corroboration initiation sensor 100 may use the time of occurrence of the event along with knowledge of the camera-based motion sensing characteristics of the peer sensor 102 to determine the timeframe to be reprocessed by the peer sensor 102, and indicate the timeframe in the corroboration request sent to the peer sensor 102.

[0050] The corroboration initiation sensor 100 may also configure the corroboration request to trigger one of the peer sensor(s) 102 to include in the corroboration response a set of sensor data of the one of peer sensor(s) 102 for a timeframe defined relative to the timing indicated by the corroboration request. The corroboration initiation sensor 100 may process the set of sensor data to attempt to corroborate detection of the event and/or may communicate the set of sensor data or a processed version of the sensor data to the coordinating node 110 for processing to attempt to corroborate detection of the event.

[0051] In a similar manner, the peer sensor(s) 102 may be informed by the corroboration initiation sensor 100 of a timeframe during which the corroboration request applies, which may correspond to the peer sensor(s) 102 determining the timeframe based on an event detection characteristic of the corroboration initiation sensor 100. For example, the peer sensor(s) 102 may operate to determine an event detection characteristic of the corroboration initiation sensor, and determine a timeframe to which the corroboration request applies based on the event detection characteristic of the corroboration initiation sensor 100. The peer sensor(s) 102 may then further process 206 a set of the sensor data from its sensor element within the timeframe using a second event detection sensitivity level which is more sensitive than a first event detection sensitivity level that was previously used to process 203 the set of the sensor data.

[0052] In a further embodiment, the peer sensor 102 obtains the event detection characteristic of the corroboration initiation sensor 100 through communications with the coordination node 110. Alternatively or additionally, the peer sensor 102 obtains the event detection characteristic of the corroboration initiation sensor 100 through communications with the corroboration initiation sensor 100, which can include 210 in the corroboration response a set of sensor data of the peer sensor for a timeframe defined relative to the timing indicated by the corroboration request.

[0053] The corroboration initiation sensor 100 may operate to identify proximately located peer sensor(s) 102 which can be used to attempt to corroborate a detected event. The corroboration initiation sensor 100 may be informed by the coordinating node 110 of the identities, network addresses, and/or locations of nearby peer sensors 102, may discover through RF signalling which peer sensors 102 are discoverable, etc. The coordinating node 110 or another node of the system may generate a map (geographic or relative positioning) of locations of sensors 100 and 102, and can inform the sensors 100 and 102 of which other sensors are nearby, and may further inform on capabilities of the other sensors. The corroboration initiation sensor 100 may measure distance from peer sensors 102 through received signal strength measurements, directionality through angle of departure (AoD) such as Bluetooth AoD, and/or angle of arrival of radio signalling communicated with peer sensors 102, radio-based fingerprinting operations supported by network interface (e.g., RF communication modem). In case of mesh network between sensors. The concept of nearby can be determined by a specific number of hops.

[0054] The sensors 100 and 102 and/or the coordinating node may be trained based on which of the events detected by one sensor were positively correlated by other sensors. Then, the sensors and/or the coordinating node can be optimized with respect to which sensors 100 and 102 should be used to corroborate a type of triggering event, and/or with respect to how the event detection sensitivity level is to be selected or adapted for corroboration of a detected event. The training may be performed in a distributed manner among the sensors 100 and 102 and/or in a centralized manner at the coordinating node 110.

[0055] In some embodiments, the corroboration initiation sensor 100 operates to train a machine learning module based on feedback indicating which of the corroboration responses received from a plurality of the peer sensors 102 are correlated to correct instances of event detection and/or correlated to incorrect instances of event detection. The corroboration initiation sensor 100 processes the corroboration response 212, from the peer sensor(s) 102 confirming event detection by the peer sensor(s) 102, through the machine learning module to determine whether the alert condition is satisfied for responsively communicating the event detection report to the coordinating node 110.

[0056] The machine learning module may correspond to: 1) a trained SNN, such as a reinforcement learning network; 2) an algorithm that is trained (adapted) over time to improve accuracy of event detection; 3) one or more event detection rules and/or thresholds which are used to determine whether the processed sensor data indicates occurrence of an event, and which is/are trained (adapted) over time to improve accuracy of event detection; and/or 4) one or more rules which are used to determine whether the alert condition is satisfied, and which is/are trained (adapted) over time to improve accuracy of event detection. [0057] The corroboration response may be received 212 from each of a plurality of the peer sensors 102 confirming event detection by the plurality of the peer sensors 102, and the operations by the corroboration initiation sensor 100 can include to determine whether the alert condition is satisfied for responsively performing the alert action, based on a priority level of the corroboration initiation sensor 100 and priority levels of the plurality of the peer sensors 102. Thus, for example, the peer sensors 102 may have different priority levels relative to each other and/or relative to the corroboration initiation sensor 100. The corroboration initiation sensor 100 may determine whether the alert condition is satisfied based on whether the priority level(s) of the reporting peer sensor(s) 102 satisfy the alert condition.

[0058] In some scenarios, the corroboration response is received 212 from each of a plurality of the peer sensors 102 confirming event detection by the plurality of the peer sensors 102. In one embodiment, the corroboration responses indicate an event detection sensitivity level used by the peer sensor. The corroboration initiation sensor 100 operates to determine whether the alert condition is satisfied for responsively performing the alert action, based on the indicated event detection sensitivity levels used by the plurality of the peer sensors 102.

[0059] It is possible that multiple sensors will simultaneously detect an event such that they may each invoke functionality of the corroboration initiation sensor 100 and seek corroboration of the event from peer sensors 102, in accordance with various embodiments described above. This situation may cause a race condition to occur whereby the multiple sensors are sending corroboration requests to each other and corroboration responses, and which may in some situations lead to erroneous actions and wasted computational and network resources. Some further embodiments are directed to protocols which may preclude occurrence of a race condition. One approach is to have a pre-defined “priority order” for which sensors have priority for functioning as the corroboration initiation sensor 100. The priority order may be defined by the coordinating node 110 and/or determined by the sensors, such as based on the event detection characteristics of the sensor elements of the sensors, processing capabilities of the sensors, network communication capabilities of the sensors, power capabilities of the sensors (e.g., remaining battery capacity), capabilities for seeking corroboration of events with peer sensors, etc. For example, assume three sensors have respective priorities of 12, 25, and 37 and simultaneously detect the same event. The sensors may already know how their priority compares to the other sensors or may learn that through communications. Assuming the highest priority is 37, the corresponding sensor then performs the functionality of the corroboration initiation sensor to seek corroboration of the event from the other two sensors.

[0060] Some other embodiments are directed to operations for providing interoperability between sensors. When sensors communicate with each other, they should be configured to use a common communication protocol (“common language”). It is not enough that the sensors support the same transport protocol, data encoding schemes etc. In addition, the sensors showed have a mutual understanding about the meaning (semantics) of the communicated data. For example, if a temperature sensor informs other sensors about a temperature value, all sensors involved should operate to have a mutual understanding regarding e.g., one or more of the following characteristics: what type of temperature has been measured (e.g., air, liquid, surface, etc.); where was the temperature measured (e.g., at a surface of the sensor, remote from the senor via IR, etc.); is the temperature value a delta value or an absolute value (with a base value); is the temperature value a value measured at a given moment, or it is e.g., a value measured over a longer time; unit of the measured value (e.g., Celsius, Fahrenheit etc). [0061] Different types of sensors may detect the same or similar events, e.g., fire, but using different types of sensors elements and associated processing, e.g., smoke detector sensing smoke and temperature detector sensing more than a threshold temperature. For the smoke detector to corroborate whether fire is detected, the smoke detector may benefit from knowing that high room temperature has been detected versus an event detected by a water leak detector.

[0062] Cloud Implementation

[0063] Some of the operations described herein for the coordinating node may be performed by an edge server for a network and/or by another node that is part of a network operator cloud computing resource. For example, the operations may be performed as a network function that is close to the edge, such as in a cloud server or a cloud resource of a telecommunications network operator, e.g., in a CloudRAN or a core network.

[0064] Example Event Detection Sensor and Coordinating node

[0065] Figure 5 illustrates a block diagram of components of an event detection sensor, which may correspond to the corroboration initiation sensor 100 and/or the peer sensors 102 described above, that is configured in accordance with some other embodiments of the present disclosure. The event detection sensor can include at least one network interface circuit 520 (network interface circuit), at least one sensor element 530 which may include a camera, microphone, heat/IR sensor, motion sensor, vibration sensor, water sensor, humidity sensor, and/or other sensor(s). The network interface circuit may include wireless communication circuitry, e.g., Bluetooth , WiFi, Zigbee, cellular, etc. and/or wired communication circuitry, e.g., Ethernet. The event detection sensor 100 further includes at least one processor circuit 500 (processor), and at least one memory circuit 510 (memory). The processor 500 is connected to communicate with other components. The memory 510 stores sensor data from the sensor element(s) 530 and program code that is executed by the processor 500 to perform operations disclosed herein. The processor 500 may include one or more data processing circuits, such as a general purpose and/or special purpose processor (e.g., microprocessor and/or digital signal processor), which may be collocated or distributed across one or more data networks. The processor 500 is configured to execute the program code in the memory 510, described below as a computer readable medium, to perform some or all of the operations and methods for one or more of the embodiments disclosed herein for an event detection sensor, such as the corroboration initiation sensor 100 and/or the peer sensor 102. The event detection sensor may further include a display device 550 and/or user input interface 552. Although the components are illustrated as separate blocks for ease of illustration, any two or more of them may be integrated into a common circuit package. [0066] Figure 6 illustrates a block diagram of components of the coordinating node 110 which operate according to at least some embodiments of the present disclosure. The coordinating node 110 can include at least one network interface circuit 620 (network interface circuit), at least one processor circuit 600 (processor), and at least one memory circuit 610 (memory). The network interface circuit 620 is configured to communicate with the event detection sensors and may further communicate with other components, such as a messaging server, email server, etc., through wireless and/or wired networks. The memory 610 stores program code that is executed by the processor 600 to perform operations for one or more of the embodiments disclosed herein. The processor 600 may include one or more data processing circuits, such as a general purpose and/or special purpose processor (e.g., microprocessor, digital signal processor, deep-learning processor, graphics processor, or other special-purpose processor), which may be collocated or distributed across one or more data networks. The coordinating node 110 may include a display device 630, a user input interface 632, and/or other interfaces such as a speaker, light, etc. Although the components are illustrated as separate blocks for ease of illustration, any two or more of them may be integrated into a common circuit package.

[0067] Further Definitions and Embodiments:

[0068] In the above-description of various embodiments of present inventive concepts, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of present inventive concepts. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which present inventive concepts belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense expressly so defined herein.

[0069] When an element is referred to as being "connected", "coupled", "responsive", or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected", "directly coupled", "directly responsive", or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, "coupled", "connected", "responsive", or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term "and/or" includes any and all combinations of one or more of the associated listed items.

[0070] It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements/operations, these elements/operations should not be limited by these terms. These terms are only used to distinguish one element/operation from another element/operation. Thus, a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of present inventive concepts. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.

[0071] As used herein, the terms "comprise", "comprising", "comprises", "include", "including", "includes", "have", "has", "having", or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation "e.g.", which derives from the Latin phrase "exempli gratia," may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation "i.e.", which derives from the Latin phrase "id est," may be used to specify a particular item from a more general recitation.

[0072] Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).

[0073] These computer program instructions may also be stored in a tangible computer- readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of present inventive concepts may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module" or variants thereof.

[0074] It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of inventive concepts. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.

[0075] Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present inventive concepts. All such variations and modifications are intended to be included herein within the scope of present inventive concepts. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of present inventive concepts. Thus, to the maximum extent allowed by law, the scope of present inventive concepts are to be determined by the broadest permissible interpretation of the present disclosure including the following examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.