Patent ID: 12217597

DETAILED DESCRIPTION

The accompanying drawings, which form a part hereof, show examples of the disclosure. It is to be understood that the examples shown in the drawings and/or discussed herein are non-exclusive and that there are other examples of how the disclosure may be practiced.

FIG.1shows an example communication network100in which features described herein may be implemented. The communication network100may comprise one or more information distribution networks of any type, such as, without limitation, a telephone network, a wireless network (e.g., an LTE network, a 5G network, a WiFi IEEE 802.11 network, a WiMAX network, a satellite network, and/or any other network for wireless communication), an optical fiber network, a coaxial cable network, and/or a hybrid fiber/coax distribution network. The communication network100may use a series of interconnected communication links101(e.g., coaxial cables, optical fibers, wireless links, etc.) to connect multiple premises102(e.g., businesses, homes, consumer dwellings, train stations, airports, etc.) to a local office103(e.g., a headend). The local office103may send downstream information signals and receive upstream information signals via the communication links101. Each of the premises102may comprise devices, described below, to receive, send, and/or otherwise process those signals and information contained therein.

The communication links101may originate from the local office103and may comprise components not illustrated, such as splitters, filters, amplifiers, etc., to help convey signals clearly. The communication links101may be coupled to one or more wireless access points127configured to communicate with one or more mobile devices125via one or more wireless networks. The mobile devices125may comprise smart phones, tablets or laptop computers with wireless transceivers, tablets or laptop computers communicatively coupled to other devices with wireless transceivers, and/or any other type of device configured to communicate via a wireless network.

The local office103may comprise an interface104, such as a termination system (TS). The interface104may comprise a cable modem termination system (CMTS) and/or other computing device(s) configured to send information downstream to, and to receive information upstream from, devices communicating with the local office103via the communications links101. The interface104may be configured manage communications among those devices, to manage communications between those devices and backend devices such as servers105-107, and/or to manage communications between those devices and one or more external networks109. The local office103may comprise one or more network interfaces108that comprise circuitry needed to communicate via the external networks109. The external networks109may comprise networks of Internet devices, telephone networks, wireless networks, wireless networks, fiber optic networks, and/or any other desired network. The local office103may also or alternatively communicate with the mobile devices125via the interface108and one or more of the external networks109, e.g., via one or more of the wireless access points127.

The push notification server105may be configured to generate push notifications to deliver information to devices in the premises102and/or to the mobile devices125. The content server106may be configured to provide content to devices in the premises102and/or to the mobile devices125. This content may comprise, for example, video, audio, text, web pages, images, files, etc. The content server106(or, alternatively, an authentication server) may comprise software to validate user identities and entitlements, to locate and retrieve requested content, and/or to initiate delivery (e.g., streaming) of the content. The application server107may be configured to offer any desired service. For example, an application server may be responsible for collecting, and generating a download of, information for electronic program guide listings. Another application server may be responsible for monitoring user viewing habits and collecting information from that monitoring for use in selecting advertisements. Yet another application server may be responsible for formatting and inserting advertisements in a video stream being sent to devices in the premises102and/or to the mobile devices125. The local office103may comprise additional servers, additional push, content, and/or application servers, and/or other types of servers. Although shown separately, the push server105, the content server106, the application server107, and/or other server(s) may be combined. The servers105,106,107, and/or other servers, may be computing devices and may comprise memory storing data and also storing computer executable instructions that, when executed by one or more processors, cause the server(s) to perform steps described herein.

An example premises102amay comprise an interface120. The interface120may comprise circuitry used to communicate via the communication links101. The interface120may comprise a modem110, which may comprise transmitters and receivers used to communicate via the communication links101with the local office103. The modem110may comprise, for example, a coaxial cable modem (for coaxial cable lines of the communication links101), a fiber interface node (for fiber optic lines of the communication links101), twisted-pair telephone modem, a wireless transceiver, and/or any other desired modem device. One modem is shown inFIG.1, but a plurality of modems operating in parallel may be implemented within the interface120. The interface120may comprise a gateway111. The modem110may be connected to, or be a part of, the gateway111. The gateway111may be a computing device that communicates with the modem(s)110to allow one or more other devices in the premises102ato communicate with the local office103and/or with other devices beyond the local office103(e.g., via the local office103and the external network(s)109). The gateway111may comprise a set-top box (STB), digital video recorder (DVR), a digital transport adapter (DTA), a computer server, and/or any other desired computing device.

The gateway111may also comprise one or more local network interfaces to communicate, via one or more local networks, with devices in the premises102a. Such devices may comprise, e.g., display devices112(e.g., televisions), STBs or DVRs113, personal computers114, laptop computers115, wireless devices116(e.g., wireless routers, wireless laptops, notebooks, tablets and netbooks, cordless phones (e.g., Digital Enhanced Cordless Telephone—DECT phones), mobile phones, mobile televisions, personal digital assistants (PDA)), landline phones117(e.g. Voice over Internet Protocol—VoIP phones), and any other desired devices. Example types of local networks comprise Multimedia Over Coax Alliance (MoCA) networks, Ethernet networks, networks communicating via Universal Serial Bus (USB) interfaces, wireless networks (e.g., IEEE 802.11, IEEE 802.15, Bluetooth), networks communicating via in-premises power lines, and others. The lines connecting the interface120with the other devices in the premises102amay represent wired or wireless connections, as may be appropriate for the type of local network used. One or more of the devices at the premises102amay be configured to provide wireless communications channels (e.g., IEEE 802.11 channels) to communicate with one or more of the mobile devices125, which may be on- or off-premises.

The mobile devices125, one or more of the devices in the premises102a, and/or other devices may receive, store, output, and/or otherwise use assets. An asset may comprise a video, a game, one or more images, software, audio, text, webpage(s), and/or other content.

FIG.2shows hardware elements of a computing device200that may be used to implement any of the computing devices shown inFIG.1(e.g., the mobile devices125, any of the devices shown in the premises102a, any of the devices shown in the local office103, any of the wireless access points127, any devices with the external network109) and any other computing devices discussed herein (e.g., security controllers, security alarm systems, security surveillance systems). The computing device200may comprise one or more processors201, which may execute instructions of a computer program to perform any of the functions described herein. The instructions may be stored in a read-only memory (ROM)202, random access memory (RAM)203, removable media204(e.g., a USB drive, a compact disk (CD), a digital versatile disk (DVD)), and/or in any other type of computer-readable medium or memory. Instructions may also be stored in an attached (or internal) hard drive205or other types of storage media. The computing device200may comprise one or more output devices, such as a display device206(e.g., an external television and/or other external or internal display device) and a speaker214, and may comprise one or more output device controllers207, such as a video processor. One or more user input devices208may comprise a remote control, a keyboard, a mouse, a touch screen (which may be integrated with the display device206), microphone, etc. The computing device200may also comprise one or more network interfaces, such as a network input/output (I/O) interface210(e.g., a network card) to communicate with an external network209. The network I/O interface210may be a wired interface (e.g., electrical, RF (via coax), optical (via fiber)), a wireless interface, or a combination of the two. The network I/O interface210may comprise a modem configured to communicate via the external network209. The external network209may comprise the communication links101discussed above, the external network109, an in-home network, a network provider's wireless, coaxial, fiber, or hybrid fiber/coaxial distribution system (e.g., a DOCSIS network), or any other desired network. The communication device200may comprise a location-detecting device, such as a global positioning system (GPS) microprocessor211, which may be configured to receive and process global positioning signals and determine, with possible assistance from an external server and antenna, a geographic position of the communication device200.

AlthoughFIG.2shows an example hardware configuration, one or more of the elements of the computing device200may be implemented as software or a combination of hardware and software. Modifications may be made to add, remove, combine, divide, etc. components of the computing device200. Additionally, the elements shown inFIG.2may be implemented using basic computing devices and components that have been configured to perform operations such as are described herein. A memory of the computing device200may store computer-executable instructions that, when executed by the processor201and/or one or more other processors of the computing device200, cause the computing device200to perform one, some, or all of the operations described herein. Such memory and processor(s) may also or alternatively be implemented through one or more Integrated Circuits (ICs). An IC may be, for example, a microprocessor that accesses programming instructions or other data stored in a ROM and/or hardwired into the IC. For example, an IC may comprise an Application Specific Integrated Circuit (ASIC) having gates and/or other logic dedicated to the calculations and other operations described herein. An IC may perform some operations based on execution of programming instructions read from ROM or RAM, with other operations hardwired into gates or other logic. An IC may be configured to output image data to a display buffer.

The following may be a general overview of methods and/or systems for detecting abnormal activities within premises when a security system is turned off, or disarmed. If a security system is intentionally or mistakenly disarmed, the system may still monitor the premises. The system may send a security alert to users if an anomalous activity is detected, even if the system is disarmed. For example, if a user falls asleep at night without turning on a security system and an unusual activity is detected by, e.g., a back door sensor, on Monday at 2 am, it may be advantageous to at least notify the users, if not call authorities immediately.

A security system may maintain a state history of various security sensors (e.g., doors, windows, motion sensors, etc.). The state history may record sensor states (e.g., door open, door closed, motion detected, etc.) at different times throughout a time period of the history (e.g., second-by-second history for the past week, past month, past year, etc.), which may indicate one or more user behavioral patterns within the premises. For example, the state history may indicate that a back door is usually opened on Monday at around 8 am when a user goes to work. The state history may indicate that a front door is usually opened on Monday at 6 pm when the user returns to home. The security sensors' individual states (e.g., contact closed, contact open, degree of opening, motion detected, etc.) and/or transitions of those states (e.g., switching from open to closed) may be recorded within the state history.

By intelligently monitoring this state history, meaningful alerts may be provided to the user when an abnormal event occurs. The alerts may be based on several score values. One score may be based on a determination of how often a particular state change occurs at the current time. For example, if all doors and windows are closed, and then an upstairs window is opened at 10 pm on a Monday night in June, the system may use the state history to determine whether this state transition (from all doors/windows closed to having the upstairs window opened) is part of a routine pattern for the premises. Another score may be based on how common the new state is at that time. If the upstairs window is opened at 10 pm on that Monday night in June, the system may use the state history to determine whether having the upstairs window open at 10 pm (even if it were opened earlier than that) is a normal occurrence for the premises. If a current state transition is determined to be abnormal in view of the state history and scores discussed above, a security alert may be sent to users.

FIG.3illustrates an example configuration for a security system in which various features described herein may be performed and implemented. The security system may monitor premises360(e.g., the premises102or the local office103ofFIG.1), such as a user residence, business, recreational facility, etc. (referred to herein as a user residence or premises in a non-limiting manner). The security system may comprise a plurality of security sensors, such as a front door sensor302, a window sensor303, a back door sensor305and/or a motion sensor307. The sensors302,303,305,307may comprise, e.g., passive infrared motion detectors, ultrasonic detectors, microwave detectors, magnetic switches, photoelectric beams and/or glass break detectors. The security system may comprise a security controller320(e.g., the computing device200ofFIG.2). The controller320may receive, store, process and/or update the states of the various sensors. The controller320may be connected to the sensors302,303,305,307, user device(s)350(e.g., the display devices112, the STBs or DVRs113, the personal computers114, the laptop computers115, the wireless devices116or the mobile devices125ofFIG.1) and/or an external network309(e.g., the external network109ofFIG.1or the external network210ofFIG.2), via communication links301(e.g., the communication links101ofFIG.1). The communication links301may be coupled to wireless access points327(e.g., the wireless access points127ofFIG.1).

InFIG.3, the sensors302,303,305,307may continue monitoring the premises360, and the controller320may receive and/or process inputs from the various sensors, regardless of whether the security system is armed. If the system is armed, users may be notified immediately if a sensor is changed (e.g., if a door or window is opened). If the system is unarmed, the system may still actively monitor the premises360, and may send out an anomalous activity alert to users if a current security event is determined to be abnormal.

For example, if a security system is unarmed and an intruder enters the premises360, the motion sensor307may detect the intruder's motion, and the state of the motion sensor307may change from “no motion detected” to “motion detected.” The sensors302,303,305,307may continue reporting their current state or transition to the controller320, and the controller320may continue updating the state history.

If a transition from an old sensor state to a new sensor state is detected (e.g., a door is opened), the security system may use the state history to determine whether an alert needs to be sent regarding the current state transition event. This may comprise determining a score that is based on several factors, and comparing the score to a predetermined threshold. One factor may be based on how common it is for the current state transition event (e.g., motion sensor going from “no motion detected” to “motion detected”) at the current time period (e.g., time of day, day of week, day of month, combinations thereof, etc.). Another factor may be based on how common it is for the security system sensors to be in the new state (e.g., all doors and windows closed, but motion detector sensing motion) at the current time period. This may be generally represented using the following:
STOTAL=STRANSITION+SSTATE

STOTALmay represent a total score for the current state transition event (e.g., opening of a particular door changes the state of the door sensor from closed to open).

STRANSITIONmay represent a score that is based on a determination of how normal the current state transition is for a current time period in the state history (e.g., how common it is for that particular door to transition from closed to open states at this particular time). SSTATEmay represent a score that is based on a determination of how normal the new state (door in a closed state) is for the current time period in the state history.

A particular state transition event may be deemed abnormal if its STOTALsatisfies a particular threshold score (e.g., if STOTALfalls below 0.05).

Based on these and other factors, the current event may be determined to be abnormal, and a security alert may be sent to the user device350.

FIGS.4A to4Eshow example methods for detecting abnormal events at premises by a security system. The steps may be performed, for example, by the security controller320, although user device350, remote device, a remote device via network309, or any other device may be used additionally or alternatively. InFIG.4A, at step401, a configuration may be performed. The configuration may comprise downloading software, applications and/or instructions from an external server (e.g., the push server105, the content server106and/or the app server107), via the external network309or the wireless access points327. The configuration may comprise receiving users' preferences regarding an alarm or notification from the external server. At step402, inputs may be received from the various sensors, e.g. the sensors302,303,305,307. The sensors may send their states (e.g., contact closed, contact open, degree of opening, motion detected, etc.) and/or transitions of the states to the controller320. As previously discussed, the controller320may continue monitoring the premises360and receiving the states from the various sensors, even if the security system is disarmed.

At step403, the inputs from the various sensors, such as, e.g., the sensors302,303,305,307, may be processed and/or stored. In the inputs, new states and/or transitions of, e.g., the sensors302,303,305,307may be indicated. Raw data may be received from the various sensors, and the inputs may be trimmed, filtered, or reorganized. For example, a sensor302report may include an indication of a battery level at the sensor302, and if the battery level is too low (e.g., below a minimum threshold voltage level), the report from that sensor302may be discarded or otherwise marked as suspect. A suspect report could be ignored as unreliable, or subject to further verification (e.g., via another report). The controller320may regroup or reorder the new states and/or transitions based on their recorded time and dates. The inputs from the sensors may be encoded into linked lists or other digital formats. The inputs from the sensors may be stored as a time-series sequence.

At step404, the state history of the various sensors, e.g. the sensors302,303,305,307, may be updated. The state history may be stored in memory of the controller320(e.g., the read-only memory (ROM)202, the random access memory (RAM)203, or the removable media204ofFIG.2) and/or an external server (e.g., the content server106ofFIG.1).FIG.5shows an example of information in the state history. In theFIG.5example, the sensors302,305,307may correspond to a front door sensor302, back door sensor305, and motion sensor307. The sensors302,305,307may provide either a state “0” or a state “1” depending on whether the contact switch is open or closed (or in the case of the motion detector, if motion is detected). The “0” and “1” may be status labels. For example, the state “0” may show that a door is closed or no motion is detected. The state “1” may show that a door is opened or a motion is detected. In the state “0” of a door or window sensor, a door or window may be closed. In the state “1” of the door or window sensor, the door or window may be opened.

InFIG.5, a first state510may have been reported by the sensors302,305,307at time 12:00:00 on Monday of Week 4. That first state510may indicate that, at the time of the first state, the front door is closed (e.g., sensor302reports a ‘0’), the back door is closed (e.g., sensor305reports a ‘0’), and no motion is detected (e.g., sensor307reports a ‘0’). A second state520(e.g., one second later at time 12:00:01) may indicate a different sensor state. The second state520may report the same values for the front door and motion sensor, but the back door sensor305has reported that it is open (e.g., sensor305reports a ‘1’). The first state510value of ‘000’ is different from the second state520value of ‘010’, so the system may determine that a security sensor state transition has occurred. The new state of the sensors may have been caused by a current security event, such as the opening of the back door as detected by the back door sensor305.

Each of the states510,520,530and540inFIG.5may represent the states of the sensors302,305,307at a particular time. The states may be continuously monitored, and the security sensor states may be stored periodically according to a schedule (e.g. every second, every minute, etc.). The states may also (or alternatively) be stored when there is a change in the state of one or more of the sensors302,305,307(e.g., if entries are normally stored every second, and a door is opened 0.5 seconds after the last entry, a new entry may be added immediately instead of waiting for the next scheduled entry). In theFIG.5example, the last column may show a time for the reported states.

The states510,520,530,540may be encoded in various data structures such as linked lists. For example, encoding inputs from security sensors may be performed by the controller320. The state history may be continuously updated when the controller320receives inputs from security sensors. The state history may be stored in memory of the controller320(e.g., the read-only memory (ROM)202, the random access memory (RAM)203, or the removable media204ofFIG.2). Alternatively, raw inputs from security sensors (e.g., a voltage level, a distance measurement, etc.) may be transferred to an external server (e.g., the content server106ofFIG.1) through the external network309. Or, the sensors may send encoded inputs that provide a simple state value (e.g., closed or open). The state history may be updated by supplying raw inputs or encoded inputs to an external server. The controller320may save memory space or computational power by simply storing the state value instead of the raw inputs. Also, the controller320may depend on an external server in filtering, processing, or encoding incoming inputs from security sensors.

At step405, the security system may determine whether it is in an armed state. If it is in an armed state, users may be notified of the change in security sensor state without requiring a determination as to whether the change is normal. However, the controller320may continue receiving inputs from the various sensors (e.g., in step402) and updating the state history. If, in step405, the security system is in an unarmed state (e.g., step405: no), the system may determine at step406whether the current security sensor state has changed from a previous state to a new state (e.g., a door sensor has indicated an open state whereas a prior report indicated a closed state, a motion sensor has registered motion whereas a prior report did not register motion, etc.), indicating that a state transition of the sensors has occurred (e.g., step406: yes). If a state transition has been detected, then in step407(FIG.4B) a portion of the security sensor state history may be retrieved for purposes of determining whether the state transition is abnormal.

At step407, the controller320may retrieve a portion of the state history for a given time frame such as, e.g., one hour, one day, four weeks, one year, etc., based on the current state transition, to permit the determination of whether the current state transition is abnormal. The time frame may be any desired time frame in which the state transition is likely to be repeating. For example, many actions occur daily (e.g., opening the door to get the newspaper at 5 am, going to work at 7 am, etc.), hourly (e.g., retrieving firewood in winter months), monthly (e.g., reading a utility meter for monthly billing purposes), or at other regular intervals, and the retrieved portion of the state history may encompass a number of these intervals sufficient to identify repeating patterns. Users may show a similar schedule or life style on each day, week or month.

FIG.6shows an example of such a retrieved portion of the state history. InFIG.6, a current transition601has been detected on a Monday at 16:00. In that current transition601, the security sensor state changed from ‘001’ to ‘011,’ which may indicate that the back door has opened. After detecting this current transition601, state history information for the four most recent Mondays, in a time range surrounding the time of the current state transition601(e.g., 12:00 to 20:00), may be retrieved.

InFIG.6, sensor states602-605in the state history are illustrated for the four most recent Mondays, and in a time range surrounding the time of the current state transition.FIG.6also highlights several state transitions606-608that match the current state transition (e.g., other times at which the state also changed from ‘001’ to ‘011’). Those matching state transitions may be used to help determine whether the current state transition is abnormal.

Several scores may be determined based on the current transition601and the retrieved portions of the state history. A transition score (STRANSITION) may indicate a degree to which the particular transition has occurred at the same or similar times in the state history, and a new state score (SSTATE) may indicate a degree to which the new state following the transition is normal at the same or similar times in the state history. The STRANSITIONmay be determined in steps408to413ofFIG.4B, and the SSTATEmay be determined in steps414to419ofFIG.4C. Based on the transition score (STRANSITION) and the new state score (SSTATE), it may be determined whether the controller320should send out an anomalous activity alert to users.

At step408, a determination may be made as to whether the retrieved portions of the state history (e.g., the 4 past Mondays from 12:00 to 20:00) comprise the current state transition601ofFIGS.6to7C. If the current state transition601is found in the state history (e.g., step408: yes), the controller320may proceed to step409. If the current state transition601is not found in the state history (e.g., step408: no), the controller320may proceed to step414. Example methods of determining the transition score (STRANSITION) and new state score (SSTATE) will be discussed in further detail with reference toFIGS.4B &4C, and based on the example timelines ofFIGS.7A to7C.

TheFIG.7Atimelines illustrate the sensor state information fromFIG.6, but in a timeline form to illustrate how the repeating time portions and sensor states may correspond. A current sensor state timeline701may indicate the measured states of the various security sensors, and the current state transition601(changing from ‘001’ to ‘011’) is shown occurring at 16:00 (as discussed above and shown inFIG.6). Similarly, the data for the most recent Monday in Week 1 (1 week ago)602is shown in timeline702. The data for Monday in Week 2 (2 weeks ago)603is shown in timeline703; the data for Monday in Week 3 (3 weeks ago)604is shown in timeline704, and the data for Monday in Week 4 (4 weeks ago)605is shown in timeline705.

FIG.7Billustrates the same timelines701-705, and in step409ofFIG.4B, time windows may be determined for use in determining the state transition score (STRANSITION). The state transition score may indicate how common this particular state transition is, at this particular time, in the state history. If the same transition had occurred at exactly the same time in the state history (e.g., the same door was opened last Monday at 16:00 as well), then that matching transition in the history is good evidence that the current transition is normal. If a matching transition happened at a similar time that was not exactly the same (e.g., the same door was opened last Monday at 16:30, and not 16:00), then that matching transition may still suggest that the current transition is normal, but to a lesser degree than if the matching transition had occurred at exactly the same time. The time windows may be used to reflect this. InFIG.7B, the first time window706may be centered at the time of the current state transition (16:00), and extends an hour before and an hour after (e.g., 15:00-17:00). If a matching transition is found to have occurred within this first time window, then a relatively high state transition score S1 may be given to that matching transition, increasing the likelihood that the current transition is normal. The second time window may be in two parts,707a(e.g., 14:00-15:00) and707b(e.g., 17:00-18:00), which are an hour on either side of the first time window706. If a matching transition is found in the second window, then a lower state transition score S2 may be given to the matching transition. The third time window may also be in two parts,708a(e.g., 13:00-14:00) and708b(e.g., 18:00-19:00), which are an hour on either side of the second time window. A matching transition in the third time window may be given an even lower state transition score S3. Additional and/or alternative time windows may be chosen, depending on particular user patterns and preferences.

At step410, different scores may be determined for the different windows. The values for these scores may be, for example, the following:S1=1.0;S2=0.5; andS3=0.333

Matching transitions that occur outside of the windows, or no matching transitions, may yield a score of 0.0. Of course, the windows and scores given above are just examples, and other values may be used as desired.

In step411, the retrieved portion of the state history may be examined to determine whether any matching state transitions are found. Using the example ofFIG.7B, there are three matching state transitions in which the security sensor state made the same transition (from ‘001’ to ‘011”) as the current transition. The first matching state transition606is in timeline702(last Monday), and occurred within the first window706. The second matching transition607is in timeline704(3 weeks ago, Monday), and occurred in third window708b. The third matching transition608is in timeline705(4 weeks ago, Monday), and occurred in the first window706. In the example, there happened to be no matching transitions on the Monday 2 weeks ago (timeline703).

In step412, and using the example window scores above, the following state transition scores (STRANSITION) may be assigned for the 4 prior Mondays:Last Monday—matching transition606(first window)=S1=1.0;2 Weeks ago—no matching transitions=0.03 Weeks ago—matching transition607(third window)=S2=0.333; and4 Weeks ago—matching transition608(first window)=S1=1.0

In step413, the state transition scores may be adjusted based on their recency. In general, if a matching state transition occurred recently (e.g., last week), then that matching state transition may be a strong indicator of the normality of the current state transition. If a matching state transition occurred in the more distant past, then that older matching state transition may be a weaker indicator of the normality of the current state transition. The state transition scores may be adjusted in step413to account for this difference. To do so, a weighting factor W may be determined based on the total number of weeks N that were retrieved. For example, state transition data from four weeks are shown inFIG.6. With N=4, the weight W may be determined based on the following:

W+W2+W3+W4+…+WN=N⁢W+W2+W3+W4=4⁢W=1.9⁢2

The state transition score for any given week may be adjusted by a factor of:

W#⁢Weeks⁢Ago

So, using the example above, the score for last Monday was 1.0, and since last Monday was one week ago, that adjusted score (STRANSITION(WEEK 1)) would be as follows:
(1.0)*1.92/1=1.92

The score for the Monday 3 weeks ago was 0.333, and the adjusted score (STRANSITION(WEEK 3)) would be as follows:
(0.333)*1.92/3=0.21

The score for the Monday 4 weeks ago was 1.0, and the adjusted score (STRANSITION(WEEK 4)) would be as follows:
(1.0)*1.92/4=0.48

These adjusted state transition scores (STRANSITION) may be used in conjunction with new state scores (SSTATE), described below with reference toFIG.7C.FIG.7Cillustrates the same timelines asFIGS.7A &7B, but with different windowing data.

In step414, a determination may be made as to whether the retrieved portions of the state history (e.g., the 4 past Mondays from 12:00 to 20:00) comprise any portions in which the security sensor state matched the new state. So, for example, the current state transition601changed from ‘001’ to ‘011’, so the new state is ‘011.’ As illustrated inFIG.7C, that new state is found in three instances in the retrieved portion of the state history. A first new state portion709is found in last Monday's timeline702, a second new state portion710is found in the timeline704(Monday 3 weeks ago), and a third new state portion711is found in the timeline705(Monday 4 weeks ago).

Steps415and416may be the same as steps409and410, and the same windows and initial values S1, S2, and S3 may be used.

In step417, the state history may be examined to identify the portions in which the security sensor state matched the new state after the current state transition. As discussed above in step414, the new state portions709-711may be identified in this step.

In step418, fractional portions of the durations of windows706-708bmay be determined based on the durations of new state portions709-711. The fractional portions may indicate a percentage of each window that is occupied by the new state portion. For example, new state portion709occupies 75% of window706and 66% of window707b. New state portion710occupies 48% of window708b. New state portion711occupies 83% of window706and 66% of window707b.

In step419, and similar to step412ofFIG.4B, weekly new state scores may be determined for the retrieved portion of the state history (e.g., the 4 weeks shown inFIGS.6-7C). For each Monday in the retrieved portion of the state history, the fractional portions determined in step419may be applied to the corresponding window values (S1, S2, S3) for the windows that were occupied on that day, and their values summed to obtain a new state score for that day. So for example, new state portion709occupied 75% of window706and 66% of window707b. The window value for window706(discussed above) is 51=1.0, and the window value for window707bis S2=0.5. So the new state score for last Monday would be as follows:
(75%)*(1.0)+(66%)*(0.5)=1.08

The new state score for the Monday 3 weeks ago (timeline704) would be as follows:
(48%)*(0.333)=0.16

The new state score for the Monday 4 weeks ago (timeline705) would be as follows:
(83%)*(1.0)+(66%)*(0.5)=1.16

The new state score for the Monday 2 weeks ago, which had no time in the new state, would simply be zero.

In step420, the new state scores may be adjusted based on recency, using the same factors discussed in step413. At this point, state transition scores and new state scores may have been determined for each of the previous Mondays. In step421, these scores may then be summed to arrive at a total score (STOTAL) Using the examples above, the total would be:
1.92+0.21+0.48+1.08+0.16+1.16=5.01

FIGS.4D &4Eillustrate example methods of determining whether to send a security alert to users of the system based on the total score as determined, e.g., in step421ofFIG.4C. At step422, the total score may be retrieved from, e.g., memory of the controller320or an external server.

At step423, information indicating confirmed normal or abnormal events may be retrieved. For example, users may participate in adjusting a security score for the same event repeating in future by providing a confirmation of normality or abnormality of the current event. If the same event repeats, a score for the event may be adjusted based on the previous user confirmation on the event's alleged normality or abnormality. The controller320or an external server may store the confirmation. Step423may be performed before the process of determining the total score for the current event, e.g., in step421ofFIG.4C.

As an example, if the back door of the premises360may be open on a Monday at 16:00, the system may initiate determining a security score as previously discussed inFIGS.4A to4C. The system may also detect, a few weeks ago, the same event occurred at around the same time on a Monday and an alert was sent to the user. The user may have responded to the alert by confirming the normality or abnormality of the event. Alternatively, the user may not provide a confirmation or ignore the alert. If the system detects a previous user feedback as to the normality or abnormality, it may be stored and used to adjust a score for the current event, e.g., on a Monday at 16:00.

At step424, it may be determined whether the current event has been confirmed normal or abnormal by a previous user who had received an alert of the same event and provided a user feedback. If the event had been confirmed normal or abnormal (e.g., step424: yes), the controller320may proceed to step425. On the other hand, if the event is not confirmed normal or abnormal (e.g., step424: no), the controller320may proceed to step426.

If the user had previously confirmed that the same event is normal, the score for the current event (e.g., as determined in step421) may be raised by, e.g., a confirmed normal event factor (αconfirmed-normal). On the other hand, if the user had previously confirmed that the same event is abnormal, the score for the current event may be lowered by, e.g., a confirmed abnormal event factor (βconfirmed-abnormal). Example methods of adjusting the current score based on user feedbacks will be discussed in further detail below.

At step425, the current score may be adjusted based on the confirmed event factors (e.g., αconfirmed-normaland βconfirmed-abnormal). The total score for the current event may be 5.01, e.g., as in step421. If αconfirmed-normalis 3 and the event had been previously confirmed normal, an adjusted score for the event may be 5.01+3=8.01. On the other hand, if βconfirmed-abnormalis 5 and the event had been previously confirmed abnormal, an adjusted score for the event may be 5.01−5=0.01. Here, the factor βconfirmed-abnormalmay be greater than the factor αconfirmed-normal, since it may be more critical to alert users if the current event had been designated as being abnormal, rather than being normal. The factors may be adjusted by users and security service providers.

At step426, a threshold score may be retrieved from, e.g., memory of the controller320or an external server. If the score for the current event (e.g. as determined in step424or425) is below the threshold score, the current event may be abnormal and an alert may be sent to the users. An example threshold score may be 0.05, which may be adjusted by users and security service providers. The threshold score may be varied at different times. For example, users may employ a lower threshold score at night than during daytime, since users may feel more vulnerable at night, and may be more interested in receiving an alert from the system. In this disclosure, as previously discussed, users may receive an alert from the system if the current event is deemed abnormal, even though the system is turned off or unarmed.

At step427, it may be checked whether the score for the current event is below the threshold score. If the score is below the threshold score (e.g., step427: yes), the current event may be abnormal and the controller320may proceed to step428. If the score is equal to or above the threshold score (e.g., step427: no), the current event may be normal and an alert may not be sent. In this case, the controller320may proceed to step402and continue receiving inputs from the sensors.

The following are different scenarios for determining whether the total score is below the threshold score at step427, depending on whether the current event is confirmed normal, abnormal, or not confirmed.

If the current event had been previously confirmed normal, the adjusted score for the event as determined in step425may be 8.01, which is greater than the threshold, 0.05 (e.g., step427: no). In this case, the current event may be deemed normal and an alert may not be sent. The controller320may proceed to step402and continue receiving inputs from the sensors.

If the current event had been previously confirmed abnormal, the adjusted score as determined in step425may be 0.01, which is lower than the threshold, 0.05 (e.g., step427: yes). In this case, the current event may be deemed abnormal. The controller320may proceed to step428and an alert may be sent to, e.g., authorities, security service providers, or designated individuals. As previously discussed, even if the system may be currently unarmed (e.g., step405: no), it may be advantageous to alert the users.

If the current event had not been confirmed either normal or abnormal, the score as determined in step421may be 5.01, which is greater than the threshold, 0.05 (e.g., step427: no). In this case, the current event may be deemed normal and an alert may not be sent. The controller320may proceed to step402and continue receiving inputs from the sensors.

If the alert is sent to the user, at step429, the alert may comprise user interface enabling users to respond to the alert, by noting that the current event is either normal or abnormal. The users may simply forget about responding to the alert, or may designate the normality or abnormality of the current event.

At step430, a determination may be made as to whether the user feedback is received. If the user does not respond to the alert (e.g., step430: no), the controller320may proceed to step432. On the other hand, if the user notes that the current event is normal or abnormal (e.g., step430: yes), the controller320may proceed to step431.

As previously discussed in step425, if the same event repeats in future, the user confirmation of abnormality may be used in adjusting a score of the future event based on the confirmed abnormal event factor (βconfirmed-abnormal). Similarly, the user confirmation of normality may be used in adjusting the score of the future event based on the confirmed normal event factor (αconfirmed-normal).

At step431, the user confirmation for the current event may be stored in memory of the controller320or an external server. At step432, the state history may be updated. The state history may be updated with the various information such as, e.g., the state transition scores (e.g. in step413), the new state scores (e.g., in step419), the total scores (e.g. in step421), the adjusted scores based on the user feedback (e.g. in step425), a determination of normality or abnormality of the current event (e.g., in step427), and/or the user feedback (e.g., in step431). At step433, the updated state history may be sent to an external server (e.g., the content server106ofFIG.1). The controller320may proceed to step402ofFIG.4A. At step402, the sensors of the system may continue monitoring the premises360, regardless of whether the security system is armed or unarmed.

FIGS.5to7Cillustrate various examples of methods, processes and/or systems of determining whether the current event is normal or abnormal and whether to send an alert or notification to the users of the system, as described with reference toFIGS.4A to4E.

In this disclosure, the system may be used in machine learning environment which employs a security score to dynamically determine whether to send an alert to users. The system may be part of an AI system, etc. The system may receive, store and analyze user feedbacks or confirmations responding to the previous alerts. In general, the user feedbacks on whether an event is normal or abnormal may be accrued and studied, in order to make predictions or decisions on whether to send an alert to users. The user feedbacks may also be used to optimize a threshold score. In machine learning environment, the accumulated user feedbacks may be used for training purposes to improve accuracy on predicting whether the event is a real security threat or not. Based on this prediction capability, the system may dynamically and automatically determine whether to send a security alert to users, without being explicitly programmed.

Although examples are described above, features and/or steps of those examples may be combined, divided, omitted, rearranged, revised, and/or augmented in any desired manner. Various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this description, though not expressly stated herein, and are intended to be within the spirit and scope of the disclosure. Accordingly, the foregoing description is by way of example only, and is not limiting.