Patent Publication Number: US-9906426-B2

Title: Method of accelerating control link loss detection

Description:
FIELD OF THE INVENTION 
     The present invention relates to communications systems, in particular, to a Private Branch Exchange (PBX) network having a method of accelerating control link loss detection. 
     BACKGROUND OF THE INVENTION 
     Stimulus Internet Protocol (IP) phones differ from Time Division Multiplexing (TDM) based phones in that a breach in the communications link to the PBX is not known immediately. Most stimuli based IP phones use a “keepalive” scheme that requires one endpoint to periodically send a message across a control link to the other. The absence of the message when expected, or the absence of a response, inform the endpoint that the control link is no longer active. The state of the art in keepalive schemes is to use Transmission Control Protocol (TCP) layer keepalives, application layer keepalives, which are also known as “heartbeats”, or PINGs. These methods generally entail a messaging burden upon the PBX. The exception is when the PBX uses a multicast or broadcast heartbeat scheme. However, these schemes are problematic in that broadcasts are isolated to specific subnets, and multicast may not reach to other subnets on all networks, as some routers in the field do not support Internet Group Management Protocol (IGMP). 
     Some networks support a control link loss scheme that requires bidirectional application layer messaging. In this type of scheme, the administrator configures the IP phone poll and the heartbeat time periods to suit the needs of the network. The PBX sends each phone the information in a “Configure Link Management” control message which enables the feature in the phones. The PBX will expect to see a control message every poll period from each IP phone and each IP phone will expect to see a control message from the PBX every heartbeat period. If either side finds that the poll or heartbeat is absent, the control link can be torn down and data structures re-initialized. Alternatively, the phone can re-home to a new PBX. 
     The size of PBXs continues to grow, with increasing numbers of phones being supported by each PBX. If the control link between the PBX and a phone is lost for any reason, the phone loses its ability to make and receive calls. It is therefore desirable to shorten link loss discovery times in order to ensure that users are provided with timely availability of phone service. Shortening link loss discovery times by increasing the volume and/or frequency of messages sent between the PBX and the IP phones may be cumbersome to the PBX. Therefore, a solution for shortening link loss discovery times while not increasing the volume and/or frequency of messages is desirable. 
     SUMMARY OF THE INVENTION 
     In one aspect of the present invention there is provided a method of accelerating link loss detection. The method includes providing a plurality of IP devices in communication with a central server. When one of the plurality of IP devices discovers that communication between the first one of the plurality of IP devices and the central server is interrupted, it broadcasts a link loss message to others of the plurality of IP devices. One of the others of the plurality of IP devices then performs a verification process to confirm interruption of communication between the central server and the plurality of IP devices. If the verification process is successful, the one of the others of the plurality of IP devices broadcasts a link loss confirmation message and each of the IP devices terminates communication with the central server and reconnects to a new central server following receipt of the link loss confirmation message. If the verification process is unsuccessful, the IP devices resume normal operation. 
     In a further aspect of the present invention there is provided a network among a plurality of IP devices operable to communicate with a central server, the network comprising a plurality of IP devices for broadcasting a link loss message to other IP devices when communication between the plurality of IP devices and the server is interrupted, and a plurality of IP devices for performing a verification process to confirm interruption of communication between the server and the plurality of IP devices and broadcasting a server unavailable message if the verification process is unsuccessful, wherein each of the plurality of IP devices terminates communication with the server and reconnects to a new central server in response to receipt of the server unavailable message. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be better understood with reference to the following Figures in which like numerals denote like parts and in which: 
         FIG. 1  is a state diagram showing the interrelationship between operating states for IP phones, according to a preferred embodiment of the invention; 
         FIG. 2  is a schematic diagram of a plurality of IP phones connected to a PBX, wherein one of the IP phones that discovers a link loss and broadcasts a message, according to the preferred embodiment; 
         FIG. 3  is a state diagram showing state transitions for the IP phone of  FIG. 2  that discovers a link loss; 
         FIG. 4  is a schematic diagram of a plurality of IP phones connected to a PBX, wherein one of the IP phones elects itself to be an auditor, according to the preferred embodiment; 
         FIG. 5  is a state diagram showing state transitions for the IP phone of  FIG. 4  that becomes an auditor; 
         FIG. 6  is a schematic diagram similar to  FIG. 4  wherein an auditor confirms that a PBX is unavailable; 
         FIG. 7  is a schematic diagram similar to  FIG. 6  wherein the auditor finds that a PBX is available; and 
         FIG. 8  is a timing diagram showing operation following discovery of a link loss according to the preferred embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In an embodiment of the present invention described in greater detail below, a subnet of IP phones communicate with a central server, or PBX, to provide a PBX network. The PBX sends a Configure Link Management Parameters (CLMP) message to each IP phone upon connection of the IP phone to the PBX. The CLMP message includes link detection timer values for use with a heartbeat and poll scheme in which the PBX expects to receive a control message every poll period from each IP phone and each IP phone expects to receive a “keepalive” control message from the PBX every heartbeat period. The CLMP message further includes a 32 byte encryption key and a 16 byte initialization vector (IV). Since the connection between the PBX and the IP phone is already secure, the keys may be passed in the CLMP message. 
     Each IP phone in the subnet maintains a list of addresses of PBXs with which it may establish a connection. If the IP phone is unable to connect to the first PBX on its list, it will then attempt to connect to the next PBX address on its list until a connection is established. If the IP phone has attempted to connect to every PBX address on its list without success, the IP phone restarts at the beginning of the list. 
     Each IP phone is capable of operating in a link established state  10 , a backoff state  12 , a wait for confirmation state  14  and a re-home state  16 . The relationship between these states is generally outlined in  FIG. 1 . 
     Referring also to  FIG. 2 , if an IP phone operating in the link established state  10  discovers that it has not received a keepalive message from the PBX at the expected interval, it will broadcast a “Discovered Link Loss” message to all IP phones in its subnet. The “Discovered Link Loss” message includes the PBX IP address for validation purposes and the phone&#39;s IP address and MAC (Media Access Control) address for logging purposes. The message will further be encrypted using the encryption key and initialization vector (IV) received by all IP phones upon connection to the PBX. Following broadcast of the “Discovered Link Loss” message, the IP phone that sent the message will disconnect its control socket with the PBX and enter the re-home state  16 , as shown in  FIG. 3 . In the re-home state, the IP phone discovers and reconnects to the next PBX on its list. 
     The IP phones that receive the “Discovered Link Loss” message decrypt the message and verify that the PBX IP address is correct. The IP phones then enter the backoff state  12  for a random period of time (preferably with 10 ms granularity). All of the IP phones in the subnet receive the “Discovered Link Loss” message simultaneously and the first IP phone to complete its random backoff period becomes an auditor. Referring to  FIG. 4 , the auditor then broadcasts an encrypted “Link Loss Auditor Announcement” to the subnet to inform the other IP phones that it will verify the link loss. Once the IP phones receive the “Link Loss Auditor Announcement” from the auditor, they enter the wait for confirmation state  12 . 
     Referring to  FIG. 5 , a verification process is performed in which the auditor enters a PING state  18  and PlNGs the PBX one or more times with a maximum timeout of Pmax for each PING. Pmax is generally given a value of 1, however, may alternatively be given a different value. In addition, the auditor may PING the PBX one time or multiple times. Depending on the results of the PINGs, the auditor may either send out an encrypted “Link Loss Confirmed Announcement” broadcast, as shown in  FIG. 6 , or a “Link Loss Rejected Announcement” broadcast, as shown in  FIG. 7 . 
     If the IP phones receive a “Link Loss Confirmed Announcement” broadcast, each IP phone disconnects its control socket and enters the re-home state  16  in which it discovers and reconnects to another PBX. However, if the IP phones receive a “Link Loss Rejected Announcement”, they resume normal operation, which includes being available to make and receive calls. 
     Referring back to  FIG. 1 , it is possible that an IP phone will be in its backoff state and discover that it no longer has a control link with the PBX. In this case, the IP phone is expected to continue to backoff until it or another IP phone announces that it is self-elected as “link loss” auditor This delay does not add much to the link loss discovery time and ensures that the potential auditor pool remains fixed. If an IP phone discovers that it no longer has a control link with the PBX when in the wait for confirmation state  14 , the IP phone may re-home immediately. 
     The maximum link loss discovery time, which is also referred to as maximum overhead, is calculated by adding the maximum backoff interval, Bmax, to the maximum PING timeout period, 2*Pmax. The IP phones will discover that their control link is lost within [Bmax+2Pmax+(t/n)] seconds, assuming a keepalive rate of “t” seconds uniformly distributed over “n” IP phones. For example, for a random backoff spread of 0-3.0 seconds and a maximum PING timeout period of 1 second, the phones will discover that they have lost their connection to the PBX within [3+2+(t/n)] seconds. Therefore, increasing the number of IP phones “n” decreases the link loss discovery time. By contrast, in a traditional scheme, the IP phones discover that the control link is lost within “t” seconds regardless of the number of IP phones. 
     Operation of a client/server network, which includes IP phones A to H and IP phone X, will now be described with reference to  FIG. 8 . At time  0 , IP phone X detects that its TCP link to the PBX is down and broadcasts the “Discovered Link Loss” message to the other IP phones. As shown, the other IP phones are still waiting to receive their next heartbeat from the PBX. Upon receiving the broadcast, all of the IP phones randomly backoff. The IP phone that completes its backoff first becomes the self-elected auditor. In this example, the auditor is phone H. Phone H then sends out a “Link Loss Auditor Announcement” to the remaining IP phones to announce that it has elected itself as the link loss auditor and will confirm that the PBX is unavailable. The other IP phones then enter the wait for confirmation state  14 . Phone H confirms that the PBX is not available in a manner that has been previously described and sends out the “Link Loss Confirmed Announcement” message to the other IP phones. The other IP phones immediately disconnect their respective sockets and begin re-homing to the next PBX on their respective PBX lists. 
     During the random backoff interval, phone F discovers that it has lost its control link to the PBX. Since phone F is in the backoff state  12 , it waits until an auditor has been elected before re-homing. Phones D and B discover that they have lost their control links to the PBX during the wait for confirmation state  14 . As such, phone D and phone B immediately disconnect their sockets and re-home to the next PBX on their respective lists. 
     In the example of  FIG. 8 , the auditor confirmed that the link had been lost. If the link loss was not confirmed, phone H would have sent a “Link Loss Rejected Announcement” message and the IP phones would resume normal behavior. 
     A specific embodiment of the present invention has been shown and described herein. However, modifications and variations may occur to those skilled in the art. Other modifications and variations may occur to those skilled in the art. All such modifications and variations are believed to be within the sphere and scope of the present invention.