Abstract:
A power outage detection system. The system includes a device configured to increment a reboot counter when the device is powered up, and to transmit a first message when the device loses power and a second message when the device is powered up, and a back office system. The first message includes the value of the reboot counter and a timestamp, and the second message includes the value of the reboot counter. The back office system includes a finite state machine configured to receive the first and second messages. The finite state machine determines if the received first message is valid using the value of the reboot counter and the timestamp, and determines if the received second message is valid using the value of the reboot counter. The finite state machine then outputs an accurate indication of the state of the device.

Description:
BACKGROUND 
       [0001]    The present invention relates to a system which monitors for smart grid power outages and restorations. 
         [0002]    Utility companies are in the business of reliably delivering power to their customers. Currently, utility companies rely on their customers to inform them of power outages or use some high level monitoring system. 
       SUMMARY 
       [0003]    Relying on customers to report power outages is error-prone and results in inherent delays in understanding the true state of power outages on the grid. Current high level monitoring systems experience adverse network conditions such as dropped, out-of-order and duplicate outage messages, and therefore cannot accurately determine power outages. The power outage detection system for smart grids accurately determines power outages and restorations for smart grid devices under adverse network conditions in which messages may be dropped, arrive out-of-order, or are duplicated using a finite state machine. 
         [0004]    In one embodiment, the invention provides a power outage detection system. The system includes a device configured to increment a reboot counter when the device is powered up, and to transmit a first message when the device loses power and a second message when the device is powered up, and a back office system. The first message includes the value of the reboot counter and a timestamp, and the second message includes the value of the reboot counter. The back office system includes a finite state machine configured to receive the first and second messages. The finite state machine determines if the received first message is valid using the value of the reboot counter and the timestamp, and determines if the received second message is valid using the value of the reboot counter. The finite state machine then outputs an accurate indication of the state of the device. 
         [0005]    In another embodiment the invention provides a method of determining a state of a device based on a message received from the device. The method includes receiving a message from the device, the message having a first type including a reboot counter and a timestamp or a second type including the reboot counter, transitioning the state of the device from online to momentary when a valid first type message is received and a difference between the timestamp and the current time is less than a predefined time duration, transitioning the state of the device from momentary to online when a valid second type message is received, transitioning the state of the device from momentary to sustained when the difference between the timestamp and the current time exceeds a predefined time duration without receiving a valid second type message, transitioning the state of the device from sustained to momentary when a valid first type message is received and a difference between the timestamp and the current time is less than a predefined time duration, and transitioning the state of the device from sustained to online when a valid second type message is received. 
         [0006]    Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  is a schematic view of an outage detection system. 
           [0008]      FIG. 2  is a block diagram of a back office computer of an outage detection system. 
           [0009]      FIG. 3  is a block diagram of a finite state machine of an outage detection system. 
           [0010]      FIG. 4  is a flow chart of a finite state machine. 
       
    
    
     DETAILED DESCRIPTION 
       [0011]    Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. 
         [0012]      FIG. 1  illustrates an outage detection system  100 . The outage detection system  100  includes a plurality of devices (e.g., meters)  105 , a wireless mesh network  106 , an access point  110 , and a back office system  114 . The back office system  114  includes a back office computer  115 , an outage processing system  120 , and a registrar  121 . The back office system  114  can be one system incorporating the outage processing system  120 , the registrar  121 , and/or the back office computer  115 , or the outage processing system  120 , the registrar  121 , and the back office computer  115  can all be separate systems. While reference is made herein to an electric utility and a utility grid for power distribution, it should be understood that the systems and methods described herein can also or alternatively be used with other utilities, such as, for example, water, gas, and/or other measurable and widely distributed services. In addition, the system and method can be used with other instrumented electrical devices (e.g., street lights). 
         [0013]      FIG. 2  illustrates the back office computer  115  of the back office system  114 . The back office computer  115  includes a processor  150  (e.g., a microprocessor, microcontroller, ASIC, DSP, FPGA, etc) and memory  155  (e.g., flash, ROM, RAM, EEPROM, etc.), which can be internal to the processor  150 , external to the processor  150 , or a combination thereof The memory  155  stores the software used for the outage detection system, while the processor  150  executes the stored software. The back office system  114  also includes an input/output interface  160  and a clock  165 . 
         [0014]    Referring back to  FIG. 1 , when a meter  105  powers on, it attempts to register with an access point  110 , which will assign the meter  105  an IPv6 address and forward a registration message to the registrar  121  of the back office system  114 . The outage processing system  120  receives the meter registration message containing the registration timestamp from the registrar  121  after a delay. In the embodiment shown, the registrar  121  acts as a Domain Name Server (DNS). 
         [0015]    The back office system  114  also uses ping requests to regularly determine if a meter  105  is powered on. The back office system  114  sends a ping request to a meter  105 . A positive ping response received by the back office system  114  indicates that the meter  105  is powered on. A negative ping response does not necessarily indicate that the meter  105  is powered off. A negative ping response could also mean network problems due to route instability or registration of meters  105  not yet complete or the ping request or response was dropped by the network due to congestion. Each ping response includes a timestamp. 
         [0016]    When a meter  105  loses power, the meter  105  sends a first message indicating it has lost power to the back office computer  115  via the mesh network  106 . This message is known as a last gasp message and contains a timestamp of when the last gasp message was sent. That is, the meter  105  sends the last gasp to neighboring meters  105  that still have power. The neighboring meters  105  receive the last gasp message and forward it to the access point  110 . The access point  110  then forwards the message to the back office computer  115 . 
         [0017]    The back office computer  115  receives and processes the last gasp message, determining if the last gasp message is valid. Examples of invalid messages include messages received multiple times, delayed messages, etc. Once a last gasp message is determined to be valid the back office system  115  determines a state of the meter  105 , and forwards the state to the outage processing system  120 , the outage processing system  120  keeps track of all the meters  105  within the wireless mesh network  106 . 
         [0018]    When power is restored to a meter  105 , the meter  105  sends a second message known as a restoration message to the access point  110 , via the wireless mesh network  106 . The access point  110  then sends the message to the back office computer  115 . The back office system  114  again determines if the message is valid. Once a restoration message is determined to be valid the back office system  115  determines a state of the meter  105 , and forwards the state to the outage processing system  120 . 
         [0019]    Messages are determined to be valid by using a reboot counter, timestamps of the last gasp messages, and the current time. The reboot counter indicates the number of reboots that the meter  105  has performed since installation. After each power on, the meter&#39;s reboot counter is incremented. The timestamps indicate the outage times. A last gasp message followed by a restoration message with an incremented reboot count produces a typical outage and restoration scenario. A momentary outage occurs when the time between the timestamp of a last gasp message and the current time is less than a predefined value (e.g., 5 minutes), also known as a momentary filter duration. An outage is considered a sustained outage when the time difference between the timestamp of the last gasp message and the current time is greater than the momentary filter duration. When a restoration message is received with the same or lower reboot count, the restoration message is a duplicate or is late. When a restoration message is received with a reboot count higher than expected, there are dropped or out-of-order messages. 
         [0020]      FIG. 3  shows a Finite State Machine (FSM)  200  used to keep track of the state of the meters  105 . The FSM  200  is implemented using a computer program, stored in the memory  155  and executed by the processor  150 . A different FSM  200  is created for each meter  105 . The back office computer  115  sends the determined state for each meter  105  to the outage processing system  120 , which records the state and determines whether an outage has occurred and the extent of the outage. 
         [0021]    The FSM  200  contains a last gasp register  201 , a restoration register  202 , and a current state register  203 . The last gasp register  201  will only be updated when the FSM  200  receives a last gasp message with a higher reboot count then the previously received last gasp message. A last gasp message with the same or lower reboot count than the previously received last gasp message will not update the last gasp register  201 . The same logic applies to the restoration register  202  for restoration messages. The clock  165  has the current time for comparison against the timestamps of the last gasp messages. The current state register  203  keeps track of the current state of the meter  105 , and is updated upon the meter  105  transitioning to a new state. 
         [0022]      FIG. 4  illustrates the states of the FSM  200 , including an online state  205 , a momentary state  210 , a sustained state  215 , and the transitions from one state to another. A meter  105  is in the online state  205  if power is not lost. A meter  105  is in the momentary state  210  if the meter  105  has an outage that has not yet lasted more than the momentary filter duration. A meter  105  is in the sustained state  215  if power remains out for more than the momentary filter duration. 
         [0023]    When the meter  105  is powered on it is in the online state  205 . When a last gasp message with a reboot count greater or equal to the restoration register  202  is received by the back office system  114 , the meter  105  transitions to the momentary state  210  if the difference between the timestamp of the received last gasp message and the current time is less than a predefined time period (i.e., a momentary filter duration) (transition  220 ). If a restoration message with a reboot count greater than the last gasp register  201  is received by the back office system  114 , the meter  105  transitions from the momentary state  210  back to the online state  205  (transition  225 ). 
         [0024]    When the meter  105  is in the momentary state  210 , a transition to the online state  205  occurs when a DNS registration message, or a ping response from the meter  105 , has a timestamp more recent than the timestamp of the most recent valid last gasp message (transition  225 ). When the meter  105  is in the momentary state  210 , a transition to the sustained state  215  occurs when the difference between the timestamp of the most recent valid last gasp message and the current time is greater than the momentary filter duration (transition  230 ). The meter  105  transitions from the sustained state  215  back to the momentary state  210  if a new last gasp message with a reboot count greater than the last gasp register  201  is received and the momentary filter duration has not yet occurred (transition  235 ). 
         [0025]    When the meter  105  is in the sustained state  215 , a transition to the online state  205  occurs when a restoration message with a reboot count greater than the last gasp register  201  is received (transition  240 ). When the meter  105  is in the sustained state  215 , a transition to the online state  205  also occurs when a DNS registration message, or a ping response from the meter  105 , is received with a timestamp more recent than the timestamp of the most recent valid last gasp message (transition  240 ). 
         [0026]    When the meter  105  is in the online state  205 , a transition to the sustained state  215  occurs when a last gasp message with a reboot count greater than or equal to the restoration register  202  is received having a difference between the timestamp of the message received and the current time greater than the momentary filter duration (transition  245 ). 
         [0027]    Scenarios occur that do not change the current state of the meter  105 . If the current state is the online state  205 , the meter  105  will stay in the online state if a last gasp message is received having a reboot count less than the previous restoration register  202 . The meter  105  will also stay in the online state  205  if a new restoration message is received. 
         [0028]    If the current state is the momentary state  210 , the meter  105  stays in the momentary state  210  if a last gasp message having a reboot count greater than the last gasp register  201  is received and the difference between the timestamp of the message and the current time is less than the momentary filter duration. The meter  105  also stays in the momentary state  210  when a last gasp message having a reboot count less than or equal to the last gasp register  201  is received. The meter  105  also stays in the momentary state  210  when a restoration message is received with a reboot count less than or equal to the last gasp register  201 . 
         [0029]    If the current state is the sustained state  215 , the meter  105  stays in the sustained state  215  if a last gasp message is received with a reboot count greater than the last gasp register  201 , and the difference between the timestamp of the message and the current time is greater than the momentary filter duration. The meter  105  stays in the sustained state  215  if a last gasp message is received with a reboot count less than or equal to the last gasp register  201 . The meter  105  stays in the sustained state  215  if a restoration message is received with a reboot count less than or equal to the last gasp register  201 . 
         [0030]    The table below illustrates the start state, end state, triggering event, and the corresponding transitions of  FIG. 4 , as described above. The triggering event is represented in Boolean language, using last gasp message (LG), restoration message (RS), last gasp register (LG_R), restoration register (RS_R), and momentary filter duration (MF). For example, transition  220 , having an online start state and momentary end state, has a triggering event of LG(&gt;=RS_R &amp;&amp;&lt;MF). This means that the state will transition from the online state  205  to the momentary state  210  when a last gasp message (LG) is received that has a reboot count greater than or equal to the registration register  202  (RS_R), and the last gasp message (LG) has a time difference between the timestamp of the message and the current time that is less than the momentary filter duration (MF). 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
               
               
                 Start State 
                 End State 
                 Triggering Event 
                 Transition 
               
               
                   
               
             
             
               
                 Online 
                 Momentary 
                 LG(&gt;=RS_R &amp;&amp; &lt;MF) 
                 Transition 220 
               
               
                 Online 
                 Online 
                 LG &lt; RS_R 
                 No Transition 
               
               
                 Online 
                 Online 
                 RS &lt;= RS_R 
                 No Transition 
               
               
                 Online 
                 Online 
                 RS &gt; RS_R 
                 No Transition 
               
               
                 Online 
                 Sustained 
                 LG(&gt;=RS_R &amp;&amp; &gt;MF) 
                 Transition 245 
               
               
                 Momentary 
                 Online 
                 RS &gt; LG_R 
                 Transition 225 
               
               
                 Momentary 
                 Online 
                 Meter registration 
                 Transition 225 
               
               
                   
                   
                 timestamp more 
               
               
                   
                   
                 recent that most 
               
               
                   
                   
                 recent valid last 
               
               
                   
                   
                 gasp message 
               
               
                   
                   
                 timestamp 
               
               
                 Momentary 
                 Online 
                 Ping response 
                 Transition 225 
               
               
                   
                   
                 timestamp more 
               
               
                   
                   
                 recent that most 
               
               
                   
                   
                 recent valid last 
               
               
                   
                   
                 gasp message 
               
               
                   
                   
                 timestamp 
               
               
                 Momentary 
                 Momentary 
                 RS &lt;= LG_R 
                 No Transition 
               
               
                 Momentary 
                 Momentary 
                 LG &lt;= LG_R 
                 No Transition 
               
               
                 Momentary 
                 Momentary 
                 LG(&gt;LG_R &amp;&amp; &lt;MF) 
                 No Transition 
               
               
                 Momentary 
                 Sustained 
                 LG &gt; MF 
                 Transition 230 
               
               
                 Sustained 
                 Online 
                 RS &gt; LG_R 
                 Transition 240 
               
               
                 Sustained 
                 Online 
                 Meter registration 
                 Transition 240 
               
               
                   
                   
                 timestamp more 
               
               
                   
                   
                 recent that most 
               
               
                   
                   
                 recent valid last 
               
               
                   
                   
                 gasp message 
               
               
                   
                   
                 timestamp 
               
               
                 Sustained 
                 Online 
                 Ping response 
                 Transition 240 
               
               
                   
                   
                 timestamp more 
               
               
                   
                   
                 recent that most 
               
               
                   
                   
                 recent valid last 
               
               
                   
                   
                 gasp message 
               
               
                   
                   
                 timestamp 
               
               
                 Sustained 
                 Momentary 
                 LG(&gt;LG_R &amp;&amp; &lt;MF) 
                 Transition 235 
               
               
                 Sustained 
                 Sustained 
                 LG &lt;= LG_R 
                 No Transition 
               
               
                 Sustained 
                 Sustained 
                 RS &lt;= LG_R 
                 No Transition 
               
               
                 Sustained 
                 Sustained 
                 LG(&gt;LG_R &amp;&amp; &gt;MF) 
                 No Transition 
               
               
                   
               
             
          
         
       
     
         [0031]    Thus, the invention provides, among other things, a system and method for monitoring smart grid power outages and restorations under adverse network conditions in which messages may be dropped, arrive out-of-order, or duplicated. Various features and advantages of the invention are set forth in the following claims.