US20220116768A1 - Network Outage Detection - Google Patents
Network Outage Detection Download PDFInfo
- Publication number
- US20220116768A1 US20220116768A1 US17/536,846 US202117536846A US2022116768A1 US 20220116768 A1 US20220116768 A1 US 20220116768A1 US 202117536846 A US202117536846 A US 202117536846A US 2022116768 A1 US2022116768 A1 US 2022116768A1
- Authority
- US
- United States
- Prior art keywords
- registration
- server
- registration requests
- network
- expected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 abstract description 50
- 238000012544 monitoring process Methods 0.000 description 54
- 230000004044 response Effects 0.000 description 20
- 230000002950 deficient Effects 0.000 description 9
- 239000000835 fiber Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/30—Network data restoration; Network data reliability; Network data fault tolerance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
- H04W60/005—Multiple registrations, e.g. multihoming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
- H04W60/04—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration using triggered events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Definitions
- VoIP Voice over Internet Protocol
- VoIP Voice over Internet Protocol
- Systems, apparatuses, and methods are described for detecting network service problems in communication networks in which terminals are expected to periodically send registration messages to maintain active status with a registration server.
- the registration messages may be sent, from the terminal, via an access network, and to the registration server.
- the quantity of receipt of such registration messages may be monitored between the access network and the registration server, and based on comparing this quantity with an expected quantity that is based on historical values, a potential network problem may be determined.
- the approximate location of the source of the potential network problem (e.g., whether the problem lies with the access network or with the registration server) may also be determined based on a determination of whether the quantity of receipt lies above or below a range of an expected quantity of registration messages.
- FIG. 1 shows an example communication network on which various features described herein may be implemented.
- FIG. 2 shows hardware elements of a computing device that may be used to implement the various features described herein.
- FIGS. 3A to 3C show example registration request operations of a communication network.
- FIG. 4 shows an example timeline for registration requests from terminals.
- FIG. 5 shows an example chart of a number of registration requests during a registration time window.
- FIGS. 6A to 6C show flow charts showing an example method for determining which part of a communication network may be a source of a communication error.
- FIG. 1 shows an example communication network 100 in which features described herein may be implemented.
- the communication network 100 may comprise one or more information distribution networks of any type, such as, without limitation, a VoIP network, 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.
- a VoIP 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
- 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 e.g., a coaxial cable
- the communication network 100 may use a series of interconnected communication links 101 (e.g., coaxial cables, optical fibers, wireless links, etc.) to connect multiple premises 102 (e.g., businesses, homes, consumer dwellings, train stations, airports, etc.) to a local office 103 (e.g., a headend and/or its proxies, routers, switches, servers, etc.).
- premises 102 e.g., businesses, homes, consumer dwellings, train stations, airports, etc.
- a local office 103 e.g., a headend and/or its proxies, routers, switches, servers, etc.
- 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 .
- 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.
- PSTN public switched telephone network
- 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.
- 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.
- 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.
- SIP Session Initiation Protocol
- 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).
- CSCF call session control function
- the SIP server 112 may comprise a proxy-CSCF (P-CSCF), an interrogating-CSCF (I-CSCF) and a serving-CSCF (S-CSCF).
- P-CSCF proxy-CSCF
- I-CSCF interrogating-CSCF
- S-CSCF serving-CSCF
- 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.
- the push server 105 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.
- 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 .
- 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.
- 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 ).
- 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.
- 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 102 a and FIGS. 3A to 3C .
- the example premises 102 a 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 FIG. 1 , but a plurality of modems operating in parallel may be implemented within the interface 120 .
- the interface 120 may comprise a gateway 111 .
- the modem 110 may be connected to, or be a part of, the gateway 111 .
- the gateway 111 may be a computing device that communicates with the modem(s) 110 to allow one or more other devices in the premises 102 a to communicate with the local office 103 and/or with other devices beyond the local office 103 (e.g., via the local office 103 and the external network(s) 109 ).
- the gateway 111 may 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.
- STB set-top box
- DVR digital video recorder
- DTA digital transport adapter
- 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 102 a .
- 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.
- 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),
- 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 102 a 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 .
- One or more of the devices at the premises 102 a 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 102 a , 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. 2 shows hardware elements of a computing device 200 that may be used to implement any of the computing devices shown in FIG. 1 (e.g., the various terminals described herein, the mobile devices 125 , any of the devices shown in the premises 102 a , any of the devices shown in the local office 103 , any of the wireless access points 127 , any devices with the external network 109 ) and any other computing devices discussed herein (e.g., network monitoring servers, network failure managers, network analysis servers, etc.).
- the computing device 200 may comprise one or more processors 201 , 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 media 204 (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 drive 205 or other types of storage media.
- the computing device 200 may comprise one or more output devices, such as a display device 206 (e.g., an external television and/or other external or internal display device) and a speaker 214 , and may comprise one or more output device controllers 207 , such as a video processor.
- One or more user input devices 208 may comprise a remote control, a keyboard, a mouse, a touch screen (which may be integrated with the display device 206 ), microphone, etc.
- the computing device 200 may also comprise one or more network interfaces, such as a network input/output (I/O) interface 210 (e.g., a network card) to communicate with an external network 209 .
- the network I/O interface 210 may 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 interface 210 may comprise a modem configured to communicate via the external network 209 .
- the external network 209 may comprise the communication links 101 discussed above, the external network 109 , 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 computing device 200 may comprise a location-detecting device, such as a global positioning system (GPS) microprocessor 211 , 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 computing device 200 .
- GPS global positioning system
- FIG. 2 shows an example hardware configuration
- one or more of the elements of the computing device 200 may 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 device 200 .
- the elements shown in FIG. 2 may 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 device 200 may store computer-executable instructions that, when executed by the processor 201 and/or one or more other processors of the computing device 200 , cause the computing device 200 to 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).
- ICs Integrated Circuits
- 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.
- 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.
- ASIC Application Specific Integrated Circuit
- 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. Further, an IC may be configured to output image data to a display buffer.
- FIGS. 3A to 3C show example operations of a communication network 300 , such as a VoIP network.
- FIG. 3A shows an example normal operation of the network 300
- FIGS. 3B & 3C show example abnormal operations of the network 300 if a portion of the network 300 is experiencing or causing a communication error (to be described later in this disclosure).
- the network 300 may comprise a registration server 301 (e.g., registration server 122 ), a monitoring server 302 (which may be implemented as part of registration server 301 , application server 107 , or any other component shown in FIG. 1 ), an access network 303 (e.g., communication links 101 , termination system 104 , modem 110 , etc.) and client devices 304 - 306 (e.g., VoIP phone 118 , wireless device 116 , personal computer 114 , laptop computer 115 , landline phone 117 , mobile device 125 , etc., hereinafter, “terminal”).
- a registration server 301 e.g., registration server 122
- a monitoring server 302 which may be implemented as part of registration server 301 , application server 107 , or any other component shown in FIG. 1
- an access network 303 e.g., communication links 101 , termination system 104 , modem 110 , etc.
- client devices 304 - 306 e.g.,
- the registration server 301 e.g., registration servers 122
- the monitoring server 302 and the terminals 304 - 306 e.g., personal computers 114 , laptop computers 115 , wireless devices 116 , VoIP phones 118 and/or mobile devices 125
- the terminals 304 - 306 may be numerous in number.
- the access network 303 may correspond to, e.g., the access network as previously described in FIG. 1 , which may comprise the communication links 101 (e.g., hubs, switches, bridges, routers, receivers, transmitters, interfaces, adapters, wireless access points, etc.) to connect subscribers (e.g., terminals 304 - 306 ) to their immediate service providers (e.g., registration server 301 ). As shown in FIG. 1 , which may comprise the communication links 101 (e.g., hubs, switches, bridges, routers, receivers, transmitters, interfaces, adapters, wireless access points, etc.) to connect subscribers (e.g., terminals 304 - 306 ) to their immediate service providers (e.g., registration server 301 ). As shown in FIG.
- the communication links 101 e.g., hubs, switches, bridges, routers, receivers, transmitters, interfaces, adapters, wireless access points, etc.
- a pair of a registration messages, a registration request and a corresponding response may be sent on a periodic basis in a repeating registration time window, such as once per hour, to periodically inform the registration server 301 that the terminals 304 - 306 remain active at an identified location, indicate the nearest cell tower, etc., so that the terminals 304 - 306 may be reached if an incoming call arrives.
- the registration time window may repeat on a basis of same time of day, same day of week, or same month of year, etc. For example, a current example instance of a registration time window may be on Friday at 1-2 pm. Prior example instances of the registration time windows may be on every day at 1-2 pm during a previous week.
- prior example instances of registration time windows may be on all Fridays at 1-2 pm during a previous month.
- prior example instances of registration time windows may be all one-hour periods during a single past day or week.
- 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 .
- 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 .
- the monitoring server 302 may observe a normal quantity of registration requests and responses, along with a registration time window (e.g., one hour).
- the terminals 304 - 306 may be set to send at least one registration request before the registration time window expires.
- the monitoring server 302 may be located between the registration server 301 and the access network 303 , to observe messages in and out of the registration server 301 .
- the monitoring server 302 may generate and/or store registration reports associated with the volume of the registration requests per registration time window.
- the registration reports may be generated by the terminals (e.g., client devices 304 - 306 ) and may be sent to the monitoring server 302 , with various registration information such as, e.g., a volume of registration requests per registration time window).
- the registration reports may be generated after each registration attempt or on a regular time interval (e.g., one second, 30 seconds, 5 minutes, etc.).
- the registration reports may be used to update a registration history.
- the registration reports may indicate, e.g., historical quantity of registration, device identifiers (e.g. MAC address), time stamps associated with registration requests, time stamps associated with registration responses, response message codes in the responses, etc. Based on the registration reports, a quantity of registered terminals may be determined.
- the time stamps associated with registration requests or registration responses may be recorded by the terminals, the registration server 301 , the monitoring server 302 or any other servers or proxies in the network 300 .
- the response messages may be detected from the registration reports.
- the response messages may indicate either success or failure of a single registration attempt to the registration server 301 .
- the monitoring server 302 may report slow or failing components in the network 300 and notify the network administrator, via email, Short Message Service (SMS), dashboard alerts, and/or other alerts, in case of outages or other network issues.
- SMS Short Message Service
- Such a communication error alert may be delivered to the network administrator with a carrier-defined security level.
- FIG. 3B shows an example abnormal operation of the network 300 (e.g., a VoIP network) if the registration server 301 is defective.
- the terminals 304 - 306 may be configured to send another registration request.
- numerous registration requests may be sent from the terminals 304 - 306 because the terminals 304 - 306 have not received a positive response from the registration server 301 .
- the terminals 304 - 306 may keep resending registration requests, causing a surge in a quantity of the registration requests observed by the monitoring server 302 .
- the terminals 304 - 306 may failover to another registration server, which may also be in the local office 103 , after a timeout is reached and/or a threshold number of registration requests are sent.
- the surge of the number (e.g., quantity) of the registration requests may be detected and/or stored by the monitoring server 302 .
- Each server/server cluster e.g., registration server 301 , monitoring server 302 , access network 303 , and terminals 304 - 306 ) may comprise its own monitoring tools, logs, dashboards, in order to monitor the server and troubleshoot communication issues.
- a status of the registration server 301 may be examined by checking a log of an access session border controller (SBC) to see what error messages have been sent in response to a plurality of registration requests from the terminals 304 - 306 , a volume of registration from the terminals 304 - 306 , and/or a distribution of registered terminals among all servers/server clusters, etc. By investigating this data, it may be determined whether a large-scale failover has happened in the network 300 .
- SBC access session border controller
- FIG. 3C shows an example abnormal operation of the network 300 (e.g., a VoIP network) if the access server 303 is experiencing a communication error.
- an initial registration request may be successfully delivered to the registration server 301 , and the registration server 301 sends a response, but the response is not delivered in the access network 303 .
- the initial registration request may not be delivered to the registration server 301 , due to an error in the access network 303 .
- the terminals 304 - 306 would not receive a response from the registration server 301 , and would issue another registration request.
- FIG. 3C shows an example abnormal operation of the network 300 (e.g., a VoIP network) if the access server 303 is experiencing a communication error.
- an initial registration request may be successfully delivered to the registration server 301 , and the registration server 301 sends a response, but the response is not delivered in the access network 303 .
- the initial registration request may not be delivered to the registration server 301 , due to an error in the access network
- 3C example shows many more registration requests being sent, most of which fail to successfully traverse through the access network 303 to the registration server 301 , because some or all of the access network 303 is defective and fails to deliver the registration requests to the registration server 301 . Even if the terminals 304 - 306 keeps resending the requests, the requests may not reach the registration server 301 , because their route is blocked by a defective portion of the access network 303 . This blockage may cause a drop in a number of registration requests observed by the monitoring server 302 . The drop in the number of registration requests may be detected and/or stored by the monitoring server 302 .
- a status of the access network 303 may be determined by checking the termination system 104 (e.g., a cable modem termination system (CMTS), a session border controller, a network firewall, etc.) or an edge router service dashboard to see whether any of them is overloaded or close to be overloaded.
- the status of the access network 303 may also be determined by pinging the terminal 104 (or terminals) located at different network regions to see whether any particular region experiences a network congestion.
- FIG. 4 shows an example registration timeline associated with the terminal 304 .
- the terminal 304 may be able to register with the registration server 301 (e.g., in the headend 103 ) on a regular basis, without network failure or delay. Regardless of making call or not, the terminal 304 may be configured to send at least one registration request to the registration server 301 , before each recurring registration time window expires. To help reduce congestion of registration requests received by the registration server 301 , the terminal 304 may be configured to transmit its registration request in a re-registration period located before the end of the registration time window (e.g., one hour in FIG.
- a group of terminals may resend registration requests at random time points during the re-registration period (e.g., T re in FIG. 4 ), to spread or randomize times of registration requests over that re-registration period.
- a size of the registration time window may be set to any time chosen by the network administrator (e.g., one minute, one hour, three hours, etc.), and the re-registration period may be any portion of that window. As shown in FIG.
- the re-registration period T re may be ranged from a lower threshold time T low (e.g., 45 minutes (75% of one hour)) to an upper threshold time T up (e.g., 54 minutes (90% of one hour)).
- the upper threshold time T up may be a beginning time of the re-registration period
- the lower threshold time T low may be an end time of the re-registration period.
- T re re-registration period
- T low beginning time of re-registration period
- T up end time of re-registration period
- 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 FIG. 4 ), regardless of making call or not.
- a quantity e.g., number
- an initial determination may be made to determine an expected quantity of registration requests per registration time window. This expected quantity may be based on a size of the registration time window (e.g., 1 hour in FIG. 4 ).
- the expected quantity of the registration requests per registration time window (N exp ) may be calculated based on a quantity of terminals (N ter ) that are connected to the registration server 301 via the access network 303 , beginning time for re-registration period (T low ) during the registration time window, and end time for re-registration period (T up ) during the registration time window, as shown below:
- N exp N ter ⁇ ln( T up /T low ) ⁇ ( T up ⁇ T low )
- the registration reports may indicate, e.g., various metadata (e.g., device identifiers, time stamps, user credentials, etc.) associated with the registration requests from the registered terminals.
- N ter may be determined.
- the registration time window may be set to, e.g., one hour, or any other time periods.
- the terminals 304 may re-register at random time points during T re (e.g., from 45 minutes to 54 minutes as shown in FIG. 4 ).
- the expected quantity of registration requests per registration time window (N exp ) may be the following:
- N exp may be compared with a detected quantity of the recent registration requests per registration time window (N det ).
- a current (or recent) quantity of recent registration requests, N det may be determined based on, e.g., the registration reports.
- Example methods for comparing the expected quantity of registration requests, N exp , with a currently measured quantity of recent registration requests, N det will be explained in detail with reference to FIG. 5 below.
- FIG. 5 shows an example chart of a historical quantity of registration during a registration time window.
- the size of the registration time window (e.g., one hour) may be adjusted by the network administrator.
- This example chart may show a series of N det versus sample registration time windows (e.g., 1-2 pm, 2-3 pm, 3-4 ⁇ m and 4-5 pm).
- N det may be regularly determined and stored in registration history by the monitoring server 302 or other devices in the network 300 .
- N exp e.g., 121,547/hour, as in FIG.
- N up an upper boundary (e.g., threshold) for the expected quantity of registration requests (N exp ), and N low , a lower boundary (e.g., threshold) for the expected quantity of registration requests (N exp ), may be determined based on the registration history (to be described below). Based on the upper and lower boundaries (N up and N low ), an allowed range for the detected quantity of registration requests per registration time window (N det ) may be determined. For example, if a currently measured quantity of recent registration requests, N det , exceeds an upper boundary of the allowed range, N up (e.g., due to a defective registration server as in FIG.
- the network 300 may be considered abnormal and a communication error alert indicating a potential source of a network failure may be sent to the network administrator.
- the alert may comprise, e.g., a plurality of time stamps associated with registration requests received during an observation window (e.g., registration time window) in which the alert has been triggered, an expected range of a quantity of registration requests during the observation window (e.g., N exp ), and/or an actual quantity of registration requests detected during the observation window (e.g., N det ).
- the expected quantity of registration requests may comprise a range above and below the quantity N exp discussed above.
- the upper and lower boundaries of this allowed range (N up and N low ) may be determined based on one or more historical quantities of N det stored in the registration history. It may be checked how much N det is deviated from N exp over retrieved registration history.
- a historical deviation (D) between one or more historical quantities of N det and the expected quantity of registration requests per registration time window (N exp ) may be calculated by the following formula:
- a subset of the registration history may be retrieved (e.g., historical values of N 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 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.
- Various historical deviations may be employed to determine the allowed range for N det .
- a maximum historical deviation associated with N det (D max ) and a minimum historical deviation associated with N det (D min ) during the last 5 days may be selected by the monitoring server 302 .
- the maximum and minimum historical deviations (D max , and D min ) may be employed to determine an upper threshold for the allowed range (Th up ) and a lower threshold for the allowed range (Th low ).
- the maximum and minimum historical deviations (D max and D min ) and the upper and lower thresholds for the allowed range (Th up and Th low ) may be determined based on predetermined values of historical quantity of registration requests (N det ), expected quantity of registration requests (N exp ), and constants K 1 and K 2 (e.g., K 1 and K 2 may be 1.10 in FIG. 5 ; these constants may be adjusted), as shown below:
- the upper and lower boundaries (N up and N low ) of the allowed range for the quantity of registration requests per registration time window (N det ) may be determined.
- the allowed range may be defined as a numerical range from N up to N low as shown in FIG. 5 .
- the expected quantity of registration requests (N exp ) may be surrounded by the allowed range and the upper and lower boundaries (N up and N low ) are calculated by the following formula:
- a network alert may be triggered if the detected quantity of the registration requests per registration time window (N det ) exceeds the upper boundary (N up ) (e.g., 167,404 per hour) or falls below the lower boundary (N low ) (e.g., 116,016 per hour).
- N up the upper boundary
- N low the lower boundary
- This unusually low or high volume of the registration requests may be caused by network issues associated with any component on a route from the terminals to the registration server 301 (e.g., coaxial cables, optical fibers, wireless links, hubs, firewalls, routers, switches, servers, proxies, wireless access points, receivers, transmitters, interfaces, adapters, anti-malware systems, etc.). If N det is out of the allowed range in FIG.
- an alert may be triggered.
- the monitoring server 302 or the push notification server 105 may send the alert to users or the network administrator, to notify occurrence of network failure and/or potential source of failure, as previously described.
- Two potential sources of network failure may comprise the registration server 301 and the access network 303 .
- the monitoring server 302 may be configured to send alerts to a first destination if the quantity of current registration requests exceeds the upper boundary (N up ), and to a second destination if the quantity of current registration requests falls below the lower boundary (N low ).
- N up the upper boundary
- N low lower boundary
- the expected ranges and values discussed above are merely examples, and alternative formulations of the permissible ranges may be used as desired. Different values may be used for different geographic locations, different times of day, etc., as desired.
- N det (e.g., 184,329 per hour) may exceed the upper boundary (N up ) (e.g., 167,404 per hour).
- N up e.g., 167,404 per hour
- N det may fall below the lower boundary (N low ) (e.g., 116,016 per hour).
- N low the lower boundary
- an alert (e.g., an e-mail or other electronic message, phone call, audible alarm, etc.) may be sent by the monitoring server 302 to alert an access server error or terminal error. If N det remains within the allowed range, such as in the time windows 1-2 pm and 4-5 pm, no alert may be sent by the monitoring server 302 . Detailed methods for triggering an alert and locating potential source of network failure will be described below.
- FIGS. 6A to 6C comprise a flow chart showing an example method for determining whether the detected quantity of the registration requests (N det ) is abnormal in view of the expected number of the registration requests (N exp ), with reference to FIGS. 1 to 5 .
- the monitoring server 302 (or whichever computing device is performing the algorithm) may be configured. For example, a plurality of communications between the monitoring server 302 and various components in the network 300 may be set up, via the communication links 101 in FIG. 1 .
- the monitoring server 302 may be connected with any hardware, software and other supporting devices and components at the network 300 .
- This configuration process may involve setting the monitoring server's 302 controls, flow and operation to support communications between the monitoring server 302 and the registration server 301 , the access network 303 and/or the terminals 304 - 306 (e.g., personal computers 114 , laptop computers 115 , wireless devices 116 , landline phones 117 , VoIP phones 118 , mobile devices 125 or any other Internet access devices).
- the terminals 304 - 306 e.g., personal computers 114 , laptop computers 115 , wireless devices 116 , landline phones 117 , VoIP phones 118 , mobile devices 125 or any other Internet access devices.
- the size of the registration time window (e.g., 5 minutes, 30 minutes, one hour, etc.) may be determined as in FIG. 4 .
- the size of the registration time window may be set and/or changed by the network administrator.
- the registration history associated with the historical volume of N det may be retrieved from the monitoring server 302 , the content server 106 , the registration server 122 or any other database or server in the network 300 that retains the registration request history. As previously described in FIG.
- the registration history may comprise, e.g., the historical volume of registration requests per registration time window (N det ) (e.g., N det for last 5 days or for each of the same day of week for 5 weeks), and may be updated as new registration requests are received by the registration server 301 and/or detected by the monitoring server 302 .
- N det the historical volume of registration requests per registration time window
- the current time is Friday at 3 pm
- N det during 2-3 pm on Monday to Thursday may be retrieved from the registration history.
- N det within a time window 2-3 pm on each Friday for last 4 weeks may be retrieved from the registration history.
- other timing schemes for retrieving N det from the registration history may be implemented.
- the quantity of the terminals 304 - 306 (N ter ) connected to the registration server 301 may be determined based on the registration reports generated by the monitoring server 302 .
- N ter may be determined based on communications between the monitoring server 302 and the terminals 304 - 306 at any time before step 603 .
- N ter may be 100,000, as previously described in FIG. 4 .
- the upper threshold for registration time (T up ) and the lower threshold for registration time (T low ) may be determined. In FIG. 4 , for example, T low may be 75% of one hour (45 minutes) and T up may be 90% of one hour (54 minutes).
- N exp may be determined based on the foregoing values of N ter , T up and T low , such as the following:
- the following steps 607 to 610 may be performed to determine whether a current value of N det is out of the allowed range, with reference to FIG. 5 .
- a portion of the registration history may be retrieved and the historical deviation (D) may be calculated based on N det (e.g., N det for last 5 days) and N exp (e.g., 121,547 per hour).
- the maximum and minimum values of D (D max and D min ) may be determined from the historical values of D.
- the upper threshold (Th up ) for the allowed range for the quantity of registration requests per registration time window may be determined.
- the lower threshold (Th low ) for the allowed range for the quantity of registration requests per registration time window may be determined.
- K 1 and K 2 that are used to calculate the upper and lower thresholds may be adjusted, depending on a desired frequency of alert triggering in the network 300 .
- K 1 and K 2 may be increased to enlarge the allowed range if a lower amount of alert triggering is desired (N det is more likely to be within the allowed range), whereas K 1 and K 2 may be decreased to shrink the allowed range if a higher amount of alert triggering is desired (N 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 may be determined based on a selection of K 1 and K 2 , to avoid false alerts and misdetection of network errors.
- K 1 and K 2 may be determined via an analysis of historical data associated with registration (e.g., how N det has changed over a given time period, how much N det exceeds or falls below an expected quantity of the recent registration requests (N exp ), etc.).
- the values of K 1 and K 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.).
- the allowed range for the detected quantity of the recent registration requests per registration time window may be determined.
- the allowed range may range from N low (e.g., 116,016 per hour) to N up (e.g., 167,404 per hour), as previously shown in FIG. 5 .
- the allowed range may be compared with the current quantity of registration requests per registration time window (N det ), to determine whether to trigger an alert to notify a network failure.
- the current quantity of registration requests (N det ) may be determined based on the registration reports generated by the monitoring server 302 (as previously determined in FIG. 3A ), and N det may be recorded in the registration history.
- the registration history may be stored in the monitoring server 302 or any memory (e.g., ROM 202 , RAM 203 , etc.), servers (e.g., servers 105 - 107 and 122 , etc.) or the external network 209 .
- any memory e.g., ROM 202 , RAM 203 , etc.
- servers e.g., servers 105 - 107 and 122 , etc.
- the external network 209 e.g., any memory (e.g., ROM 202 , RAM 203 , etc.), servers (e.g., servers 105 - 107 and 122 , etc.) or the external network 209 .
- 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 det ) (which is the detected number of registration requests per registration time window, as shown in FIG. 5 ) is out of the allowed range from the lower boundary (n low ) to the upper boundary (N up ).
- the system need not perform the check continuously, but if desired, the predetermined time may be set to zero or omitted to allow for continuous checking. If it is not time to check (e.g., step 613 : no), the monitoring server 302 may proceed to step 601 of FIG. 6A , and the foregoing process of whether N det is out of the allowed range may be renewed. If it is the time to check (e.g., step 613 : yes), the process may proceed to step 613 of FIG. 6C .
- N det the current quantity of registration requests
- step 613 it may be determined whether the current quantity of registration requests (N det ) is higher than (e.g., exceeds or satisfies) the upper boundary (N up ) (which is the upper threshold for N det , as determined in step 610 ). If N det exceeds N up (e.g., step 613 : yes or during the time window 2-3 pm in FIG. 5 ), the monitoring server 302 may proceed to step 614 .
- an alert to notify an error with the registration server 301 may be sent to the network administrator or other authorities. As previously described in FIG. 3B , some repeated registration requests may be sent to the defective registration server 301 (e.g., in FIG.
- N det may be abnormally high, as determined by the monitoring server 302 .
- the alert may indicate that the registration server 301 (e.g., registration servers and/or proxies in the headend 103 ) may be experiencing an error, along with time of the registration server error. Then the monitoring server 302 may proceed to step 618 (to be described later in this disclosure). If the current quantity of registration requests (N det ) is not higher than the upper boundary (N up ) (e.g., step 614 : no or during the time windows 1-2 pm and 4-5 pm in FIG. 5 ), the monitoring server 302 may proceed to step 615 (to be described below).
- step 615 it may be determined whether the current quantity of registration requests (N det ) is lower than the lower boundary (N low ) (which is the lower threshold for N det , as determined in step 610 ). If N det falls below N low (e.g., step 615 : yes or during the time window 3-4 pm in FIG. 5 ), the monitoring server 302 may proceed to step 616 .
- an alert to notify an error with the access server 303 or the terminals 304 - 306 may be sent to the network administrator or other authorities. As previously described in FIG. 3C , some repeated registration requests may be sent to the defective access server 303 (e.g., in FIG.
- the access server 303 does not respond to the requests from the terminals 304 - 306 . Due to a defect in the access network 303 , a relatively small portion of the requests, if not none, may be delivered to the registration server 301 . N det may be abnormally low, as determined by the monitoring server 302 . The alert may indicate that the access server 303 or some of the terminals 304 - 306 may be experiencing an error, along with time of the access server/terminal error. If one or more of the terminals 304 - 306 have a network issue, they may not be able to generate and/or send the registration requests.
- the monitoring server 302 may proceed to step 617 .
- the registration history may be updated.
- a variety of numerical values e.g., detected quantity of registration requests (N det ), expected quantity of registration requests (Neap), upper and lower boundaries (N up and N low ), quantity of registered terminals (N ter ), upper and lower thresholds (Th up and Th low ), etc.
- the recorded values may be used for future registration requests.
- N 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.).
- 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 det is out of the allowed range and whether to send out an alert for network error.
- a network capacity plan may be redesigned to accommodate a new capacity as required by the VoIP service or registration (in addition, or alternatively to, sending the alerts).
- the network capacity plan may be done to identify shortcomings or parameters that can affect the network's performance or availability within a predictable future time. For example, based on N det as previously described, a current registration traffic volume may be estimated. The expected range/thresholds associated with the detected quantity of registration requests (N det ) may be adjusted to accommodate the current registration traffic volume and to reduce false error alerts. The newly decided expected range/thresholds may be stored and/or implemented by the monitoring server 302 .
- the network capacity plan may be regularly updated per registration time window.
- the monitoring server 302 may not send out an alert, as previously described.
- the registration history may be updated as previously described. It may be reasonably assumed that the terminals 304 - 306 have been registered to the local office 103 and received successful response messages, as previously described in FIG. 3A .
- 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 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 FIGS. 6A to 6C .)
- the detected number of registration requests per registration time window (N det ) and the expected number of registration requests (N exp ) may be compared automatically, and an alert may be sent if N det is out of the allowed range in FIG. 5 .
- a proactive detection of occurrence, timing and/or potential source of network failure e.g., caused by the registration server 301 , the access network 303 and/or the terminals 304 - 306
- each network service carrier may determine its own network health check sequence, if a communication error alert (e.g., registration error alert) is triggered.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 16/596,820, filed Oct. 9, 2019 entitled “Network Outage Detection.” The above-referenced application is hereby incorporated by reference in its entirety.
- Voice over Internet Protocol (VoIP) technology allows modern communications technologies (including smartphones, voice and video conferencing, emails, etc.) to communicate from a variety of locations. Unfortunately, there may be times when components fail, signals are lost, interference arises, or other problems occur that would degrade the ability to carry on such communications. Early detection of the existence of such problems, and determining a source of the problems, helps to maintain smooth functionality of such communications.
- The following summary presents a simplified summary of certain features. The summary is not an extensive overview and is not intended to identify key or critical elements.
- Systems, apparatuses, and methods are described for detecting network service problems in communication networks in which terminals are expected to periodically send registration messages to maintain active status with a registration server. The registration messages may be sent, from the terminal, via an access network, and to the registration server. The quantity of receipt of such registration messages may be monitored between the access network and the registration server, and based on comparing this quantity with an expected quantity that is based on historical values, a potential network problem may be determined. Furthermore, the approximate location of the source of the potential network problem (e.g., whether the problem lies with the access network or with the registration server) may also be determined based on a determination of whether the quantity of receipt lies above or below a range of an expected quantity of registration messages. These and other features and advantages are described in greater detail below.
- Some features are shown by way of example, and not by limitation, in the accompanying drawings. In the drawings, like numerals reference similar elements.
-
FIG. 1 shows an example communication network on which various features described herein may be implemented. -
FIG. 2 shows hardware elements of a computing device that may be used to implement the various features described herein. -
FIGS. 3A to 3C show example registration request operations of a communication network. -
FIG. 4 shows an example timeline for registration requests from terminals. -
FIG. 5 shows an example chart of a number of registration requests during a registration time window. -
FIGS. 6A to 6C show flow charts showing an example method for determining which part of a communication network may be a source of a communication error. - 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. 1 shows anexample communication network 100 in which features described herein may be implemented. Thecommunication network 100 may comprise one or more information distribution networks of any type, such as, without limitation, a VoIP network, 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. Thecommunication network 100 may use a series of interconnected communication links 101 (e.g., coaxial cables, optical fibers, wireless links, etc.) to connect multiple premises 102 (e.g., businesses, homes, consumer dwellings, train stations, airports, etc.) to a local office 103 (e.g., a headend and/or its proxies, routers, switches, servers, etc.). - 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 thelocal office 103 and thepremises 102. For example, an intervening access network (described later in this disclosure) may comprise thecommunication links 101 located between thelocal office 103 and each of thepremises 102. Thelocal office 103 may send downstream information signals and receive upstream information signals via thecommunication links 101. Each of thepremises 102 may comprise devices, described below, to receive, send, and/or otherwise process those signals and information contained therein. Thelocal office 103 may be a telecommunication network's core part, which may offer numerous services to customers at thepremises 102 via thecommunication links 101. Thelocal 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. - The
communication links 101 may originate from thelocal office 103 and may comprise components not illustrated, such as splitters, filters, amplifiers, etc., to help convey signals clearly. Thecommunication links 101 may be coupled to one or morewireless access points 127 configured to communicate with one or moremobile devices 125 via one or more wireless networks. Themobile 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. - The
local office 103 may comprise apush notification server 105, acontent server 106, anapplication server 107 and a communication server, such as aregistration server 122. Thepush notification server 105 may be configured to generate push notifications to deliver information to devices in thepremises 102 and/or to themobile devices 125. Thecontent server 106 may be configured to provide content to devices in thepremises 102 and/or to themobile 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. Theapplication 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 thepremises 102 and/or to themobile devices 125. Thelocal office 103 may compriseadditional 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. - 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 thecommunication network 100. Theregistration 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. Theregistration server 122 may comprise various servers and/or proxies, collectively called call session control function (CSCF). For example, although not shown inFIG. 1 , theSIP server 112 may comprise a proxy-CSCF (P-CSCF), an interrogating-CSCF (I-CSCF) and a serving-CSCF (S-CSCF). - The
registration server 122 may also handle registration requests (e.g., SIP messages) from the terminals. Theregistration 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 thelocal office 103 and the terminals, receive registration requests from the terminals, and forward responses to the registration requests to the terminals. - Although shown separately, the
push server 105, thecontent server 106, theapplication server 107, theregistration server 122, and/or other server(s) may be combined. Theservers - The
local office 103 may comprise one ormore network interfaces 108 that comprise circuitry needed to communicate via theexternal networks 109. Theexternal networks 109 may comprise networks of Internet devices, telephone networks, wireless networks, wireless networks, fiber optic networks, and/or any other desired network. Thelocal office 103 may also or alternatively communicate with the terminals, e.g.mobile devices 125, via theinterface 108 and one or more of theexternal networks 109, e.g., via one or more of thewireless access points 127. - 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.). Thetermination system 104 may be a network element between thecommunication links 101 and thelocal office 103 to provide service to residential and/or enterprise customers (e.g., in the premises 102). Thetermination 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 thelocal office 103, thetermination system 104 may demarcate a backbone network (inside the local office 103) from the rest of the Internet (outside the local office 103). Thetermination system 104 may assist a network administrator in managing a flow of session data across thetermination system 104. The communication links 101 andtermination 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). - 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 theregistration 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 theregistration 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, thetermination system 104,modem 110, etc.) between the terminal and theregistration server 122, as fewer (or no) registration requests are being delivered to theregistration 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 anexample premises 102 a andFIGS. 3A to 3C . - The
example premises 102 a may comprise aninterface 120. Theinterface 120 may comprise circuitry used to communicate via the communication links 101. Theinterface 120 may comprise amodem 110, which may comprise transmitters and receivers used to communicate via thecommunication links 101 with thelocal office 103. Themodem 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 inFIG. 1 , but a plurality of modems operating in parallel may be implemented within theinterface 120. Theinterface 120 may comprise agateway 111. Themodem 110 may be connected to, or be a part of, thegateway 111. Thegateway 111 may be a computing device that communicates with the modem(s) 110 to allow one or more other devices in thepremises 102 a to communicate with thelocal office 103 and/or with other devices beyond the local office 103 (e.g., via thelocal office 103 and the external network(s) 109). Thegateway 111 may 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
gateway 111 may also comprise one or more local network interfaces to communicate, via one or more local networks, with devices in thepremises 102 a. Such devices may comprise, e.g., display devices 112 (e.g., televisions), STBs orDVRs 113, thepersonal computers 114, thelaptop 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)), thelandline phones 117, theVoIP 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 theinterface 120 with the other devices in thepremises 102 a 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 theregistration server 122. The access network may comprise any communication media and/or components, wired or wireless, communicatively located between a terminal and theregistration server 122. - One or more of the devices at the
premises 102 a may be configured to provide wireless communications channels (e.g., IEEE 802.11 channels) to communicate with one or more of themobile devices 125, which may be on- or off-premises. Themobile devices 125, one or more of the devices in thepremises 102 a, 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. 2 shows hardware elements of acomputing device 200 that may be used to implement any of the computing devices shown inFIG. 1 (e.g., the various terminals described herein, themobile devices 125, any of the devices shown in thepremises 102 a, any of the devices shown in thelocal office 103, any of thewireless access points 127, any devices with the external network 109) and any other computing devices discussed herein (e.g., network monitoring servers, network failure managers, network analysis servers, etc.). Thecomputing device 200 may comprise one ormore processors 201, 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 media 204 (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 drive 205 or other types of storage media. Thecomputing device 200 may comprise one or more output devices, such as a display device 206 (e.g., an external television and/or other external or internal display device) and aspeaker 214, and may comprise one or moreoutput device controllers 207, such as a video processor. One or moreuser input devices 208 may comprise a remote control, a keyboard, a mouse, a touch screen (which may be integrated with the display device 206), microphone, etc. Thecomputing device 200 may also comprise one or more network interfaces, such as a network input/output (I/O) interface 210 (e.g., a network card) to communicate with anexternal network 209. The network I/O interface 210 may 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 interface 210 may comprise a modem configured to communicate via theexternal network 209. Theexternal network 209 may comprise the communication links 101 discussed above, theexternal network 109, 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. Thecomputing device 200 may comprise a location-detecting device, such as a global positioning system (GPS)microprocessor 211, 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 thecomputing device 200. - Although
FIG. 2 shows an example hardware configuration, one or more of the elements of thecomputing device 200 may be implemented as software or a combination of hardware and software. Modifications may be made to add, remove, combine, divide, etc. components of thecomputing device 200. Additionally, the elements shown inFIG. 2 may be implemented using basic computing devices and components that have been configured to perform operations such as are described herein. For example, a memory of thecomputing device 200 may store computer-executable instructions that, when executed by theprocessor 201 and/or one or more other processors of thecomputing device 200, cause thecomputing device 200 to 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. Further, an IC may be configured to output image data to a display buffer. -
FIGS. 3A to 3C show example operations of acommunication network 300, such as a VoIP network.FIG. 3A shows an example normal operation of thenetwork 300, whereasFIGS. 3B & 3C show example abnormal operations of thenetwork 300 if a portion of thenetwork 300 is experiencing or causing a communication error (to be described later in this disclosure). - In
FIG. 3A , thenetwork 300 may comprise a registration server 301 (e.g., registration server 122), a monitoring server 302 (which may be implemented as part ofregistration server 301,application server 107, or any other component shown inFIG. 1 ), an access network 303 (e.g.,communication links 101,termination system 104,modem 110, etc.) and client devices 304-306 (e.g.,VoIP phone 118,wireless device 116,personal computer 114,laptop computer 115,landline phone 117,mobile device 125, etc., hereinafter, “terminal”). The registration server 301 (e.g., registration servers 122), themonitoring server 302 and the terminals 304-306 (e.g.,personal computers 114,laptop computers 115,wireless devices 116,VoIP phones 118 and/or mobile devices 125) may be numerous in number. - The
access network 303 may correspond to, e.g., the access network as previously described inFIG. 1 , which may comprise the communication links 101 (e.g., hubs, switches, bridges, routers, receivers, transmitters, interfaces, adapters, wireless access points, etc.) to connect subscribers (e.g., terminals 304-306) to their immediate service providers (e.g., registration server 301). As shown inFIG. 3A , a pair of a registration messages, a registration request and a corresponding response, may be sent on a periodic basis in a repeating registration time window, such as once per hour, to periodically inform theregistration server 301 that the terminals 304-306 remain active at an identified location, indicate the nearest cell tower, etc., so that the terminals 304-306 may be reached if an incoming call arrives. The registration time window may repeat on a basis of same time of day, same day of week, or same month of year, etc. For example, a current example instance of a registration time window may be on Friday at 1-2 pm. Prior example instances of the registration time windows may be on every day at 1-2 pm during a previous week. Alternatively, prior example instances of registration time windows may be on all Fridays at 1-2 pm during a previous month. Alternatively, prior example instances of registration time windows may be all one-hour periods during a single past day or week. These example registration time windows may be provided only for exemplary purposes and not limiting. - The registration messages may comprise a registration request sent to the
registration server 301 and a registration response received from theregistration server 301, and both registration messages may be delivered via theaccess network 303. Theaccess 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. - The
monitoring server 302 may be implemented at or near theregistration server 301, and may observe a flow of registration requests and registration responses in thenetwork 300 arriving at and leaving from theregistration server 301. InFIG. 3A , themonitoring server 302 may observe a normal quantity of registration requests and responses, along with a registration time window (e.g., one hour). The terminals 304-306 may be set to send at least one registration request before the registration time window expires. Themonitoring server 302 may be located between theregistration server 301 and theaccess network 303, to observe messages in and out of theregistration server 301. Themonitoring server 302 may generate and/or store registration reports associated with the volume of the registration requests per registration time window. Alternatively, the registration reports may be generated by the terminals (e.g., client devices 304-306) and may be sent to themonitoring server 302, with various registration information such as, e.g., a volume of registration requests per registration time window). The registration reports may be generated after each registration attempt or on a regular time interval (e.g., one second, 30 seconds, 5 minutes, etc.). The registration reports may be used to update a registration history. The registration reports may indicate, e.g., historical quantity of registration, device identifiers (e.g. MAC address), time stamps associated with registration requests, time stamps associated with registration responses, response message codes in the responses, etc. Based on the registration reports, a quantity of registered terminals may be determined. The time stamps associated with registration requests or registration responses may be recorded by the terminals, theregistration server 301, themonitoring server 302 or any other servers or proxies in thenetwork 300. The response messages may be detected from the registration reports. The response messages may indicate either success or failure of a single registration attempt to theregistration server 301. Themonitoring server 302 may report slow or failing components in thenetwork 300 and notify the network administrator, via email, Short Message Service (SMS), dashboard alerts, and/or other alerts, in case of outages or other network issues. Such a communication error alert may be delivered to the network administrator with a carrier-defined security level. -
FIG. 3B shows an example abnormal operation of the network 300 (e.g., a VoIP network) if theregistration server 301 is defective. As shown inFIG. 3B , if the terminals 304-306 send a first registration request, but does not receive an acknowledgement response, the terminals 304-306 may be configured to send another registration request. If theregistration server 301 has experienced a malfunction, then numerous registration requests may be sent from the terminals 304-306 because the terminals 304-306 have not received a positive response from theregistration server 301. In this case, the terminals 304-306 may keep resending registration requests, causing a surge in a quantity of the registration requests observed by themonitoring server 302. Alternatively, the terminals 304-306 may failover to another registration server, which may also be in thelocal office 103, after a timeout is reached and/or a threshold number of registration requests are sent. The surge of the number (e.g., quantity) of the registration requests may be detected and/or stored by themonitoring server 302. Each server/server cluster (e.g.,registration server 301,monitoring server 302,access network 303, and terminals 304-306) may comprise its own monitoring tools, logs, dashboards, in order to monitor the server and troubleshoot communication issues. For example, a status of theregistration server 301 may be examined by checking a log of an access session border controller (SBC) to see what error messages have been sent in response to a plurality of registration requests from the terminals 304-306, a volume of registration from the terminals 304-306, and/or a distribution of registered terminals among all servers/server clusters, etc. By investigating this data, it may be determined whether a large-scale failover has happened in thenetwork 300. -
FIG. 3C shows an example abnormal operation of the network 300 (e.g., a VoIP network) if theaccess server 303 is experiencing a communication error. As shown inFIG. 3C , an initial registration request may be successfully delivered to theregistration server 301, and theregistration server 301 sends a response, but the response is not delivered in theaccess network 303. Alternatively, the initial registration request may not be delivered to theregistration server 301, due to an error in theaccess network 303. In both cases, the terminals 304-306 would not receive a response from theregistration server 301, and would issue another registration request. TheFIG. 3C example shows many more registration requests being sent, most of which fail to successfully traverse through theaccess network 303 to theregistration server 301, because some or all of theaccess network 303 is defective and fails to deliver the registration requests to theregistration server 301. Even if the terminals 304-306 keeps resending the requests, the requests may not reach theregistration server 301, because their route is blocked by a defective portion of theaccess network 303. This blockage may cause a drop in a number of registration requests observed by themonitoring server 302. The drop in the number of registration requests may be detected and/or stored by themonitoring server 302. A status of theaccess network 303 may be determined by checking the termination system 104 (e.g., a cable modem termination system (CMTS), a session border controller, a network firewall, etc.) or an edge router service dashboard to see whether any of them is overloaded or close to be overloaded. The status of theaccess network 303 may also be determined by pinging the terminal 104 (or terminals) located at different network regions to see whether any particular region experiences a network congestion. -
FIG. 4 shows an example registration timeline associated with the terminal 304. The following discussion may apply to other terminals, such as the terminals 305-306 or other client devices within thenetwork 300. Under normal operating conditions, the terminal 304 may be able to register with the registration server 301 (e.g., in the headend 103) on a regular basis, without network failure or delay. Regardless of making call or not, the terminal 304 may be configured to send at least one registration request to theregistration server 301, before each recurring registration time window expires. To help reduce congestion of registration requests received by theregistration server 301, the terminal 304 may be configured to transmit its registration request in a re-registration period located before the end of the registration time window (e.g., one hour inFIG. 4 ). For example, inFIG. 4 , a group of terminals may resend registration requests at random time points during the re-registration period (e.g., Tre inFIG. 4 ), to spread or randomize times of registration requests over that re-registration period. A size of the registration time window may be set to any time chosen by the network administrator (e.g., one minute, one hour, three hours, etc.), and the re-registration period may be any portion of that window. As shown inFIG. 4 , if the terminal 304 is registered to theregistration server 301 at an initial time (T=0), it may resend a registration request to theregistration server 301 during a re-registration period (Tre) and before an expiration of the registration time window (T=1 hour) from that initial time. The re-registration period Tre may be ranged from a lower threshold time Tlow (e.g., 45 minutes (75% of one hour)) to an upper threshold time Tup (e.g., 54 minutes (90% of one hour)). The upper threshold time Tup may be a beginning time of the re-registration period, and the lower threshold time Tlow may be an end time of the re-registration period. The terminal 304 may send the registration request to theregistration server 301 at any time point during Tre. Therefore, for a group of theterminals 304 whose registration time window expires at T=1 hour, their registration requests may be randomly distributed over the re-registration period, Tre. Each of Tre (re-registration period), Tlow (beginning time of re-registration period) and Tup (end time of re-registration period) may be adjusted by the network administrator or any other authorities. - 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., inFIG. 4 ), regardless of making call or not. To help determine if a quantity (e.g., number) of registration messages is abnormal, an initial determination may be made to determine an expected quantity of registration requests per registration time window. This expected quantity may be based on a size of the registration time window (e.g., 1 hour inFIG. 4 ). The expected quantity of the registration requests per registration time window (Nexp) may be calculated based on a quantity of terminals (Nter) that are connected to theregistration server 301 via theaccess network 303, beginning time for re-registration period (Tlow) during the registration time window, and end time for re-registration period (Tup) during the registration time window, as shown below: -
N exp =N ter×ln(T up /T low)÷(T up −T low) -
- Nexp: Expected Quantity of Registration Requests per Registration Time Window
- Nter: Quantity of Terminals
- Tup: Upper Registration Time (Beginning Time for Re-registration Period)
- Tlow: Lower Registration Time (End Time for Re-registration Period)
- For example, the
network 300 may have 100,000 registered terminals (e.g., Nter=100,000) which may be determined based on the registration reports generated/stored by themonitoring server 302 as previously described inFIG. 3A . The registration reports may indicate, e.g., various metadata (e.g., device identifiers, time stamps, user credentials, etc.) associated with the registration requests from the registered terminals. Based on the registration requests from the registered terminals (e.g., once per hour), Nter may be determined. The registration time window may be set to, e.g., one hour, or any other time periods. Theterminals 304 may re-register at random time points during Tre (e.g., from 45 minutes to 54 minutes as shown inFIG. 4 ). The expected quantity of registration requests per registration time window (Nexp) may be the following: -
N exp =N ter×ln(T up /T low)÷(T up −T low)=100,000×ln(0.90/0.75)÷(0.90−0.75)=121,547 per hour - In
FIG. 4 , there may be 121,547 recent registration requests sent from 100,000 terminals to theregistration server 301 within one hour. Nexp may be compared with a detected quantity of the recent registration requests per registration time window (Ndet). A current (or recent) quantity of recent registration requests, Ndet, may be determined based on, e.g., the registration reports. Example methods for comparing the expected quantity of registration requests, Nexp, with a currently measured quantity of recent registration requests, Ndet, will be explained in detail with reference toFIG. 5 below. -
FIG. 5 shows an example chart of a historical quantity of registration during a registration time window. The size of the registration time window (e.g., one hour) may be adjusted by the network administrator. This example chart may show a series of Ndet versus sample registration time windows (e.g., 1-2 pm, 2-3 pm, 3-4 μm and 4-5 pm). Ndet may be regularly determined and stored in registration history by themonitoring server 302 or other devices in thenetwork 300. In order to check Ndet in view of Nexp (e.g., 121,547/hour, as inFIG. 4 ), Nup, an upper boundary (e.g., threshold) for the expected quantity of registration requests (Nexp), and Nlow, a lower boundary (e.g., threshold) for the expected quantity of registration requests (Nexp), may be determined based on the registration history (to be described below). Based on the upper and lower boundaries (Nup and Nlow), an allowed range for the detected quantity of registration requests per registration time window (Ndet) may be determined. For example, if a currently measured quantity of recent registration requests, Ndet, exceeds an upper boundary of the allowed range, Nup (e.g., due to a defective registration server as inFIG. 3B ) or falls below an lower boundary of the allowed range, Nlow (e.g., due to a defective access network as inFIG. 3C ), thenetwork 300 may be considered abnormal and a communication error alert indicating a potential source of a network failure may be sent to the network administrator. The alert may comprise, e.g., a plurality of time stamps associated with registration requests received during an observation window (e.g., registration time window) in which the alert has been triggered, an expected range of a quantity of registration requests during the observation window (e.g., Nexp), and/or an actual quantity of registration requests detected during the observation window (e.g., Ndet). - The expected quantity of registration requests may comprise a range above and below the quantity Nexp discussed above. The upper and lower boundaries of this allowed range (Nup and Nlow) may be determined based on one or more historical quantities of Ndet stored in the registration history. It may be checked how much Ndet is deviated from Nexp over retrieved registration history. A historical deviation (D) between one or more historical quantities of Ndet and the expected quantity of registration requests per registration time window (Nexp) may be calculated by the following formula:
-
Historical Deviation (D)=|N det −N exp| - To calculate a historical deviation D, a subset of the registration history may be retrieved (e.g., historical values of Ndet 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 Nexp. 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, Nexp may be 121,547 per hour as described in
FIG. 4 , and Nexp may remain steady according to the formula: Nexp=Nter×ln(Tup/Tlow)÷(Tup−Tlow). - Various historical deviations may be employed to determine the allowed range for Ndet. A maximum historical deviation associated with Ndet (Dmax) and a minimum historical deviation associated with Ndet (Dmin) during the last 5 days may be selected by the
monitoring server 302. The maximum and minimum historical deviations (Dmax, and Dmin) may be employed to determine an upper threshold for the allowed range (Thup) and a lower threshold for the allowed range (Thlow). InFIG. 5 , the maximum and minimum historical deviations (Dmax and Dmin) and the upper and lower thresholds for the allowed range (Thup and Thlow) may be determined based on predetermined values of historical quantity of registration requests (Ndet), expected quantity of registration requests (Nexp), and constants K1 and K2 (e.g., K1 and K2 may be 1.10 inFIG. 5 ; these constants may be adjusted), as shown below: -
D max =|N det −N exp|=163,235−121,547=41,688 per hour -
Th up =K 1 ×D max=1.1×41,688=45,857 per hour -
D min =|N det −N exp|=132,478−127,450=5,028 per hour -
Th low =K 2 ×D min=1.1×5,028=5,531 per hour - Based on the expected quantity of registration requests (Nexp) and the upper and lower thresholds (Thup and Thlow) for the allowed range, the upper and lower boundaries (Nup and Nlow) of the allowed range for the quantity of registration requests per registration time window (Ndet) may be determined. The allowed range may be defined as a numerical range from Nup to Nlow as shown in
FIG. 5 . The expected quantity of registration requests (Nexp) may be surrounded by the allowed range and the upper and lower boundaries (Nup and Nlow) are calculated by the following formula: -
N up =N exp +Th up=121,547+45,857=167,404 per hour -
N low =N exp −Th low=121,547−5,531=116,016 per hour - In
FIG. 5 , a network alert may be triggered if the detected quantity of the registration requests per registration time window (Ndet) exceeds the upper boundary (Nup) (e.g., 167,404 per hour) or falls below the lower boundary (Nlow) (e.g., 116,016 per hour). This unusually low or high volume of the registration requests may be caused by network issues associated with any component on a route from the terminals to the registration server 301 (e.g., coaxial cables, optical fibers, wireless links, hubs, firewalls, routers, switches, servers, proxies, wireless access points, receivers, transmitters, interfaces, adapters, anti-malware systems, etc.). If Ndet is out of the allowed range inFIG. 5 , an alert may be triggered. Themonitoring server 302 or thepush notification server 105 may send the alert to users or the network administrator, to notify occurrence of network failure and/or potential source of failure, as previously described. Two potential sources of network failure may comprise theregistration server 301 and theaccess network 303. Themonitoring server 302 may be configured to send alerts to a first destination if the quantity of current registration requests exceeds the upper boundary (Nup), and to a second destination if the quantity of current registration requests falls below the lower boundary (Nlow). The expected ranges and values discussed above are merely examples, and alternative formulations of the permissible ranges may be used as desired. Different values may be used for different geographic locations, different times of day, etc., as desired. - In
FIG. 5 , during the time window 2-3 pm, Ndet (e.g., 184,329 per hour) may exceed the upper boundary (Nup) (e.g., 167,404 per hour). This unusual surge of Ndet may be caused by thedefective registration server 301, as previously described inFIG. 3B . Thus, a communication error alert may be sent by themonitoring server 302 to alert a registration server error. On the other hand, during the time window 3-4 pm, Ndet (e.g., 73,408 per hour) may fall below the lower boundary (Nlow) (e.g., 116,016 per hour). This unusual drop of Ndet may be caused by thedefective access network 303, as previously described inFIG. 3C . Thus, an alert (e.g., an e-mail or other electronic message, phone call, audible alarm, etc.) may be sent by themonitoring server 302 to alert an access server error or terminal error. If Ndet remains within the allowed range, such as in the time windows 1-2 pm and 4-5 pm, no alert may be sent by themonitoring server 302. Detailed methods for triggering an alert and locating potential source of network failure will be described below. -
FIGS. 6A to 6C comprise a flow chart showing an example method for determining whether the detected quantity of the registration requests (Ndet) is abnormal in view of the expected number of the registration requests (Nexp), with reference toFIGS. 1 to 5 . The monitoring server 302 (or whichever computing device is performing the algorithm) may be configured. For example, a plurality of communications between the monitoringserver 302 and various components in thenetwork 300 may be set up, via thecommunication links 101 inFIG. 1 . Themonitoring server 302 may be connected with any hardware, software and other supporting devices and components at thenetwork 300. This configuration process may involve setting the monitoring server's 302 controls, flow and operation to support communications between the monitoringserver 302 and theregistration server 301, theaccess network 303 and/or the terminals 304-306 (e.g.,personal computers 114,laptop computers 115,wireless devices 116,landline phones 117,VoIP phones 118,mobile devices 125 or any other Internet access devices). - In
FIG. 6A , atstep 601, the size of the registration time window (e.g., 5 minutes, 30 minutes, one hour, etc.) may be determined as inFIG. 4 . The size of the registration time window may be set and/or changed by the network administrator. Based on the registration time window, atstep 602, the registration history associated with the historical volume of Ndet may be retrieved from themonitoring server 302, thecontent server 106, theregistration server 122 or any other database or server in thenetwork 300 that retains the registration request history. As previously described inFIG. 5 , the registration history may comprise, e.g., the historical volume of registration requests per registration time window (Ndet) (e.g., Ndet for last 5 days or for each of the same day of week for 5 weeks), and may be updated as new registration requests are received by theregistration server 301 and/or detected by themonitoring server 302. For example, if the current time is Friday at 3 pm, Ndet during 2-3 pm on Monday to Thursday may be retrieved from the registration history. Alternatively, Ndet within a time window 2-3 pm on each Friday for last 4 weeks may be retrieved from the registration history. Of course, other timing schemes for retrieving Ndet from the registration history may be implemented. - At
step 603, the quantity of the terminals 304-306 (Nter) connected to theregistration server 301 may be determined based on the registration reports generated by themonitoring server 302. Alternatively, Nter may be determined based on communications between the monitoringserver 302 and the terminals 304-306 at any time beforestep 603. Nter may be 100,000, as previously described inFIG. 4 . Atsteps FIG. 4 , for example, Tlow may be 75% of one hour (45 minutes) and Tup may be 90% of one hour (54 minutes). Atstep 606, as previously described inFIG. 4 , Nexp may be determined based on the foregoing values of Nter, Tup and Tlow, such as the following: -
N exp =N ter×ln(T up /T low)÷(T up −T low)=100,000×ln(0.90/0.75)÷(0.90−0.75)=121,547 per hour - In
FIG. 6B , atstep 607, the historical deviation D (e.g., D=|Ndet−Nexp|, as inFIG. 5 ) may be determined based on the registration history. The followingsteps 607 to 610 may be performed to determine whether a current value of Ndet is out of the allowed range, with reference toFIG. 5 . Atstep 607, a portion of the registration history may be retrieved and the historical deviation (D) may be calculated based on Ndet (e.g., Ndet for last 5 days) and Nexp (e.g., 121,547 per hour). The maximum and minimum values of D (Dmax and Dmin) may be determined from the historical values of D. - At
step 608, the upper threshold (Thup) for the allowed range for the quantity of registration requests per registration time window may be determined. For example, as inFIG. 5 , Thup may be calculated, e.g., as the following: Thup=K1×Dmax=1.1×41,688=45,857 per hour (K1 may be an adjustable constant). Atstep 609, the lower threshold (Thlow) for the allowed range for the quantity of registration requests per registration time window may be determined. For example, as inFIG. 5 , Thlow may be calculated, e.g., as the following: Thlow=K2×Dmin=1.1×5,028=5,531 per hour (K2 may be an adjustable constant). - The constants K1 and K2 that are used to calculate the upper and lower thresholds (Thup and Thlow) may be adjusted, depending on a desired frequency of alert triggering in the
network 300. For example, K1 and K2 may be increased to enlarge the allowed range if a lower amount of alert triggering is desired (Ndet is more likely to be within the allowed range), whereas K1 and K2 may be decreased to shrink the allowed range if a higher amount of alert triggering is desired (Ndet 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 (Ndet) may be determined based on a selection of K1 and K2, to avoid false alerts and misdetection of network errors. K1 and K2 may be determined via an analysis of historical data associated with registration (e.g., how Ndet has changed over a given time period, how much Ndet exceeds or falls below an expected quantity of the recent registration requests (Nexp), etc.). The values of K1 and K2 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.). - At
step 610, based on the expected quantity of the recent registration requests (Nexp) and the upper and lower thresholds for the allowed range (Thup and Thlow), the allowed range for the detected quantity of the recent registration requests per registration time window (Ndet) may be determined. As previously described inFIG. 5 , the lower boundary (Nlow) for the allowed range may be calculated, e.g., as the following: Nlow=Nexp−Thlow=121,547−5,531=116,016 per hour. Also, the upper boundary (Nup) for the allowed range may be calculated, e.g., as the following: Nup=Nexp+Thup=121,547+45,857=167,404 per hour. The allowed range may range from Nlow (e.g., 116,016 per hour) to Nup (e.g., 167,404 per hour), as previously shown inFIG. 5 . The allowed range may be compared with the current quantity of registration requests per registration time window (Ndet), to determine whether to trigger an alert to notify a network failure. Atstep 611, the current quantity of registration requests (Ndet) may be determined based on the registration reports generated by the monitoring server 302 (as previously determined inFIG. 3A ), and Ndet may be recorded in the registration history. The registration history may be stored in themonitoring server 302 or any memory (e.g.,ROM 202,RAM 203, etc.), servers (e.g., servers 105-107 and 122, etc.) or theexternal network 209. - 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 (Ndet) (which is the detected number of registration requests per registration time window, as shown inFIG. 5 ) is out of the allowed range from the lower boundary (nlow) to the upper boundary (Nup). The system need not perform the check continuously, but if desired, the predetermined time may be set to zero or omitted to allow for continuous checking. If it is not time to check (e.g., step 613: no), themonitoring server 302 may proceed to step 601 ofFIG. 6A , and the foregoing process of whether Ndet is out of the allowed range may be renewed. If it is the time to check (e.g., step 613: yes), the process may proceed to step 613 ofFIG. 6C . - In
FIG. 6C , atstep 613, it may be determined whether the current quantity of registration requests (Ndet) is higher than (e.g., exceeds or satisfies) the upper boundary (Nup) (which is the upper threshold for Ndet, as determined in step 610). If Ndet exceeds Nup (e.g., step 613: yes or during the time window 2-3 pm inFIG. 5 ), themonitoring server 302 may proceed to step 614. Atstep 614, an alert to notify an error with theregistration server 301 may be sent to the network administrator or other authorities. As previously described inFIG. 3B , some repeated registration requests may be sent to the defective registration server 301 (e.g., inFIG. 3B ) if theregistration server 301 does not respond to the requests from the terminals 304-306. Due to the repeated requests, Ndet may be abnormally high, as determined by themonitoring server 302. The alert may indicate that the registration server 301 (e.g., registration servers and/or proxies in the headend 103) may be experiencing an error, along with time of the registration server error. Then the monitoringserver 302 may proceed to step 618 (to be described later in this disclosure). If the current quantity of registration requests (Ndet) is not higher than the upper boundary (Nup) (e.g., step 614: no or during the time windows 1-2 pm and 4-5 pm inFIG. 5 ), themonitoring server 302 may proceed to step 615 (to be described below). - At
step 615, it may be determined whether the current quantity of registration requests (Ndet) is lower than the lower boundary (Nlow) (which is the lower threshold for Ndet, as determined in step 610). If Ndet falls below Nlow (e.g., step 615: yes or during the time window 3-4 pm inFIG. 5 ), themonitoring server 302 may proceed to step 616. Atstep 616, an alert to notify an error with theaccess server 303 or the terminals 304-306 may be sent to the network administrator or other authorities. As previously described inFIG. 3C , some repeated registration requests may be sent to the defective access server 303 (e.g., inFIG. 3C ) if theaccess server 303 does not respond to the requests from the terminals 304-306. Due to a defect in theaccess network 303, a relatively small portion of the requests, if not none, may be delivered to theregistration server 301. Ndet may be abnormally low, as determined by themonitoring server 302. The alert may indicate that theaccess server 303 or some of the terminals 304-306 may be experiencing an error, along with time of the access server/terminal error. If one or more of the terminals 304-306 have a network issue, they may not be able to generate and/or send the registration requests. If the current quantity of registration requests (Ndet) is not lower than the lower boundary (Nlow) (e.g., step 615: no or during the time windows 1-2 pm and 4-5 pm inFIG. 5 ), themonitoring server 302 may proceed to step 617. - At
step 617, the registration history may be updated. A variety of numerical values (e.g., detected quantity of registration requests (Ndet), expected quantity of registration requests (Neap), upper and lower boundaries (Nup and Nlow), quantity of registered terminals (Nter), upper and lower thresholds (Thup and Thlow), etc.) may be stored and/or updated in the registration history. The recorded values may be used for future registration requests. For example, Ndet 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 monitoringserver 302 may proceed to step 601, where themonitoring server 302 may renew a loop for determining whether another current value of Ndet is out of the allowed range and whether to send out an alert for network error. - At
steps 614 & 616, based on determining that Ndet is out of the allowed range inFIG. 5 (e.g., step 613: yes or step 615: yes), a network capacity plan may be redesigned to accommodate a new capacity as required by the VoIP service or registration (in addition, or alternatively to, sending the alerts). The network capacity plan may be done to identify shortcomings or parameters that can affect the network's performance or availability within a predictable future time. For example, based on Ndet as previously described, a current registration traffic volume may be estimated. The expected range/thresholds associated with the detected quantity of registration requests (Ndet) may be adjusted to accommodate the current registration traffic volume and to reduce false error alerts. The newly decided expected range/thresholds may be stored and/or implemented by themonitoring server 302. The network capacity plan may be regularly updated per registration time window. - 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 μm and 4-5 pm in
FIG. 5 , themonitoring server 302 may not send out an alert, as previously described. Atstep 617, the registration history may be updated as previously described. It may be reasonably assumed that the terminals 304-306 have been registered to thelocal office 103 and received successful response messages, as previously described inFIG. 3A . - After
step 617, themonitoring server 302 may proceed to step 601 and repeat the foregoing process. If an alert has been sent instep 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 (Ndet). Alternatively, the size of the registration time window may be enlarged to save processing power associated with themonitoring server 302. Alternatively, themonitoring server 302 may skipstep 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 inFIGS. 6A to 6C .) - Based on registration monitoring algorithm, the detected number of registration requests per registration time window (Ndet) and the expected number of registration requests (Nexp) may be compared automatically, and an alert may be sent if Ndet is out of the allowed range in
FIG. 5 . Thus, a proactive detection of occurrence, timing and/or potential source of network failure (e.g., caused by theregistration server 301, theaccess network 303 and/or the terminals 304-306) may be performed without a manual control over themonitoring server 302 or any other computing devices in thenetwork 300 by the network administrator or other authorities. Based on a network or call flow design previously described in this disclosure, each network service carrier may determine its own network health check sequence, if a communication error alert (e.g., registration error alert) is triggered. - 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.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/536,846 US20220116768A1 (en) | 2019-10-09 | 2021-11-29 | Network Outage Detection |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/596,820 US11223945B2 (en) | 2019-10-09 | 2019-10-09 | Network outage detection |
US17/536,846 US20220116768A1 (en) | 2019-10-09 | 2021-11-29 | Network Outage Detection |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/596,820 Continuation US11223945B2 (en) | 2019-10-09 | 2019-10-09 | Network outage detection |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220116768A1 true US20220116768A1 (en) | 2022-04-14 |
Family
ID=75381986
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/596,820 Active US11223945B2 (en) | 2019-10-09 | 2019-10-09 | Network outage detection |
US17/536,846 Pending US20220116768A1 (en) | 2019-10-09 | 2021-11-29 | Network Outage Detection |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/596,820 Active US11223945B2 (en) | 2019-10-09 | 2019-10-09 | Network outage detection |
Country Status (2)
Country | Link |
---|---|
US (2) | US11223945B2 (en) |
CA (1) | CA3095834A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11223945B2 (en) * | 2019-10-09 | 2022-01-11 | Comcast Cable Communications, Llc | Network outage detection |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8391208B1 (en) * | 2009-03-10 | 2013-03-05 | Sprint Communications Company L.P. | Methods of setting mobile internet protocol timer value |
US20130086194A1 (en) * | 2011-09-30 | 2013-04-04 | Microsoft Corporation | Service outage details in an error message |
CN103905222A (en) * | 2012-12-25 | 2014-07-02 | 北京神州泰岳软件股份有限公司 | Instant messaging login failure detection method and system |
US20150356316A1 (en) * | 2014-06-04 | 2015-12-10 | Idscan Biometrics Limited | System, method and program for managing a repository of authenticated personal data |
US20160112894A1 (en) * | 2012-10-29 | 2016-04-21 | T-Mobile Usa, Inc. | Contextual Quality of User Experience Analysis Using Equipment Dynamics |
US20200195729A1 (en) * | 2018-12-14 | 2020-06-18 | T-Mobile Usa, Inc. | Systems and methods for capturing and logging web application traffic |
US11223945B2 (en) * | 2019-10-09 | 2022-01-11 | Comcast Cable Communications, Llc | Network outage detection |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9971877B1 (en) * | 2002-06-07 | 2018-05-15 | Jda Software Group, Inc. | Managing plan problems across planning cycles |
US7792042B2 (en) * | 2007-03-29 | 2010-09-07 | Cisco Technology, Inc. | Classification of signaling protocol errors to trigger network connectivity troubleshooting |
US9467308B2 (en) | 2008-08-01 | 2016-10-11 | At&T Intellectual Property I, L.P. | Methods and apparatus to control synchronization in voice over internet protocol networks after catastrophes |
US8355395B2 (en) * | 2009-10-20 | 2013-01-15 | At&T Intellectual Property I, L.P. | Controlling registration floods in VoIP networks via DNS |
US10009784B1 (en) * | 2016-06-01 | 2018-06-26 | Yupana, Inc. | Remote detection and analysis of passive intermodulation problems in radio base stations |
-
2019
- 2019-10-09 US US16/596,820 patent/US11223945B2/en active Active
-
2020
- 2020-10-08 CA CA3095834A patent/CA3095834A1/en active Pending
-
2021
- 2021-11-29 US US17/536,846 patent/US20220116768A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8391208B1 (en) * | 2009-03-10 | 2013-03-05 | Sprint Communications Company L.P. | Methods of setting mobile internet protocol timer value |
US20130086194A1 (en) * | 2011-09-30 | 2013-04-04 | Microsoft Corporation | Service outage details in an error message |
US20160112894A1 (en) * | 2012-10-29 | 2016-04-21 | T-Mobile Usa, Inc. | Contextual Quality of User Experience Analysis Using Equipment Dynamics |
CN103905222A (en) * | 2012-12-25 | 2014-07-02 | 北京神州泰岳软件股份有限公司 | Instant messaging login failure detection method and system |
US20150356316A1 (en) * | 2014-06-04 | 2015-12-10 | Idscan Biometrics Limited | System, method and program for managing a repository of authenticated personal data |
US20200195729A1 (en) * | 2018-12-14 | 2020-06-18 | T-Mobile Usa, Inc. | Systems and methods for capturing and logging web application traffic |
US11223945B2 (en) * | 2019-10-09 | 2022-01-11 | Comcast Cable Communications, Llc | Network outage detection |
Also Published As
Publication number | Publication date |
---|---|
US20210112405A1 (en) | 2021-04-15 |
CA3095834A1 (en) | 2021-04-09 |
US11223945B2 (en) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102054B2 (en) | Anomaly detection, alerting, and failure correction in a network | |
US8938749B2 (en) | System and method to troubleshoot a set top box device | |
US10855514B2 (en) | Fixed line resource management | |
US7738392B2 (en) | Methods and apparatus to provide services over integrated broadband communication systems | |
US9960984B2 (en) | Device performance monitoring | |
US20080267076A1 (en) | System and apparatus for maintaining a communication system | |
US20090164550A1 (en) | Media monitoring | |
US8111811B2 (en) | Methods, devices and computer program products for providing customer service call direction based upon remote diagnostics | |
US10284928B2 (en) | System and method of analyzing CMTS data streams | |
US20070256096A1 (en) | System and method for pushing conditional message data between a client device and a server device in an internet protocol television network | |
US11716269B1 (en) | Apparatuses and methods involving a monitor device for use with endpoint devices | |
US9124879B2 (en) | System for proactively troubleshooting set top box issues | |
US20200280501A1 (en) | Automation of customer support sorting process | |
US11038747B2 (en) | Method and system to identify a source of signal impairment | |
WO2014110911A1 (en) | Fault processing method and apparatus in iptv system | |
US8654631B2 (en) | Method and apparatus for providing an intelligent back-up internet protocol (IP) connection | |
US20220116768A1 (en) | Network Outage Detection | |
US10575066B2 (en) | Method and device for determining redress measures for TV service outages based on impact analysis | |
US20120005333A1 (en) | Method and system to detect a predictive network signature | |
CN111106962B (en) | Streaming media fault monitoring method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: COMCAST CABLE COMMUNICATIONS, LLC, PENNSYLVANIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LI, YUBIN;HOU, JIONGKUAN;REEL/FRAME:063270/0354 Effective date: 20191001 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |