COMMUNICATION RESOURCE FAULT DETECTION
BACKGROUND OF THE INVENTION
The present invention generally relates to communication over one of multiple communications channels. More particularly, the present invention relates to establishing reliable communications over a least defective communication channel.
To access the Internet, a user operates an internet-compatible device to contact an Internet Service Provider (ISP). While numerous techniques are available for this process, one the most popular techniques is a "dial up" connection in which a modem in the user's internet device dials through the public switched telephone network (PSTN), typically including a competitive local exchange carrier (CLEC) to one or more ISP modems. To establish a communication link between the user's modem and an ISP modem, a communication protocol (e.g., a "handshake") is used to establish the connection. If an ISP modem is defective, due to a manufacturing defect, age, or other problem, the connection is likely to fail. During a busy period of Internet usage, a defective ISP modem may be unable to operate properly, and will not be able to establish and/or maintain the connection with the user's modem. Since the ISP is on a terminating (as opposed to originating) side of the connection, it is difficult to prevent the assignment of new call requests to a defective modem. The results are dropped calls and repeated attempts to access the Internet.
U.S. Patent 5,999,565 discloses a method and system for achieving data communication using a modifiable number of digital subscriber line (XDSL) modems. The disclosed system modifies the number of XDSL modems for communicating data based on a comparison of actual loading information with corresponding threshold information associated with the data rate capacity of the XDSL modems. If the data rate increases to a predetermined percentage (e.g., 80%) of the capacity of an XDSL modem, the system requests the service of an additional XDSL modem. Similarly, if the data rate decreases to a predetermined percentage (e.g., 30%) of the capacity of an
XDSL modem, and more than one XDSL modems are in service for a particular
communication session, the system requests the suspension or termination of service for one of the XDSL modems. The system is purported to support a session having variable data needs while optimizing the use of a number of XDSL modems.
The '565 patent further discloses the selection of lines based on a variety of characteristics and factors, including: different upstream and/or downstream data rate capacities, varying times needed to prepare the line for data communication, cost to operate the lines, minimum billing increments for line usage, and other operational parameters. An activity table is maintained to determine status information on twisted pair lines and XDSL modems. The activity table contains information on the minimum time each modem should be active for efficient use, the actual time each modem has been in an active state, a priority rank for each modem, fixed and/or adjusted data rate capacity, threshold values to remove or add a modem, and loading information detailing current data rates (e.g., packet rate, bit rate, error rate). The error rate in the disclosed system represents the number of errors or error bits divided by the total bits communicated by the modem. A high error rate may indicate malfunction or overtasking of the modem.
U.S. Patent 5,408,522 discloses a modem pooling system for enabling selective connection of a plurality of data terminal units to a single modem. The system detects an active or inactive status for each of the data terminal units. Among the active data terminal units, one is selected as a responsive terminal unit in accordance with a predetermined priority order, and the modem is connected to the selected responsive terminal unit prior to an incoming call response of the modem.
It would be desirable to provide functionality for a communications switch delivering service to ISPs to avoid the termination of calls due to defective modems. It would further be desirable to increase the percentage of completed calls via a modem pool of an ISP to the Internet.
SUMMARY OF THE INVENTION
The present invention overcomes the problems noted above, and achieves additional advantages, by providing for a method and apparatus for determining a least defective communication channel in which a communications switch has a first interface to a plurality of communications channels, a second interface to a communications device, and a management processor configured to receive a call request from the second interface, and to establish a call over one of the plurality of communications channels through the second interface in response to the call request. In accordance with an aspect of the present invention, the management processor can determine a call duration time for calls dropped from the communication channel, compare each call duration time to a threshold time, increment an abort counter for each call duration time less than the threshold time, and decrement the abort counter for each call duration time exceeding the threshold time. The management processor can also increment a defectiveness counter if the abort counter is equal to a first threshold count, and decrement the defectiveness counter if the abort counter is equal to a second threshold count, and determine the defectiveness of a communication channel based on the defectiveness counter.
BRIEF DESCRIPTION OF THE DRAWINGS
The advantages of the present invention can be understood more fully by reading the following Detailed Description of presently preferred embodiments of the invention in conjunction with the accompanying drawings, in which:
FIG. 1 is a diagram of a communications arrangement in which the present invention can be implemented; and
FIG. 2 is a flow chart describing a method according to one embodiment of the present invention.
DETAILED DESCRIPTION
Referring now to FIG. 1, a communication arrangement in which embodiments of the present invention can be advantageously implemented is shown. In this arrangement, a user modem 10, which can be contained in or otherwise operatively associated with a user operable internet-compatible device, is connectable to an Internet Service Provider (ISP) 12 via a competitive local exchange carrier
(CLEC) 14. It will be appreciated that the CLEC 14 thus has at least two interfaces; a first interface for connection to one or more user modems or similar communication devices, and a second interface for connection to the ISP 12 via one or more of a plurality of communication channels or lines. The ISP 12 has a plurality of modems 181 , ...18n . each of which can connect to the CLEC 14 via a corresponding data channel 20 j,...20n. At least one signaling channel 16 is provided between the CLEC 14 and the ISP to facilitate the set up of communication links over one or more of the data channels 20.
Generally speaking, a defective modem 18 is likely to drop a call during a handshake (call set up) period with the CLEC 14. According to an embodiment of the present invention, the CLEC 14 is provided with processing resources to maintain call duration statistics, and to use these statistics to avoid using defective modems . A threshold time period can be set in the CLEC 14, and the call set up times can be compared to this threshold to determine whether a modem is defective. If a call set up for a particular modem exceeds the threshold time, this event is recorded by the CLEC
14. Further, a second threshold can be set as a maximum number of times a particular modem can drop a call before an administrator is notified. Once an ISP modem drops a call, it is categorized as faulty, and therefore one that is not to be used unless all of the modems that have not dropped a call are busy, or all of the other available modems are equally or more faulty. If a modem that dropped a call is selected, and is able to successfully complete the call, its negative status is reduced or removed and it will thereafter have an increased chance of being selected from the modems having a similar defectiveness rating.
An algorithm representative of one implementation of the present invention will now be described. For purposes of this description, some definitions will be helpful. A call duration threshold is defined as a first configurable parameter, which can be stored and modified in the CLEC 14 and used to judge modem defectiveness modem hardware. A detection threshold is defined as a second configurable parameter to determine whether a modem is defective. A call duration timer is defined as a first set of statistics data associated with individual modems. A detection counter is defined as a second set of statistics data associated with individual modem hardware. In the following explanation, the above elements are each present in a processor and suitable supporting circuitry associated with the CLEC 14 of FIG. 1.
A call duration time can be defined as a time duration between a request by the CLEC 14 to the ISP for a modem 18 and the release of the modem 18 resource upon call termination (normally or abnormally). It will be appreciated that other suitable definitions of the call duration time can be used (e.g., the time duration between a request and the establishment of a communication link over a data channel, etc.). If the call duration time is shorter than the call duration threshold, this event is interpreted by the CLEC 14 as a dropped call, and the detection counter (in the CLEC 14) for that particular modem is incremented. When the detection counter value is equal to or greater than the detection threshold, the CLEC 14 identifies the particular modem as defective or flawed. When the detection counter value is equal to or greater than some other threshold, such as a predetermined multiple of the detection threshold or some other suitable value, the CLEC 14 electronically notifies an administrator (e.g., over the signaling channel, by electronic mail, by a wireless transmission to a receiver associated with the administrator, or other suitable means).
The CLEC 14 maintains a resource list (e.g., a data table) which can be defined as an available resource pool identifying available modems, and ranking the modems based on their associated detection counter values. This resource list can be consulted by the CLEC 14 and/or its associated processing circuitry to identify the most reliable resource for an incoming call request.
An exemplary logic flow will now be described with reference to FIG. 2. Such a logic flow can be implemented in software as machine-readable instructions stored on a medium that is readable by the CLEC 14 or by its associated processing circuitry. The system initialization process involves resetting, in the CLEC, the detection counter for each modem or communication channel. In step 200, it is determined whether a call has been requested, which can be defined as the receipt of a request from the user modem to establish a call, the initiation by the CLEC of a call connection with the ISP, or some other suitable definition. If no call has been requested, the process enters a wait state in step 200. If a call has been requested in step 200, then in step 202, a resource (i.e., a communication channel or ISP modem) is selected to handle the call event and is removed from the resource list. Step 202 can be performed by consulting a resource list to determine one or more least defective, available resources in a manner to be described below. In step 204, the call duration timer is started for the selected resource. This step can be performed when the resource is selected, when the handshake process to establish the communication channel is initiated, or at some other suitable time consistent with the definition of the call duration time. In step 206, a voice channel is selected and the call is established. After releasing the allocated modem resource upon call termination (normally by the user or abnormally by a faulty modem), the CLEC detects the call termination in step 208 and in step 210, stops the call duration timer and determines whether the call duration timer value is larger than the call duration threshold. If so, the CLEC decrements or resets the detection counter for the modem in step 214, and adds the modem to the available good modem resource list in step 216.
If, on the other hand, the CLEC determines that the call duration timer value is less than the call duration threshold in step 210, the detection counter for the modem is incremented in step 218.
In step 220, the detection counter is compared to a first threshold, the detection threshold. If the detection counter for the modem is equal to or greater than the detection threshold, then the modem is identified in the resource list as a flawed (i.e.,
lower priority) resource in step 222, and the process returns to step 200 to await the occurrence of a new call event. In step 224, the detection counter is compared to a second threshold, which can be a predetermined multiple of the detection threshold. If the detection counter is equal to or greater than the second threshold, then the CLEC identifies the modem as needing repair or replacement, and automatically signals an administrator associated with the ISP in step 226 via a signaling channel, an electronic mail communication, a wireless communication, a Network Operation Center (NOC), or other suitable technique. In one alternative embodiment, the first and second thresholds can be identical.
If, in step 220, it is determined that the detection counter is less than the detection threshold, the process returns to step 200 to await the occurrence of a new call event.
The step 222 of identifying the resource as flawed can be performed in a variety of ways. In one embodiment, the detection counter values of the modems or communication channels can be used to establish one or more data tables within the resource list of modems or communication channels having common detection counter values. These data tables can be searched by the CLEC processing circuitry to identify one or more least defective communication channels not currently in use, and this information can be used to assign communication channels to handle incoming call requests. This is one way of comparing the defectiveness counters of various modems or communication channels to determine the least defective communication resources. In this embodiment, the data tables are preferably updated for each change in the detection counter of a particular resource.
It should be appreciated that the description above has assumed that the resource list identifies ISP modems or communication channels, which can be identified in a number of ways. The ISP equipment may consist of multiple card cages (chassis), each of which has multiple circuit boards. Each circuit board can have multiple ports. Individual ports can have one or more modems. Thus, a modem in the ISP equipment can be identified in terms of Cage ID, Board ID, Port ID, and
Modem ID. The ISP equipment typically communicates with a Network Operation Center (NOC, not shown), using the well-known Simple Network Management Protocol (SNMP) or other suitable messaging technique, and the various ID's above are typically stored as Management Information Base (MIB) variables in the NOC databases. The CLEC switch also communicates with the NOC using SNMP messaging, and can obtain various ID information from the NOC MIB. The NOC or other source may request the CLEC for data relating to the defectiveness of the modems or communication channels.
The foregoing description includes numerous details which are provided for purposes of explanation only. These details are not to be construed as limitations of the invention. The details and examples presented above can be readily modified without departing from the spirit and scope of the invention, as defined by the following claims and their legal equivalents.