Network outage detection
11223945 · 2022-01-11
Assignee
Inventors
Cpc classification
H04W8/30
ELECTRICITY
H04W60/00
ELECTRICITY
H04L69/40
ELECTRICITY
International classification
H04W8/30
ELECTRICITY
H04W60/00
ELECTRICITY
Abstract
Systems, apparatuses, and methods are described for detecting network service failure and potential source of failure in a communication network employing registration requests. A current quantity of registration requests may be compared against an expected quantity of registration requests, and a network alert may be sent based on the comparison.
Claims
1. A method comprising: determining, by a computing device and for a plurality of repeating time intervals, a quantity of registration requests received by a server during each of the repeating time intervals; determining, based on the quantity of registration requests received by the server during each of the repeating time intervals, an expected quantity of registration requests received by the server; retrieving, for a recent repeating time interval, a quantity of recent registration requests received by the server; determining a source of an error based on determining whether the quantity of recent registration requests satisfies a first threshold or a second threshold of the expected quantity of registration requests, wherein the quantity of recent registration requests satisfying the first threshold is associated with a first source of error and the quantity of recent registration requests satisfying the second threshold is associated with a second source of error; and sending a network alert indicating the determined source of the error.
2. The method of claim 1, wherein the determining the expected quantity of registration requests comprises determining a historical quantity of registration requests received by the server.
3. The method of claim 1, wherein the first threshold and the second threshold of the expected quantity of registration requests are based on a historical quantity of registration requests received by the server.
4. The method of claim 1, wherein the first threshold is an upper boundary of the expected quantity of registration requests and the second threshold is a lower boundary of the expected quantity of registration requests.
5. The method of claim 1, further comprising: storing a registration history comprising a historical quantity of registration requests received by the server; and determining, based on the registration history, the first threshold and the second threshold of the expected quantity of registration requests.
6. The method of claim 1, wherein the determining the expected quantity of registration requests comprises: determining, based on a time associated with the recent registration requests, a subset of registration requests received by the server; and determining, based on the subset and the quantity of registration requests received by the server during each of the repeating time intervals, the expected quantity of registration requests.
7. The method of claim 1, wherein the determining the expected quantity of registration requests comprises determining, based on a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests received by the server.
8. The method of claim 1, wherein the determining the expected quantity of registration requests comprises determining, based on an upper boundary and a lower boundary of a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests received by the server.
9. The method of claim 1, wherein the determining the quantity of registration requests received by a server during each of the repeating time intervals comprises determining the quantity of registration requests received by the server via a Voice over Internet Protocol (VoIP) network.
10. The method of claim 1, wherein the determining the expected quantity of registration requests comprises determining, based on (1) a quantity of terminals registered with a network associated with the server and (2) a ratio between an upper boundary and a lower boundary of a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests.
11. The method of claim 1, wherein based on the quantity of recent registration requests being greater than the first threshold of the expected quantity of registration requests, the determined source of the error is determined to be the server.
12. The method of claim 1, wherein based on the quantity of recent registration requests being less than the second threshold of the expected quantity of registration requests, the determined source of the error is determined to be an intervening access network via which the registration requests are received by the server.
13. The method of claim 1, further comprising: storing information associating the first threshold with a first source of an error and associating the second threshold with a second source of an error, wherein the determining the source of the error comprises selecting, based on whether the quantity of recent registration requests satisfies the first threshold or the second threshold, between the first source and the second source.
14. An apparatus comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to: determine, for a plurality of repeating time intervals, a quantity of registration requests received by a server during each of the repeating time intervals; determine, based on the quantity of registration requests received by the server during each of the repeating time intervals, an expected quantity of registration requests received by the server; retrieve, for a recent repeating time interval, a quantity of recent registration requests received by the server; determine a source of an error based on determining whether the quantity of recent registration requests satisfies a first threshold or a second threshold of the expected quantity of registration requests, wherein the quantity of recent registration requests satisfying the first threshold is associated with a first source of error and the quantity of recent registration requests satisfying the second threshold is associated with a second source of error; and send a network alert indicating the determined source of the error.
15. The apparatus of claim 14, wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine the expected quantity of registration requests by determining a historical quantity of registration requests received by the server.
16. The apparatus of claim 14, wherein the first threshold and the second threshold of the expected quantity of registration requests are based on a historical quantity of registration requests received by the server.
17. The apparatus of claim 14, wherein the first threshold is an upper boundary of the expected quantity of registration requests and the second threshold is a lower boundary of the expected quantity of registration requests.
18. The apparatus of claim 14, wherein the instructions, when executed by the one or more processors, cause the apparatus to: store a registration history comprising a historical quantity of registration requests received by the server; and determine, based on the registration history, the first threshold and the second threshold of the expected quantity of registration requests.
19. The apparatus of claim 14, wherein the instructions, when executed by the one or more processors, cause the apparatus to determine the expected quantity of registration requests by: determining, based on a time associated with the recent registration requests, a subset of registration requests received by the server; and determining, based on the subset and the quantity of registration requests received by the server during each of the repeating time intervals, the expected quantity of registration requests.
20. The apparatus of claim 14, wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine the expected quantity of registration requests by determining, based on a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests received by the server.
21. The apparatus of claim 14, wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine the expected quantity of registration requests by determining, based on an upper boundary and a lower boundary of a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests received by the server.
22. The apparatus of claim 14, wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine the quantity of registration requests received by a server during each of the repeating time intervals by determining the quantity of registration requests received by the server via a Voice over Internet Protocol (VoIP) network.
23. One or more non-transitory computer-readable media storing instructions that, when executed, cause: determining, for a plurality of repeating time intervals, a quantity of registration requests received by a server during each of the repeating time intervals; determining, based on the quantity of registration requests received by the server during each of the repeating time intervals, an expected quantity of registration requests received by the server; retrieving, for a recent repeating time interval, a quantity of recent registration requests received by the server; determining a source of an error based on determining whether the quantity of recent registration requests satisfies a first threshold or a second threshold of the expected quantity of registration requests, wherein the quantity of recent registration requests satisfying the first threshold is associated with a first source of error and the quantity of recent registration requests satisfying the second threshold is associated with a second source of error; and sending a network alert indicating the determined source of the error.
24. The one or more non-transitory computer-readable media of claim 23, wherein the instructions, when executed, cause the determining the expected quantity of registration requests by causing: determining a historical quantity of registration requests received by the server.
25. The one or more non-transitory computer-readable media of claim 23, wherein the first threshold and the second threshold of the expected quantity of registration requests are based on a historical quantity of registration requests received by the server.
26. The one or more non-transitory computer-readable media of claim 23, wherein the first threshold is an upper boundary of the expected quantity of registration requests and the second threshold is a lower boundary of the expected quantity of registration requests.
27. The one or more non-transitory computer-readable media of claim 23, wherein the instructions, when executed, cause: storing a registration history comprising a historical quantity of registration requests received by the server; and determining, based on the registration history, the first threshold and the second threshold of the expected quantity of registration requests.
28. The one or more non-transitory computer-readable media of claim 23, wherein the instructions, when executed, cause the determining the expected quantity of registration requests by causing: determining, based on a time associated with the recent registration requests, a subset of registration requests received by the server; and determining, based on the subset and the quantity of registration requests received by the server during each of the repeating time intervals, the expected quantity of registration requests.
29. The one or more non-transitory computer-readable media of claim 23, wherein the instructions, when executed, cause the determining the expected quantity of registration requests by causing: determining, based on a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests received by the server.
30. The one or more non-transitory computer-readable media of claim 23, wherein the instructions, when executed, cause the determining the expected quantity of registration requests by causing: determining, based on an upper boundary and a lower boundary of a re-registration period within one of the plurality of repeating time intervals, the expected quantity of registration requests received by the server.
31. The one or more non-transitory computer-readable media of claim 23, wherein the instructions, when executed, cause the determining the quantity of registration requests received by a server during each of the repeating time intervals by causing: determining the quantity of registration requests received by the server via a Voice over Internet Protocol (VoIP) network.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Some features are shown by way of example, and not by limitation, in the accompanying drawings. In the drawings, like numerals reference similar elements.
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) 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.
(9)
(10) The communication links 101 may comprise various network components, such as hubs, switches, bridges, routers, receivers, transmitters, interfaces, adapters, wireless access points, etc., which are located between the local office 103 and the premises 102. For example, an intervening access network (described later in this disclosure) may comprise the communication links 101 located between the local office 103 and each of the premises 102. The local office 103 may send downstream information signals and receive upstream information signals via the communication links 101. Each of the premises 102 may comprise devices, described below, to receive, send, and/or otherwise process those signals and information contained therein. The local office 103 may be a telecommunication network's core part, which may offer numerous services to customers at the premises 102 via the communication links 101. The local office 103 may direct telephone calls (e.g., VoIP calls) over a public switched telephone network (PSTN) operated by national, regional or local telephone operators.
(11) The communication links 101 may originate from the local office 103 and may comprise components not illustrated, such as splitters, filters, amplifiers, etc., to help convey signals clearly. The communication links 101 may be coupled to one or more wireless access points 127 configured to communicate with one or more mobile devices 125 via one or more wireless networks. The mobile devices 125 may comprise smartphones, 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.
(12) The local office 103 may comprise a push notification server 105, a content server 106, an application server 107 and a communication server, such as a registration server 122. The push notification server 105 may be configured to generate push notifications to deliver information to devices in the premises 102 and/or to the mobile devices 125. The content server 106 may be configured to provide content to devices in the premises 102 and/or to the mobile devices 125. This content may comprise, for example, video, audio, text, web pages, images, files, etc. The content server 106 (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 server 107 may 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 transmitted to devices in the premises 102 and/or to the mobile devices 125. The local office 103 may comprise additional registration servers 122, such as a SIP (Session Initiation Protocol) server (described below), additional push, content, and/or application servers, and/or other types of servers.
(13) The registration server 122 may initiate, maintain, modify, and/or terminate real-time SIP sessions with user terminals (e.g., personal computers 114, laptop computers 115, wireless devices 116, VoIP phones 118, and/or the mobile devices 125). The real-time SIP sessions may involve, e.g., video, voice, messaging and other communication applications and services between two or more endpoints (e.g., registration server 122 and VoIP phone 118) on the communication network 100. The registration server 122 may manage a client-server protocol in text format: a user terminal (e.g., VoIP phone 118) may initiate a registration request and a server (e.g., registration server 122) may respond. The registration server 122 may comprise various servers and/or proxies, collectively called call session control function (CSCF). For example, although not shown in
(14) The registration server 122 may also handle registration requests (e.g., SIP messages) from the terminals. The registration server 122 may receive all signaling messages of locally registered terminals, inspect incoming and/or outgoing signals, provide subscriber authentication associated with the terminals, compress and/or decompress registration requests between the local office 103 and the terminals, receive registration requests from the terminals, and forward responses to the registration requests to the terminals.
(15) Although shown separately, the push server 105, the content server 106, the application server 107, the registration server 122, and/or other server(s) may be combined. The servers 105, 106, 107, and 122, 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.
(16) The local office 103 may comprise one or more network interfaces 108 that comprise circuitry needed to communicate via the external networks 109. The external networks 109 may comprise networks of Internet devices, telephone networks, wireless networks, wireless networks, fiber optic networks, and/or any other desired network. The local office 103 may also or alternatively communicate with the terminals, e.g. mobile devices 125, via the interface 108 and one or more of the external networks 109, e.g., via one or more of the wireless access points 127.
(17) The local office 103 may comprise a termination system 104 (e.g., a cable modem termination system (CMTS), a session border controller, a network firewall, etc.). The termination system 104 may be a network element between the communication links 101 and the local office 103 to provide service to residential and/or enterprise customers (e.g., in the premises 102). The termination system 104 may control or inspect data flows of sessions comprising call one or more signaling message exchanges, multimedia messages such as a call's audio, video or other data and information of call statistics and quality. At an edge of the local office 103, the termination system 104 may demarcate a backbone network (inside the local office 103) from the rest of the Internet (outside the local office 103). The termination system 104 may assist a network administrator in managing a flow of session data across the termination system 104. The communication links 101 and termination system 104 may comprise an intervening access network, via which a user terminal may send and receive registration messages to and from the registration server (e.g., registration server 122).
(18) VoIP services may be provided for consumers and enterprises based on a combination of the local office 103, the intervening access network and the terminals. Registration requests from the terminals may be failure sensitive. If a terminal fails to receive a positive response from a registration server, this terminal may retry the same server or failover to another server. The terminal may keep re-trying until it receives a confirmation message, and an abnormally high volume of registration requests to the registration server 122 may be indicative of a problem. Accordingly, a communication error alert for a registration server error may be issued. On the other hand, if the registration server 122 receives an abnormally low volume of registration requests, then this may be indicative of a problem in the access network (e.g., the communication links 101, the termination system 104, modem 110, etc.) between the terminal and the registration server 122, as fewer (or no) registration requests are being delivered to the registration server 122. Accordingly, a communication error alert for an access network error may be issued. Further details of proactively detecting VoIP service failure and determining between two potential sources of the failure (e.g., registration server 122 and access network) will be described below with reference to an example premises 102a and
(19) The example premises 102a may comprise an interface 120. The interface 120 may comprise circuitry used to communicate via the communication links 101. The interface 120 may comprise a modem 110, which may comprise transmitters and receivers used to communicate via the communication links 101 with the local office 103. The modem 110 may comprise, for example, a coaxial cable modem (for coaxial cable lines of the communication links 101), a fiber interface node (for fiber optic lines of the communication links 101), twisted-pair telephone modem, a wireless transceiver, and/or any other desired modem device. One modem is shown in
(20) The gateway 111 may also comprise one or more local network interfaces to communicate, via one or more local networks, with devices in the premises 102a. Such devices may comprise, e.g., display devices 112 (e.g., televisions), STBs or DVRs 113, the personal computers 114, the laptop computers 115, the wireless devices 116 (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)), the landline phones 117, the VoIP phones 118, 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 interface 120 with the other devices in the premises 102a may comprise wired or wireless connections, as may be appropriate for the type of local network used, and may comprise part of an access network between a communication terminal (e.g., VoIP phone 118, wireless device 116, etc.) and the registration server 122. The access network may comprise any communication media and/or components, wired or wireless, communicatively located between a terminal and the registration server 122.
(21) One or more of the devices at the premises 102a may be configured to provide wireless communications channels (e.g., IEEE 802.11 channels) to communicate with one or more of the mobile devices 125, which may be on- or off-premises. The mobile devices 125, one or more of the devices in the premises 102a, 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.
(22)
(23) Although
(24)
(25) In
(26) The access network 303 may correspond to, e.g., the access network as previously described in
(27) The registration messages may comprise a registration request sent to the registration server 301 and a registration response received from the registration server 301, and both registration messages may be delivered via the access network 303. The access network 303 may also comprise, e.g., series of wires, cables and equipment lying between a consumer/business telephone termination point at which a telephone connection reaches the customer (e.g., terminals 304-306) and a local telephone exchange that contains banks of automated switching equipment (e.g., registration server 301) which direct a call or connection to the terminals 304-306.
(28) The monitoring server 302 may be implemented at or near the registration server 301, and may observe a flow of registration requests and registration responses in the network 300 arriving at and leaving from the registration server 301. In
(29)
(30)
(31)
(32) A volume of registration requests may be predictable and relatively steady under normal operating conditions, because a group of the terminals 304 may be configured to regularly or periodically send a registration request to the headend 103 (e.g., in
N.sub.exp=N.sub.ter×ln(T.sub.up/T.sub.low)÷(T.sub.up−T.sub.low) N.sub.exp: Expected Quantity of Registration Requests per Registration Time Window N.sub.ter: Quantity of Terminals T.sub.up: Upper Registration Time (Beginning Time for Re-registration Period) T.sub.low: Lower Registration Time (End Time for Re-registration Period)
(33) For example, the network 300 may have 100,000 registered terminals (e.g., N.sub.ter=100,000) which may be determined based on the registration reports generated/stored by the monitoring server 302 as previously described in
N.sub.exp=N.sub.ter×ln(T.sub.up/T.sub.low)÷(T.sub.up−T.sub.low)=100,000×ln(0.90/0.75)÷(0.90−0.75)=121,547 per hour
(34) In
(35)
(36) The expected quantity of registration requests may comprise a range above and below the quantity N.sub.exp discussed above. The upper and lower boundaries of this allowed range (N.sub.up and N.sub.low) may be determined based on one or more historical quantities of N.sub.det stored in the registration history. It may be checked how much N.sub.det is deviated from N.sub.exp over retrieved registration history. A historical deviation (D) between one or more historical quantities of N.sub.det and the expected quantity of registration requests per registration time window (N.sub.exp) may be calculated by the following formula:
Historical Deviation(D)=|N.sub.det−N.sub.exp|
(37) To calculate a historical deviation D, a subset of the registration history may be retrieved (e.g., historical values of N.sub.det for last 5 days). A subset of the registration history (e.g., historical quantity of registration during same day of week for past one month, same time of day for past 5 days, all one-hour periods for past 3 days, etc.) may be designated and retrieved. The subset of the registration history may be used to calculate the historical deviation D, based on the expected quantity of registration requests N.sub.exp. The subset may be changed by the network administrator or other authorities. The subset may be updated per each registration time window, or may be maintained until a request to change the subset of the registration history is received from the network administrator. In this disclosure, N.sub.exp may be 121,547 per hour as described in
(38) Various historical deviations may be employed to determine the allowed range for N.sub.det. A maximum historical deviation associated with N.sub.det (D.sub.max) and a minimum historical deviation associated with N.sub.det (D.sub.min) during the last 5 days may be selected by the monitoring server 302. The maximum and minimum historical deviations (D.sub.max and D.sub.min) may be employed to determine an upper threshold for the allowed range (Th.sub.up) and a lower threshold for the allowed range (Th.sub.low). In
D.sub.max=|N.sub.det−N.sub.exp|=163,235−121,547=41,688 per hour
Th.sub.up=K.sub.1×D.sub.max=1.1×41,688=45,857 per hour
D.sub.min=|N.sub.det−N.sub.exp|=132,478−127,450=5,028 per hour
Th.sub.low=K.sub.2×D.sub.min=1.1×5,028=5,531 per hour
(39) Based on the expected quantity of registration requests (N.sub.exp) and the upper and lower thresholds (Th.sub.up and Th.sub.low) for the allowed range, the upper and lower boundaries (N.sub.up and N.sub.low) of the allowed range for the quantity of registration requests per registration time window (N.sub.det) may be determined. The allowed range may be defined as a numerical range from N.sub.up to N.sub.low, as shown in
N.sub.up=N.sub.exp+Th.sub.up=121,547+45,857=167,404 per hour
N.sub.low=N.sub.exp−Th.sub.low=121,547−5,531=116,016 per hour
(40) In
(41) In
(42)
(43) In
(44) At step 603, the quantity of the terminals 304-306 (N.sub.ter) connected to the registration server 301 may be determined based on the registration reports generated by the monitoring server 302. Alternatively, N.sub.ter may be determined based on communications between the monitoring server 302 and the terminals 304-306 at any time before step 603. N.sub.ter may be 100,000, as previously described in
N.sub.exp=N.sub.ter×ln(T.sub.up/T.sub.low)÷(T.sub.up−T.sub.low)=100,000×ln(0.90/0.75)÷(0.90−0.75)=121,547 per hour
(45) In
(46) At step 608, the upper threshold (Th.sub.up) for the allowed range for the quantity of registration requests per registration time window may be determined. For example, as in
(47) The constants K.sub.1 and K.sub.2 that are used to calculate the upper and lower thresholds (Th.sub.up and Th.sub.low) may be adjusted, depending on a desired frequency of alert triggering in the network 300. For example, K.sub.1 and K.sub.2 may be increased to enlarge the allowed range if a lower amount of alert triggering is desired (N.sub.det is more likely to be within the allowed range), whereas K.sub.1 and K.sub.2 may be decreased to shrink the allowed range if a higher amount of alert triggering is desired (N.sub.det is more likely to be out of the allowed range). An optimal allowed range for a detected quantity of the recent registration requests per registration time window (N.sub.det) may be determined based on a selection of K.sub.1 and K.sub.2, to avoid false alerts and misdetection of network errors. K.sub.1 and K.sub.2 may be determined via an analysis of historical data associated with registration (e.g., how N.sub.det has changed over a given time period, how much N.sub.det exceeds or falls below an expected quantity of the recent registration requests (N.sub.exp), etc.). The values of K.sub.1 and K.sub.2 may be obtained and/or updated based on such a training process via example computer software, hardware, algorithm and/or applications implemented on user devices (e.g., VoIP phone 118, laptop computer 115, personal computer 114, mobile devices 125, etc.).
(48) At step 610, based on the expected quantity of the recent registration requests (N.sub.exp) and the upper and lower thresholds for the allowed range (Th.sub.up and Th.sub.low), the allowed range for the detected quantity of the recent registration requests per registration time window (N.sub.det) may be determined. As previously described in
(49) At step 612, it may be determined whether it is a predetermined time (e.g., every 30 seconds, 1 minute, 1 hour, etc.) to check whether the current quantity of registration requests (N.sub.det) (which is the detected number of registration requests per registration time window, as shown in
(50) In
(51) At step 615, it may be determined whether the current quantity of registration requests (N.sub.det) is lower than the lower boundary (N.sub.low) (which is the lower threshold for N.sub.det, as determined in step 610). If N.sub.det falls below N.sub.low (e.g., step 615: yes or during the time window 3-4 pm in
(52) At step 617, the registration history may be updated. A variety of numerical values (e.g., detected quantity of registration requests (N.sub.det), expected quantity of registration requests (N.sub.exp), upper and lower boundaries (N.sub.up and N.sub.low), quantity of registered terminals (N.sub.ter), upper and lower thresholds (Th.sub.up and Th.sub.low), etc.) may be stored and/or updated in the registration history. The recorded values may be used for future registration requests. For example, N.sub.det may be regularly retrieved from the registration history which is determined by a flow of registration reports (e.g., including time stamps associated with registration requests and response messages, etc.). Then the monitoring server 302 may proceed to step 601, where the monitoring server 302 may renew a loop for determining whether another current value of N.sub.det is out of the allowed range and whether to send out an alert for network error.
(53) At steps 614 & 616, based on determining that N.sub.det is out of the allowed range in
(54) If the quantity of current registration requests is within the expected range, under normal operating conditions such as the registration time windows of 1-2 pm and 4-5 pm in
(55) After step 617, the monitoring server 302 may proceed to step 601 and repeat the foregoing process. If an alert has been sent in step 614 or 616 (e.g., a network issue found), the size of the registration time window may be reduced to tighten a search for a change in the detected number of registration requests per each registration time window (N.sub.det). Alternatively, the size of the registration time window may be enlarged to save processing power associated with the monitoring server 302. Alternatively, the monitoring server 302 may skip step 601 and proceed to step 602, and so the size of the registration time window may remain unchanged for the next processing loop (e.g., as described in
(56) Based on registration monitoring algorithm, the detected number of registration requests per registration time window (N.sub.det) and the expected number of registration requests (N.sub.exp) may be compared automatically, and an alert may be sent if N.sub.det is out of the allowed range in
(57) 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.