[go: up one dir, main page]

US9270983B1 - Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway - Google Patents

Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway Download PDF

Info

Publication number
US9270983B1
US9270983B1 US13/525,777 US201213525777A US9270983B1 US 9270983 B1 US9270983 B1 US 9270983B1 US 201213525777 A US201213525777 A US 201213525777A US 9270983 B1 US9270983 B1 US 9270983B1
Authority
US
United States
Prior art keywords
diagnostic
service
command
testing hierarchy
hierarchy
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.)
Active
Application number
US13/525,777
Inventor
William Charles Hare, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Enterprises LLC
Original Assignee
Arris Enterprises LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to US13/525,777 priority Critical patent/US9270983B1/en
Application filed by Arris Enterprises LLC filed Critical Arris Enterprises LLC
Assigned to ARRIS GROUP, INC. reassignment ARRIS GROUP, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HARE, WILLIAM CHARLES, JR
Assigned to ARRIS ENTERPRISES, INC. reassignment ARRIS ENTERPRISES, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS GROUP, INC.
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: 4HOME, INC., ACADIA AIC, INC., AEROCAST, INC., ARRIS ENTERPRISES, INC., ARRIS GROUP, INC., ARRIS HOLDINGS CORP. OF ILLINOIS, ARRIS KOREA, INC., ARRIS SOLUTIONS, INC., BIGBAND NETWORKS, INC., BROADBUS TECHNOLOGIES, INC., CCE SOFTWARE LLC, GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., GENERAL INSTRUMENT CORPORATION, GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., GIC INTERNATIONAL CAPITAL LLC, GIC INTERNATIONAL HOLDCO LLC, IMEDIA CORPORATION, JERROLD DC RADIO, INC., LEAPSTONE SYSTEMS, INC., MODULUS VIDEO, INC., MOTOROLA WIRELINE NETWORKS, INC., NETOPIA, INC., NEXTLEVEL SYSTEMS (PUERTO RICO), INC., POWER GUARD, INC., QUANTUM BRIDGE COMMUNICATIONS, INC., SETJAM, INC., SUNUP DESIGN SYSTEMS, INC., TEXSCAN CORPORATION, THE GI REALTY TRUST 1996, UCENTRIC SYSTEMS, INC.
Application granted granted Critical
Publication of US9270983B1 publication Critical patent/US9270983B1/en
Assigned to ARRIS ENTERPRISES LLC reassignment ARRIS ENTERPRISES LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS ENTERPRISES INC
Assigned to LEAPSTONE SYSTEMS, INC., SETJAM, INC., POWER GUARD, INC., NETOPIA, INC., GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., BROADBUS TECHNOLOGIES, INC., SUNUP DESIGN SYSTEMS, INC., ARRIS ENTERPRISES, INC., CCE SOFTWARE LLC, BIG BAND NETWORKS, INC., MODULUS VIDEO, INC., THE GI REALTY TRUST 1996, ACADIA AIC, INC., GENERAL INSTRUMENT CORPORATION, GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., ARRIS GROUP, INC., MOTOROLA WIRELINE NETWORKS, INC., AEROCAST, INC., TEXSCAN CORPORATION, QUANTUM BRIDGE COMMUNICATIONS, INC., UCENTRIC SYSTEMS, INC., JERROLD DC RADIO, INC., 4HOME, INC., NEXTLEVEL SYSTEMS (PUERTO RICO), INC., ARRIS KOREA, INC., ARRIS SOLUTIONS, INC., IMEDIA CORPORATION, ARRIS HOLDINGS CORP. OF ILLINOIS, INC., GIC INTERNATIONAL HOLDCO LLC, GIC INTERNATIONAL CAPITAL LLC reassignment LEAPSTONE SYSTEMS, INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to ARRIS ENTERPRISES LLC reassignment ARRIS ENTERPRISES LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS ENTERPRISES, INC.
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. ABL SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., ARRIS TECHNOLOGY, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. TERM LOAN SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., ARRIS TECHNOLOGY, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to WILMINGTON TRUST reassignment WILMINGTON TRUST SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to APOLLO ADMINISTRATIVE AGENCY LLC reassignment APOLLO ADMINISTRATIVE AGENCY LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS ENTERPRISES LLC, COMMSCOPE INC., OF NORTH CAROLINA, COMMSCOPE TECHNOLOGIES LLC, Outdoor Wireless Networks LLC, RUCKUS IP HOLDINGS LLC
Assigned to COMMSCOPE, INC. OF NORTH CAROLINA, COMMSCOPE TECHNOLOGIES LLC, ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.), RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.), ARRIS TECHNOLOGY, INC., ARRIS SOLUTIONS, INC. reassignment COMMSCOPE, INC. OF NORTH CAROLINA RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Assignors: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/04Diagnosis, testing or measuring for television systems or their details for receivers
    • H04N17/045Self-contained testing apparatus

Definitions

  • This disclosure relates to diagnosing service-affecting issues in customer premise equipment.
  • DOCSIS Data-Over-Cable Service Interface Specification
  • CATV community antenna television
  • MSO multiple services operators
  • CATV network infrastructure for carrying voice, video on demand (VoD) and video conferencing traffic signals, among other types.
  • CPE customer premise equipment
  • FIG. 1 is a block diagram illustrating an example network environment operable to facilitate diagnostics for service-affecting issues in a CPE device quickly using a single command.
  • FIG. 2 is a block diagram illustrating an exemplary CPE device operable to diagnose service-affecting issues in a CPE device.
  • FIG. 3 is a flowchart illustrating an example process operable to provide a quick diagnosis for service-affecting issues in a CPE device.
  • FIG. 4 is a block diagram of a hardware configuration operable to provide a single command diagnosis for service-affecting issues in a CPE device.
  • systems and methods can operate to diagnose service-affecting issues in a CPE device quickly by using a single command.
  • service-affecting issues occur in a CPE device, there are few tools available to quickly diagnose the problem. Diagnosing the problem typically requires knowledge of the inner-workings of the device, along with the execution of multiple CLI commands and knowledge of a nominal value range for responses to the CLI commands.
  • FIG. 1 is a block diagram illustrating an example network environment 100 operable to facilitate diagnostics for service-affecting issues in CPE devices quickly using a single command.
  • a headend 105 can provide video, data and/or voice service(s) to customer premise equipment (CPE) devices 110 a - d in one or more subscriber groups (e.g., service group(s)).
  • CPE customer premise equipment
  • the CPE devices can include, for example, a cable modem 110 a , a set top box 110 b , a wireless router including an embedded cable modem 110 c , or a media terminal adapter (MTA) 110 d , among many others (e.g., digital subscriber line (DSL) modem, voice over internet protocol (VoIP) terminal adapter, video game console, digital versatile disc (DVD) player, communications device, etc.).
  • a cable modem 110 a can facilitate communications between the headend 105 and a computer 115 a .
  • a set top box 110 b can facilitate communications from the headend 105 to a television or a digital video recorder.
  • a wireless router 110 c can facilitate wireless communications between a computer 115 c and a headend 105 .
  • An MTA 110 d can facilitate communications between a telephone 115 d and a headend 105 .
  • the CPE devices 110 a - d can communicate with the headend 105 via a hybrid fiber-coax (HFC) network 120 .
  • the headend 105 can include devices such as a cable modem termination system (CMTS) 125 and/or an edge quadrature amplitude modulation (EQAM) device (not shown), or a combined or converged device (not shown) including multiple edge and/or video or data processing functionalities.
  • CMTS cable modem termination system
  • EQAM edge quadrature amplitude modulation
  • Such devices can operate to facilitate communications between a network 130 and the CPE devices 110 a - d .
  • the network 130 can include one or more networks internal to the headend and/or one or more networks external to the headend (e.g., one or more extranets, the Internet, etc.).
  • Data services can be handled by the headend 105 through a CMTS 125 .
  • the CMTS 125 can receive data signals from external device(s) or nodes through network(s) 130 .
  • the network(s) 130 can operate using internet protocol (IP), sending data packets to and receiving data packets from the headend 105 .
  • IP internet protocol
  • the CMTS 125 can be paired with a SIP proxy server (not shown) operable to provide voice over internet protocol (VoIP) services with voice connectivity to other subscribers or voice connectivity to a public switched telephone network (PSTN) (not shown).
  • VoIP voice over internet protocol
  • PSTN public switched telephone network
  • one or more video sources may provide streaming data through the network(s) 130 to the CMTS 125 .
  • the CMTS 125 can forward packets destined for subscribers to an EQAM device used to apply the signal to a carrier waveform.
  • the carrier waveform can include either or both data and video streams, in either or both multicast and unicast (e.g., point-to-point) formats for transmission to a combiner, which can combine multiple signals onto a single fiber for transmission to one or more CPE devices 110 a - d via the hybrid fiber-coax (HFC) network 120 .
  • the CMTS 125 can apply a baseband signal to a carrier wave and transmit the signal to a combiner for upconversion to a transmission frequency.
  • a CPE device 110 a - d When a CPE device 110 a - d initially attempts to connect to the headend 105 , the device 110 a - d goes through a ranging and registration process with the headend 105 . Ranging typically involves finding and locking onto a signal and determining a timing offset for the device 110 a - d .
  • the registration process typically includes retrieval of a configuration filename from a dynamic host control protocol (DHCP) server 130 through the network 125 .
  • DHCP dynamic host control protocol
  • the CPE device 110 a - d identifies a trivial file transfer protocol (TFTP) server 135 where the configuration file is stored.
  • TFTP trivial file transfer protocol
  • the CPE device 110 a - d then requests the configuration file from the TFTP server 135 using the filename provided by the DHCP server. Upon receiving the configuration file, the CPE device 110 a - d can register with the CMTS 120 .
  • the CPE device will be unable to connect to the headend. This can occur for various reasons, and diagnosis of the issue can involve initiating several complicated commands with results that may not clearly identify whether there is a problem and can waste valuable time.
  • the inability to connect to the headend can occur for a variety of reasons, e.g., including errors in a cable modem, an embedded multimedia terminal adapter (eMTA), a CMTS, a router, or faults in the HFC network itself.
  • FIG. 2 is a block diagram illustrating an exemplary CPE device 110 operable to diagnose service-affecting issues in a CPE device quickly by using a single command.
  • the CPE device 110 can include a network interface 210 , a diagnostic logic module 220 , a device results data store 230 , a client interface 240 , and a serial port 250 .
  • the network interface 210 e.g., an HFC interface
  • the network interface 210 can be a generic network interface to a local area network (LAN) or wide area network (WAN).
  • LAN local area network
  • WAN wide area network
  • the diagnostics logic module 220 can be used to retrieve a testing hierarchy from the HFC network 120 , or other generic network, execute diagnostics commands associated with the testing hierarchy, compare the results from those commands to sets of nominal results associated with the executed diagnostics commands, and print information found on service-affecting issues.
  • the device results data store 230 can be operable to store information found on service-affecting errors.
  • the client interface 240 is operable to provide a client interface, for example, to a host computer in the case of a cable modem or MTA device, or to a television for a set top box, etc.
  • the serial port 250 can be operable to print or communicate data to a device external to the CPE device.
  • Execution of diagnostic testing can be started by entering a diagnostic command through an execution source 260 such as command line interface (CLI), hypertext transfer protocol (HTTP) or simple network management protocol (SNMP).
  • CLI command line interface
  • HTTP hypertext transfer protocol
  • SNMP simple network management protocol
  • entering a diagnostic command may result in the performance of a deep check of the service that can report the first found issue based upon a testing hierarchy and the particular diagnostic command entered.
  • the user when executing the diagnostic commands via CLI, the user can be given two standard command options: diagnostic level and intrusive action query. For example, in response to the diagnostic level option, the user may be able to choose between four different diagnostic levels. The first level may print only information on the lowest-level service-affecting error found. The second level may print information on all service-affecting errors. The third level may print information on all service-affecting errors as well as potential service-affecting warnings. The fourth level may print information on all data examined during execution of the command, including all errors and warnings. The user can choose which diagnostic level to run based on the user's experience with the system or simply the level of thoroughness sought by the user. The user can also be provided the option of allowing the system to run intrusive actions during execution of the command.
  • the diagnostic command can be service-type commands, for example “cm_diag,” “mta_diag,” “voice_diag,” “router_diag” and “video_diag.”
  • the service-type command can be used to perform a status check of the corresponding CPE device/service component by verifying that everything needed for a selected service-type is functioning properly within the component.
  • the header of each command name corresponds to the type of component to be checked. For example, the “cm” command will check the status of a cable modem, the “mta” command will check the status of the embedded multimedia terminal adapter (eMTA), the “voice” command will check the status of the voice line, and the “router” command will check the status of the router.
  • eMTA embedded multimedia terminal adapter
  • the service-type commands can include service diagnostic sub-commands such as “rf_diag,” “cmDhcp_diag,” “mtaDhcp_diag,” among others. These sub-commands can check the status of individual sub-components of the component/service corresponding to the service-type command. When a service-type command is executed, all of the sub-commands associated with that service-type command can be executed. In additional implementations, the sub-commands can be executed separately and individually.
  • the diagnostic logic module 220 can retrieve a testing hierarchy from the network.
  • the testing hierarchy can be retrieved from a local data store.
  • the testing hierarchy can identify the service-type commands and their corresponding sub-commands in a prioritized order.
  • the service-type commands can build upon one another. For example, when a main service command is entered, the diagnostic logic module 220 can first execute the service-type commands associated with the service-type diagnostic command initiated by the user based upon the testing hierarchy associated with that service-type command.
  • service-type commands and sub-commands can be added to the testing hierarchy or have their priority within the testing hierarchy altered.
  • the diagnostic logic module 220 can execute the specified command, and any other commands implicated by the testing hierarchy.
  • the diagnostic logic can store information found on any service-affecting issues in the device results data store 230 and in some implementations, in an external results data store 270 .
  • the device results data store 230 can be located in the CPE device's non-volatile memory or volatile memory.
  • the external results data store 270 can be located in memory external to the CPE device and can be accessed via the CPE device's network interface 210 or serial port 250 .
  • the diagnostic logic module 220 can access the information stored in the device results data store 230 and print or display the information requested by the command to a location external to the device.
  • the information requested by the command can include any of: only the first service-affecting issue found, all service-affecting issues found, or all service-affecting issues and potential service-affecting warnings found during the diagnostic process.
  • FIG. 3 is a flowchart illustrating an example process 300 operable to diagnose service-affecting issues in a CPE device.
  • the process 300 can start at stage 305 when a diagnostic command is entered, for example, via CLI, HTTP, or SNMP.
  • the command can be entered, for example, using a service interface (e.g., an execution source 260 or serial port 250 of FIG. 2 ).
  • the diagnostic command can be a service-type diagnostic command including, for example, “cm_diag,” “mta_diag,” “voice_diag,” “router_diag” or “video_diag.”
  • the diagnostic command can be a service-type diagnostic sub-command including, for example, “rf_diag,” “cmDhcp_diag,” “mtaDhcp_diag,” etc.
  • the CPE device can retrieve a testing hierarchy through the HFC network.
  • the testing hierarchy can be retrieved, for example, from a test source (e.g., execution source 260 of FIG. 2 or diagnostics logic 220 of FIG. 2 ).
  • the testing hierarchy can list the service-type diagnostic commands and the service-type diagnostic sub-commands in order starting with the lowest-level diagnostic. For example, the service-type diagnostic commands and the service diagnostic sub-commands can be listed in order from the lowest-level diagnostic to the highest-level diagnostic.
  • a determination can be made as to what diagnostic tests should be conducted based on the received diagnostic command and those diagnostic tests can be consolidated.
  • the determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ).
  • the diagnostics logic 220 can remove any tests from the testing hierarchy that are unnecessary based on the particular diagnostic command received.
  • the diagnostics logic 220 can add to the testing hierarchy diagnostic tests implicated by a received diagnostic command.
  • the diagnostic logic can determine whether the diagnostic command initiated is a cable modem service diagnostic command. The determination can be made, for example, by a diagnostics logic (e.g., diagnostics logic 220 of FIG. 2 ). In some implementations, the name of the command can be compared with known commands to determine what type of service is associated with the diagnostic command initiated by the user.
  • a diagnostics logic e.g., diagnostics logic 220 of FIG. 2
  • the name of the command can be compared with known commands to determine what type of service is associated with the diagnostic command initiated by the user.
  • the process 300 can proceed to stage 325 and execute the cable modem diagnostic.
  • the cable modem diagnostic can be executed, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ).
  • the diagnostic logic can print or write the results of the diagnostic test to a results data store (e.g., an output log).
  • the diagnostic logic can then proceed to stage 330 .
  • the diagnostic logic can determine whether the diagnostic command initiated by the user is an embedded multimedia terminal adapter (eMTA) diagnostic command or a lower-level diagnostic command. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ). If the eMTA diagnostic is the commanded diagnostic or is a lower listed diagnostic than the commanded diagnostic, then the diagnostic logic can proceed to stage 335 and execute the eMTA diagnostic. In some implementations, the diagnostic logic can then print or write the information found during the execution of the eMTA diagnostic to the results data store (e.g., an output log).
  • the results data store e.g., an output log
  • the process 300 can proceed to stage 340 .
  • the diagnostic logic can determine whether the service-type command initiated by the user is a voice diagnostic command or a lower-level diagnostic. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ). If the voice diagnostic is the commanded diagnostic or is a lower listed diagnostic than the commanded diagnostic, then the diagnostic logic can proceed to stage 345 and execute the voice diagnostic. In some implementations, the diagnostic logic can then print or write the information found during the execution of the voice diagnostic to the results data store (e.g., an output log).
  • the results data store e.g., an output log
  • the process 300 can then proceed to stage 350 .
  • the diagnostic logic can determine whether the service-type diagnostic command received from the user is a video diagnostic or a lower-listed diagnostic. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ).
  • the diagnostic logic can proceed to stage 355 and execute the video diagnostic.
  • the video diagnostic can be executed, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ).
  • the diagnostic logic can then print or write the information found during the execution of the video diagnostic to the results data store (e.g., an output log). After executing the video diagnostic, the diagnostic logic can then proceed to stage 360 where the process 300 ends.
  • the provisioning logic can proceed to stage 365 .
  • the diagnostic logic can determine whether the router diagnostic is the commanded diagnostic or is a lower-listed diagnostic than the commanded diagnostic. This determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ).
  • the process can proceed to stage 370 and execute the router diagnostic.
  • the router diagnostic can be executed, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2 ).
  • the diagnostic logic can then print or write the information found during the execution of the router diagnostic to the results data store (e.g., an output log).
  • the diagnostic logic can then proceed to stage 360 where the process 300 ends.
  • the provisioning logic can proceed to the end, stage 360 .
  • FIG. 4 is a block diagram of a hardware configuration 400 operable to diagnose service-affecting issues in a CPE device quickly by using a single command.
  • the hardware configuration 400 can include a processor 410 , a memory 420 , a storage device 430 , and an input/output device 440 .
  • Each of the components 410 , 420 , 430 , and 440 can, for example, be interconnected using a system bus 450 .
  • the processor 410 is capable of processing instructions for execution within the system 400 .
  • the processor 410 is a single-threaded processor.
  • the processor 410 is a multi-threaded processor.
  • the processor 410 is capable of processing instructions stored in the memory 420 or on the storage device 430 .
  • the memory 420 stores information within the hardware configuration 400 .
  • the memory 420 is a computer-readable medium.
  • the memory 420 is a volatile memory unit.
  • the memory 420 is a non-volatile memory unit.
  • the storage device 430 is capable of providing mass storage for the device 400 .
  • the storage device 430 is a computer-readable medium.
  • the storage device 430 can, for example, include a hard disk device, an optical disk device, flash memory or some other large capacity storage device.
  • the input/output device 440 provides input/output operations for the hardware configuration 400 .
  • the input/output device 440 can include one or more of a plain old telephone system (POTS) interface (e.g., an RJ11 connector), a network interface device, e.g., an Ethernet card, a serial communication device, e.g., and RS-232 port, and/or a wireless interface device, e.g., and 802.11 card.
  • POTS plain old telephone system
  • the input/output device can include driver devices configured to receive input data and send output data to other input/output devices, such as one or more subscriber devices 460 (e.g., set top box, cable modem, etc.), as well as sending communications to, and receiving communications from a network 470 .
  • subscriber devices 460 e.g., set top box, cable modem, etc.
  • Such instructions can, for example, comprise interpreted instructions, such as script instructions, e.g., JavaScript or ECMAScript instructions, or executable code, or other instructions stored in a computer readable medium.
  • Implementations of the subject matter and the functional operations described in this specification can be provided in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
  • Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus.
  • the tangible program carrier can be a propagated signal or a computer readable medium.
  • the propagated signal is an artificially generated signal, e.g., a machine generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a computer.
  • the computer readable medium can be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal, or a combination of one or more of them.
  • system processor encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
  • the system processor can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • the processes and logic flows described in this specification are performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output thereby tying the process to a particular machine (e.g., a machine programmed to perform the processes described herein).
  • the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read only memory or a random access memory or both.
  • the elements of a computer typically include a processor for performing instructions and one or more memory devices for storing instructions and data.
  • a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • a computer need not have such devices.
  • a computer can be embedded in another device, e.g., a mobile communications device, a telephone, a cable modem, a set-top box, a mobile audio or video player, or a game console, to name just a few
  • Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD ROM disks.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
  • magnetic disks e.g., internal hard disks or removable disks
  • magneto optical disks e.g., CD ROM and DVD ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
  • embodiments of the subject matter described in this specification can be operable to interface with a computing device having a display, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Methods, systems, and computer readable media can provide diagnosis of service-affecting issues in CPE devices. The diagnostic process can include retrieving a testing hierarchy associated with a received diagnostic command, executing the lowest-level diagnostic in the testing hierarchy, successively executing the remaining diagnostics in the testing hierarchy in the order implicated by the hierarchy until the commanded diagnostic is executed, and identifying the service-affecting issues found.

Description

TECHNICAL FIELD
This disclosure relates to diagnosing service-affecting issues in customer premise equipment.
BACKGROUND
The Data-Over-Cable Service Interface Specification (DOCSIS) was established by cable television network operators to facilitate transporting data traffic, primarily Internet traffic, over existing community antenna television (CATV) networks. In addition to transporting data traffic, as well as television content signals over a CATV network, multiple services operators (MSO) also use their CATV network infrastructure for carrying voice, video on demand (VoD) and video conferencing traffic signals, among other types.
When a service-affecting issue occurs in a customer premise equipment (CPE) device, there are few tools available to quickly diagnose the problem without having extensive knowledge of the interworking of the modem. Rather, current diagnostic tools capture traces and use one or more command line interfaces (CLI) to sift through large amounts of data. This results in multiple iterations and additional CLI commands being needlessly executed. Using current diagnostic tools, diagnosing even the simplest issues can take more time than is necessary.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating an example network environment operable to facilitate diagnostics for service-affecting issues in a CPE device quickly using a single command.
FIG. 2 is a block diagram illustrating an exemplary CPE device operable to diagnose service-affecting issues in a CPE device.
FIG. 3 is a flowchart illustrating an example process operable to provide a quick diagnosis for service-affecting issues in a CPE device.
FIG. 4 is a block diagram of a hardware configuration operable to provide a single command diagnosis for service-affecting issues in a CPE device.
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
In some implementations of this disclosure, systems and methods can operate to diagnose service-affecting issues in a CPE device quickly by using a single command. When service-affecting issues occur in a CPE device, there are few tools available to quickly diagnose the problem. Diagnosing the problem typically requires knowledge of the inner-workings of the device, along with the execution of multiple CLI commands and knowledge of a nominal value range for responses to the CLI commands.
FIG. 1 is a block diagram illustrating an example network environment 100 operable to facilitate diagnostics for service-affecting issues in CPE devices quickly using a single command. In some implementations, a headend 105 can provide video, data and/or voice service(s) to customer premise equipment (CPE) devices 110 a-d in one or more subscriber groups (e.g., service group(s)). The CPE devices can include, for example, a cable modem 110 a, a set top box 110 b, a wireless router including an embedded cable modem 110 c, or a media terminal adapter (MTA) 110 d, among many others (e.g., digital subscriber line (DSL) modem, voice over internet protocol (VoIP) terminal adapter, video game console, digital versatile disc (DVD) player, communications device, etc.). A cable modem 110 a can facilitate communications between the headend 105 and a computer 115 a. A set top box 110 b can facilitate communications from the headend 105 to a television or a digital video recorder. A wireless router 110 c can facilitate wireless communications between a computer 115 c and a headend 105. An MTA 110 d can facilitate communications between a telephone 115 d and a headend 105.
The CPE devices 110 a-d can communicate with the headend 105 via a hybrid fiber-coax (HFC) network 120. The headend 105 can include devices such as a cable modem termination system (CMTS) 125 and/or an edge quadrature amplitude modulation (EQAM) device (not shown), or a combined or converged device (not shown) including multiple edge and/or video or data processing functionalities. Such devices can operate to facilitate communications between a network 130 and the CPE devices 110 a-d. In various implementations, the network 130 can include one or more networks internal to the headend and/or one or more networks external to the headend (e.g., one or more extranets, the Internet, etc.).
Data services can be handled by the headend 105 through a CMTS 125. The CMTS 125 can receive data signals from external device(s) or nodes through network(s) 130. The network(s) 130, for example, can operate using internet protocol (IP), sending data packets to and receiving data packets from the headend 105. In some examples, the CMTS 125 can be paired with a SIP proxy server (not shown) operable to provide voice over internet protocol (VoIP) services with voice connectivity to other subscribers or voice connectivity to a public switched telephone network (PSTN) (not shown). In still further examples, one or more video sources may provide streaming data through the network(s) 130 to the CMTS 125.
In some implementations, the CMTS 125 can forward packets destined for subscribers to an EQAM device used to apply the signal to a carrier waveform. In some implementations, the carrier waveform can include either or both data and video streams, in either or both multicast and unicast (e.g., point-to-point) formats for transmission to a combiner, which can combine multiple signals onto a single fiber for transmission to one or more CPE devices 110 a-d via the hybrid fiber-coax (HFC) network 120. In other implementations, the CMTS 125 can apply a baseband signal to a carrier wave and transmit the signal to a combiner for upconversion to a transmission frequency.
When a CPE device 110 a-d initially attempts to connect to the headend 105, the device 110 a-d goes through a ranging and registration process with the headend 105. Ranging typically involves finding and locking onto a signal and determining a timing offset for the device 110 a-d. The registration process typically includes retrieval of a configuration filename from a dynamic host control protocol (DHCP) server 130 through the network 125. Upon receipt of the configuration filename, the CPE device 110 a-d identifies a trivial file transfer protocol (TFTP) server 135 where the configuration file is stored. The CPE device 110 a-d then requests the configuration file from the TFTP server 135 using the filename provided by the DHCP server. Upon receiving the configuration file, the CPE device 110 a-d can register with the CMTS 120.
At times, the CPE device will be unable to connect to the headend. This can occur for various reasons, and diagnosis of the issue can involve initiating several complicated commands with results that may not clearly identify whether there is a problem and can waste valuable time. The inability to connect to the headend can occur for a variety of reasons, e.g., including errors in a cable modem, an embedded multimedia terminal adapter (eMTA), a CMTS, a router, or faults in the HFC network itself.
FIG. 2 is a block diagram illustrating an exemplary CPE device 110 operable to diagnose service-affecting issues in a CPE device quickly by using a single command. The CPE device 110 can include a network interface 210, a diagnostic logic module 220, a device results data store 230, a client interface 240, and a serial port 250. The network interface 210 (e.g., an HFC interface) can be used to provide an interface to a network (e.g., an HFC network 120 of FIG. 1). It should be understood that in other devices, the network interface 210 can be a generic network interface to a local area network (LAN) or wide area network (WAN).
In some implementations, the diagnostics logic module 220 can be used to retrieve a testing hierarchy from the HFC network 120, or other generic network, execute diagnostics commands associated with the testing hierarchy, compare the results from those commands to sets of nominal results associated with the executed diagnostics commands, and print information found on service-affecting issues. In some implementations, the device results data store 230 can be operable to store information found on service-affecting errors. The client interface 240 is operable to provide a client interface, for example, to a host computer in the case of a cable modem or MTA device, or to a television for a set top box, etc. In some implementations, the serial port 250 can be operable to print or communicate data to a device external to the CPE device.
Execution of diagnostic testing can be started by entering a diagnostic command through an execution source 260 such as command line interface (CLI), hypertext transfer protocol (HTTP) or simple network management protocol (SNMP). In some implementations, when initiating the diagnostic process via HTTP or SNMP, entering a diagnostic command may result in the performance of a deep check of the service that can report the first found issue based upon a testing hierarchy and the particular diagnostic command entered.
In some implementations, when executing the diagnostic commands via CLI, the user can be given two standard command options: diagnostic level and intrusive action query. For example, in response to the diagnostic level option, the user may be able to choose between four different diagnostic levels. The first level may print only information on the lowest-level service-affecting error found. The second level may print information on all service-affecting errors. The third level may print information on all service-affecting errors as well as potential service-affecting warnings. The fourth level may print information on all data examined during execution of the command, including all errors and warnings. The user can choose which diagnostic level to run based on the user's experience with the system or simply the level of thoroughness sought by the user. The user can also be provided the option of allowing the system to run intrusive actions during execution of the command.
In some implementations, the diagnostic command can be service-type commands, for example “cm_diag,” “mta_diag,” “voice_diag,” “router_diag” and “video_diag.” The service-type command can be used to perform a status check of the corresponding CPE device/service component by verifying that everything needed for a selected service-type is functioning properly within the component. In this example, the header of each command name corresponds to the type of component to be checked. For example, the “cm” command will check the status of a cable modem, the “mta” command will check the status of the embedded multimedia terminal adapter (eMTA), the “voice” command will check the status of the voice line, and the “router” command will check the status of the router.
In some implementations, the service-type commands can include service diagnostic sub-commands such as “rf_diag,” “cmDhcp_diag,” “mtaDhcp_diag,” among others. These sub-commands can check the status of individual sub-components of the component/service corresponding to the service-type command. When a service-type command is executed, all of the sub-commands associated with that service-type command can be executed. In additional implementations, the sub-commands can be executed separately and individually.
When a diagnostic command is entered via CLI, HTTP, or SNMP, the diagnostic logic module 220 can retrieve a testing hierarchy from the network. Alternatively, the testing hierarchy can be retrieved from a local data store. The testing hierarchy can identify the service-type commands and their corresponding sub-commands in a prioritized order. In some implementations, the service-type commands can build upon one another. For example, when a main service command is entered, the diagnostic logic module 220 can first execute the service-type commands associated with the service-type diagnostic command initiated by the user based upon the testing hierarchy associated with that service-type command. Thus, for example, because voice service can be disrupted by a connection error in the cable modem, when the command corresponding to the voice service is executed, the status of the cable modem will first be checked by invoking the service-type command corresponding to the cable modem service. In some implementations, service-type commands and sub-commands can be added to the testing hierarchy or have their priority within the testing hierarchy altered.
When a command is entered via CLI, HTTP, or SNMP, the diagnostic logic module 220 can execute the specified command, and any other commands implicated by the testing hierarchy. The diagnostic logic can store information found on any service-affecting issues in the device results data store 230 and in some implementations, in an external results data store 270. The device results data store 230 can be located in the CPE device's non-volatile memory or volatile memory. The external results data store 270 can be located in memory external to the CPE device and can be accessed via the CPE device's network interface 210 or serial port 250.
After the diagnostic process has been executed, the diagnostic logic module 220 can access the information stored in the device results data store 230 and print or display the information requested by the command to a location external to the device. In some implementations, the information requested by the command can include any of: only the first service-affecting issue found, all service-affecting issues found, or all service-affecting issues and potential service-affecting warnings found during the diagnostic process.
FIG. 3 is a flowchart illustrating an example process 300 operable to diagnose service-affecting issues in a CPE device. The process 300 can start at stage 305 when a diagnostic command is entered, for example, via CLI, HTTP, or SNMP. The command can be entered, for example, using a service interface (e.g., an execution source 260 or serial port 250 of FIG. 2). The diagnostic command can be a service-type diagnostic command including, for example, “cm_diag,” “mta_diag,” “voice_diag,” “router_diag” or “video_diag.” Alternatively, the diagnostic command can be a service-type diagnostic sub-command including, for example, “rf_diag,” “cmDhcp_diag,” “mtaDhcp_diag,” etc.
At stage 310, the CPE device can retrieve a testing hierarchy through the HFC network. The testing hierarchy can be retrieved, for example, from a test source (e.g., execution source 260 of FIG. 2 or diagnostics logic 220 of FIG. 2). In some implementations, the testing hierarchy can list the service-type diagnostic commands and the service-type diagnostic sub-commands in order starting with the lowest-level diagnostic. For example, the service-type diagnostic commands and the service diagnostic sub-commands can be listed in order from the lowest-level diagnostic to the highest-level diagnostic.
At stage 315, a determination can be made as to what diagnostic tests should be conducted based on the received diagnostic command and those diagnostic tests can be consolidated. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2). For example, the diagnostics logic 220 can remove any tests from the testing hierarchy that are unnecessary based on the particular diagnostic command received. In some implementations, the diagnostics logic 220 can add to the testing hierarchy diagnostic tests implicated by a received diagnostic command.
At stage 320, the diagnostic logic can determine whether the diagnostic command initiated is a cable modem service diagnostic command. The determination can be made, for example, by a diagnostics logic (e.g., diagnostics logic 220 of FIG. 2). In some implementations, the name of the command can be compared with known commands to determine what type of service is associated with the diagnostic command initiated by the user.
If the diagnostic command is a cable modem diagnostic command or is a lower listed diagnostic than the diagnostic command initiated by the user, then the process 300 can proceed to stage 325 and execute the cable modem diagnostic. The cable modem diagnostic can be executed, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2). In some implementations, after executing the diagnostic command, the diagnostic logic can print or write the results of the diagnostic test to a results data store (e.g., an output log).
After executing the cable modem diagnostic, the diagnostic logic can then proceed to stage 330. At stage 330, the diagnostic logic can determine whether the diagnostic command initiated by the user is an embedded multimedia terminal adapter (eMTA) diagnostic command or a lower-level diagnostic command. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2). If the eMTA diagnostic is the commanded diagnostic or is a lower listed diagnostic than the commanded diagnostic, then the diagnostic logic can proceed to stage 335 and execute the eMTA diagnostic. In some implementations, the diagnostic logic can then print or write the information found during the execution of the eMTA diagnostic to the results data store (e.g., an output log).
After executing the eMTA diagnostic, the process 300 can proceed to stage 340. At stage 340, the diagnostic logic can determine whether the service-type command initiated by the user is a voice diagnostic command or a lower-level diagnostic. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2). If the voice diagnostic is the commanded diagnostic or is a lower listed diagnostic than the commanded diagnostic, then the diagnostic logic can proceed to stage 345 and execute the voice diagnostic. In some implementations, the diagnostic logic can then print or write the information found during the execution of the voice diagnostic to the results data store (e.g., an output log).
After executing the voice diagnostic, the process 300 can then proceed to stage 350. At stage 350, the diagnostic logic can determine whether the service-type diagnostic command received from the user is a video diagnostic or a lower-listed diagnostic. The determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2).
If the video diagnostic is the commanded diagnostic or is a lower listed diagnostic than the commanded diagnostic, then the diagnostic logic can proceed to stage 355 and execute the video diagnostic. The video diagnostic can be executed, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2). In some implementations, the diagnostic logic can then print or write the information found during the execution of the video diagnostic to the results data store (e.g., an output log). After executing the video diagnostic, the diagnostic logic can then proceed to stage 360 where the process 300 ends.
At each of stages 320, 330, 340 and 350, if the associated type of diagnostic command is not implicated by the received service-type diagnostic command, the provisioning logic can proceed to stage 365.
At stage 365, the diagnostic logic can determine whether the router diagnostic is the commanded diagnostic or is a lower-listed diagnostic than the commanded diagnostic. This determination can be made, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2).
If the router diagnostic is the commanded diagnostic or is a lower listed diagnostic than the commanded diagnostic, then the process can proceed to stage 370 and execute the router diagnostic. The router diagnostic can be executed, for example, by a diagnostic logic (e.g., diagnostic logic 220 of FIG. 2). In some implementations, the diagnostic logic can then print or write the information found during the execution of the router diagnostic to the results data store (e.g., an output log). After executing the router diagnostic, the diagnostic logic can then proceed to stage 360 where the process 300 ends. Returning to stage 365, if the received diagnostic command is not a router diagnostic command or a lower-level diagnostic, the provisioning logic can proceed to the end, stage 360.
FIG. 4 is a block diagram of a hardware configuration 400 operable to diagnose service-affecting issues in a CPE device quickly by using a single command. However, it should be understood that many different kinds of network devices (e.g., including network hubs, bridges, routers, edge termination devices, etc.) can implement a service-affecting diagnostic mechanism. The hardware configuration 400 can include a processor 410, a memory 420, a storage device 430, and an input/output device 440. Each of the components 410, 420, 430, and 440 can, for example, be interconnected using a system bus 450. The processor 410 is capable of processing instructions for execution within the system 400. In one implementation, the processor 410 is a single-threaded processor. In another implementation, the processor 410 is a multi-threaded processor. The processor 410 is capable of processing instructions stored in the memory 420 or on the storage device 430.
The memory 420 stores information within the hardware configuration 400. In one implementation, the memory 420 is a computer-readable medium. In one implementation, the memory 420 is a volatile memory unit. In another implementation, the memory 420 is a non-volatile memory unit.
In some implementations, the storage device 430 is capable of providing mass storage for the device 400. In one implementation, the storage device 430 is a computer-readable medium. In various different implementations, the storage device 430 can, for example, include a hard disk device, an optical disk device, flash memory or some other large capacity storage device.
The input/output device 440 provides input/output operations for the hardware configuration 400. In one implementation, the input/output device 440 can include one or more of a plain old telephone system (POTS) interface (e.g., an RJ11 connector), a network interface device, e.g., an Ethernet card, a serial communication device, e.g., and RS-232 port, and/or a wireless interface device, e.g., and 802.11 card. In another implementation, the input/output device can include driver devices configured to receive input data and send output data to other input/output devices, such as one or more subscriber devices 460 (e.g., set top box, cable modem, etc.), as well as sending communications to, and receiving communications from a network 470. Other implementations, however, can also be used, such as mobile computing devices, mobile communication devices, set-top box television client devices, etc.
The subject matter of this disclosure, and components thereof, can be realized by instructions that upon execution cause one or more processing devices to carry out the processes and functions described above. Such instructions can, for example, comprise interpreted instructions, such as script instructions, e.g., JavaScript or ECMAScript instructions, or executable code, or other instructions stored in a computer readable medium.
Implementations of the subject matter and the functional operations described in this specification can be provided in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus. The tangible program carrier can be a propagated signal or a computer readable medium. The propagated signal is an artificially generated signal, e.g., a machine generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a computer. The computer readable medium can be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal, or a combination of one or more of them.
The term “system processor” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The system processor can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification are performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output thereby tying the process to a particular machine (e.g., a machine programmed to perform the processes described herein). The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The elements of a computer typically include a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile communications device, a telephone, a cable modem, a set-top box, a mobile audio or video player, or a game console, to name just a few.
Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be operable to interface with a computing device having a display, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Particular embodiments of the subject matter described in this specification have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results, unless expressly noted otherwise. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some implementations, multitasking and parallel processing may be advantageous.

Claims (24)

What is claimed is:
1. A computer-implemented method, comprising:
receiving a diagnostic command at a device that is configured to provide multiple services, the multiple services comprising data services, video services, voice services and routing services;
retrieving a testing hierarchy, the testing hierarchy being comprised of a plurality of diagnostic tests, wherein each diagnostic test is associated with at least one of the multiple services provided by the device, and wherein the plurality of diagnostic tests are ordered within the testing hierarchy based upon dependencies existing between the diagnostic tests, and the diagnostic tests are further ordered within the testing hierarchy based upon dependencies existing between the multiple services provided by the device;
generating a modified testing hierarchy by removing from the retrieved testing hierarchy one or more diagnostic tests that are associated with a service upon which the service associated with the received diagnostic command is not dependent, such that the modified testing hierarchy includes only those diagnostic tests that are associated with a service upon which the service associated with the received diagnostic command is dependent;
executing a lowest-level diagnostic test below the received diagnostic command in the modified testing hierarchy;
successively executing a next highest-level diagnostic test in the modified testing hierarchy until the received diagnostic command has been executed; and
providing results from each executed diagnostic test.
2. The computer-implemented method of claim 1, further comprising:
if a service error is identified during any diagnostic test, ending the method prior to completion of the successive execution of diagnostic tests implicated by the modified testing hierarchy; and
providing information associated with the service error found.
3. The computer-implemented method of claim 2, wherein the service error makes further diagnostic tests associated with the modified testing hierarchy unnecessary.
4. The computer-implemented method of claim 1, further comprising:
comparing the service test results to ranges of known nominal values; and
flagging results that lie outside the nominal values but within a second range as warnings, and values that lie outside the second range as service affecting errors.
5. The computer-implemented method of claim 1, further comprising:
providing an output log comprising information on all service-affecting errors and all potential service-affecting warnings found.
6. The computer-implemented method of claim 1, further comprising:
providing an output log comprising information on all data examined during the diagnostic process.
7. The computer-implemented method of claim 1, further comprising:
executing intrusive actions during the diagnostic process based upon explicit instruction included in a received diagnostic command.
8. The computer-implemented method of claim 1, wherein the diagnostic command is a service-type command or a service-type sub-command.
9. The computer-implemented method of claim 1, further comprising:
consolidating diagnostic tests associated with the received diagnostic command in the testing hierarchy.
10. A system, comprising:
an interface operable to receive and transmit data and commands to or from external modules, through a hybrid fiber-coaxial network;
a data store operable to store computer program instructions and provide temporary storage for the system;
a processor operable to execute said computer program instructions, the computer program instructions being operable to cause the processor to:
receive a diagnostic command, wherein the diagnostic command is associated with a service provided by the system;
retrieve a testing hierarchy, the testing hierarchy comprising a plurality of diagnostic tests, wherein each diagnostic test is associated with at least one service type provided by the system, and the plurality of diagnostic tests are ordered within the testing hierarchy according to dependencies existing between one or more of the service types;
generate a modified testing hierarchy by removing from the retrieved testing hierarchy one or more diagnostic tests that are associated with a service upon which the service associated with the received diagnostic command is not dependent, such that the modified testing hierarchy includes only those diagnostic tests that are associated with a service upon which the service associated with the received diagnostic command is dependent;
execute a lowest-level diagnostic test below the received diagnostic command in the modified testing hierarchy;
successively execute a next highest-level diagnostic test in the modified testing hierarchy until the received diagnostic command has been executed; and
provide results from each executed diagnostic test.
11. The system of claim 10, wherein said computer program instructions are further operable to cause the processor to:
end the method prior to completion of the successive execution of diagnostic tests implicated by the modified testing hierarchy if a service error is identified during any diagnostic test; and
provide information associated with the service error found.
12. The system of claim 11, wherein the service error makes further diagnostic tests associated with the modified testing hierarchy unnecessary.
13. The system of claim 10, wherein said computer program instructions are further operable to cause the processor to:
compare the service test results to ranges of known nominal values; and
flag results that lie outside the nominal values but within a second range as warnings, and values that lie outside the second range as service affecting errors.
14. The system of claim 10, wherein said computer program instructions are further operable to cause the processor to:
provide an output log comprising information on all service-affecting errors and all potential service-affecting warnings found.
15. The system of claim 10, wherein said computer program instructions are further operable to cause the processor to:
provide an output log comprising information on all data examined during the diagnostic process.
16. The system of claim 10, wherein said computer program instructions are further operable to cause the processor to:
execute intrusive actions during the diagnostic process based upon explicit instruction included in a received diagnostic command.
17. The system of claim 10, wherein the diagnostic command is a service-type command or a service-type sub-command.
18. One or more non-transitory computer readable media operable to execute on a processor, the computer readable being operable to cause the processor to perform the operations comprising:
receiving a diagnostic command at a device that is configured to provide data services, video services, voice services and routing services, the diagnostic command being associated with a service provided by the device;
dynamically constructing a testing hierarchy based upon a service associated with the received diagnostic command, the testing hierarchy being comprised of a plurality of diagnostic tests that are associated with the service associated with the diagnostic command or at least one service provided by the device upon which the service associated with the diagnostic command is dependent, wherein the first diagnostic test in the testing hierarchy is associated with the lowest-level component which can affect the service associated with the received diagnostic command;
executing the lowest-level diagnostic test in the testing hierarchy;
successively executing a next highest-level diagnostic test in the testing hierarchy; and
providing results from each executed diagnostic test.
19. The one or more non-transitory computer-readable media of claim 18, further operable to cause the processor to perform the operations comprising:
comparing the results to ranges of known nominal values; and
flagging results that lie outside the nominal values but within a second range as warnings, and values that lie outside the second range as service affecting errors.
20. The one or more non-transitory computer-readable media of claim 18, further operable to cause the processor to perform the operations comprising:
providing an output log comprising information on all data examined during the diagnostic process.
21. The one or more non-transitory computer-readable media of claim 18, further operable to cause the processor to perform the operations comprising:
executing intrusive actions during the diagnostic process based upon explicit instruction included in a received diagnostic command.
22. The computer-implemented method of claim 1, wherein the testing hierarchy is retrieved from an upstream network.
23. The one or more non-transitory computer-readable media of claim 18, wherein the last diagnostic test in the testing hierarchy is associated with the received diagnostic command.
24. The one or more non-transitory computer-readable media of claim 18, wherein a next highest-level diagnostic test in the testing hierarchy is successively executed until a diagnostic test returns a service-affecting error.
US13/525,777 2012-06-18 2012-06-18 Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway Active US9270983B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/525,777 US9270983B1 (en) 2012-06-18 2012-06-18 Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/525,777 US9270983B1 (en) 2012-06-18 2012-06-18 Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway

Publications (1)

Publication Number Publication Date
US9270983B1 true US9270983B1 (en) 2016-02-23

Family

ID=55314826

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/525,777 Active US9270983B1 (en) 2012-06-18 2012-06-18 Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway

Country Status (1)

Country Link
US (1) US9270983B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173917A1 (en) * 2016-04-07 2017-10-12 华为技术有限公司 Method of monitoring data transmission and associated apparatus
US20170302994A1 (en) * 2015-09-25 2017-10-19 Contec, Llc Set top boxes under test
US9900116B2 (en) 2016-01-04 2018-02-20 Contec, Llc Test sequences using universal testing system
US9960989B2 (en) 2015-09-25 2018-05-01 Contec, Llc Universal device testing system
US9992084B2 (en) 2015-11-20 2018-06-05 Contec, Llc Cable modems/eMTAs under test
US10122611B2 (en) 2015-09-25 2018-11-06 Contec, Llc Universal device testing interface
US10158553B2 (en) 2015-09-25 2018-12-18 Contec, Llc Systems and methods for testing electronic devices using master-slave test architectures
US10230617B2 (en) 2015-11-23 2019-03-12 Contec, Llc Wireless routers under test
US10320651B2 (en) 2015-10-30 2019-06-11 Contec, Llc Hardware architecture for universal testing system: wireless router test
US10578670B2 (en) 2015-09-25 2020-03-03 Contec, Llc Core testing machine
US10965578B2 (en) 2015-10-30 2021-03-30 Contec, Llc Hardware architecture for universal testing system: cable modem test

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019983A1 (en) * 2000-06-05 2002-02-14 Emsley Brett W. Testing instrument
US6868508B2 (en) * 2001-08-31 2005-03-15 National Instruments Corporation System and method enabling hierarchical execution of a test executive subsequence
US20060184988A1 (en) * 2002-04-05 2006-08-17 Spx Corporation Method and apparatus for real time testing of DTV antenna transmitting systems in time domain under full power
US20070076616A1 (en) * 2005-10-04 2007-04-05 Alcatel Communication system hierarchical testing systems and methods - entity dependent automatic selection of tests
US20080059838A1 (en) * 2006-09-01 2008-03-06 Melman Phillipe A Apparatus And Method For Performing Failure Diagnostic Testing of Electronic Equipment
US7739717B1 (en) * 2004-07-13 2010-06-15 The Directv Group, Inc. System and method for performing diagnostics for a customer IRD in a satellite television system
US8209732B2 (en) * 2007-09-27 2012-06-26 Contec Llc Arrangement and method for managing testing and repair of set-top boxes
US8544051B1 (en) * 2009-03-30 2013-09-24 Cisco Technology, Inc. Broadcast solution for cable IPTV

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019983A1 (en) * 2000-06-05 2002-02-14 Emsley Brett W. Testing instrument
US6868508B2 (en) * 2001-08-31 2005-03-15 National Instruments Corporation System and method enabling hierarchical execution of a test executive subsequence
US20060184988A1 (en) * 2002-04-05 2006-08-17 Spx Corporation Method and apparatus for real time testing of DTV antenna transmitting systems in time domain under full power
US7739717B1 (en) * 2004-07-13 2010-06-15 The Directv Group, Inc. System and method for performing diagnostics for a customer IRD in a satellite television system
US20070076616A1 (en) * 2005-10-04 2007-04-05 Alcatel Communication system hierarchical testing systems and methods - entity dependent automatic selection of tests
US20080059838A1 (en) * 2006-09-01 2008-03-06 Melman Phillipe A Apparatus And Method For Performing Failure Diagnostic Testing of Electronic Equipment
US8209732B2 (en) * 2007-09-27 2012-06-26 Contec Llc Arrangement and method for managing testing and repair of set-top boxes
US8544051B1 (en) * 2009-03-30 2013-09-24 Cisco Technology, Inc. Broadcast solution for cable IPTV

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10122611B2 (en) 2015-09-25 2018-11-06 Contec, Llc Universal device testing interface
US20170302994A1 (en) * 2015-09-25 2017-10-19 Contec, Llc Set top boxes under test
US9960989B2 (en) 2015-09-25 2018-05-01 Contec, Llc Universal device testing system
US11353507B2 (en) 2015-09-25 2022-06-07 Contec, Llc Core testing machine
US10578670B2 (en) 2015-09-25 2020-03-03 Contec, Llc Core testing machine
US10158553B2 (en) 2015-09-25 2018-12-18 Contec, Llc Systems and methods for testing electronic devices using master-slave test architectures
US10277497B2 (en) 2015-09-25 2019-04-30 Contec, Llc Systems and methods for testing electronic devices using master-slave test architectures
US10291959B2 (en) * 2015-09-25 2019-05-14 Contec, Llc Set top boxes under test
US10298483B2 (en) 2015-09-25 2019-05-21 Contec, Llc Universal device testing interface
US12155552B2 (en) 2015-10-30 2024-11-26 Contec, Llc Hardware architecture for universal testing system: cable modem test
US10965578B2 (en) 2015-10-30 2021-03-30 Contec, Llc Hardware architecture for universal testing system: cable modem test
US10581719B2 (en) 2015-10-30 2020-03-03 Contec, Llc Hardware architecture for universal testing system: wireless router test
US10320651B2 (en) 2015-10-30 2019-06-11 Contec, Llc Hardware architecture for universal testing system: wireless router test
US9992084B2 (en) 2015-11-20 2018-06-05 Contec, Llc Cable modems/eMTAs under test
US10230617B2 (en) 2015-11-23 2019-03-12 Contec, Llc Wireless routers under test
US10581718B2 (en) 2015-11-23 2020-03-03 Contec, Llc Wireless devices under test
US10116397B2 (en) 2016-01-04 2018-10-30 Contec, Llc Test sequences using universal testing system
US9900116B2 (en) 2016-01-04 2018-02-20 Contec, Llc Test sequences using universal testing system
WO2017173917A1 (en) * 2016-04-07 2017-10-12 华为技术有限公司 Method of monitoring data transmission and associated apparatus

Similar Documents

Publication Publication Date Title
US9270983B1 (en) Quickly diagnose service and component related issues on a cable modem, multimedia terminal adapter, or gateway
US9621413B1 (en) Displaying dynamic host configuration protocol (DHCP) transaction states using a DHCP relay agent
US8509072B2 (en) Network congestion analysis
US9823988B2 (en) System and method of test iteration via property chaining
US11258679B2 (en) Systems and methods for automated testing of MoCA networks
US9059939B2 (en) End-to-end network service assurance solution
US8417478B2 (en) Network test conflict checking
US9077760B2 (en) Broadband communications
US8806550B1 (en) Rules engine for troubleshooting video content delivery network
US20160330085A1 (en) Method and apparatus for generating configuration information for a communication system
WO2011012173A1 (en) Service monitoring and service problem diagnosing in communications network
US7430495B1 (en) Method and apparatus for representing, managing, analyzing and problem reporting in home networks
CN101662379A (en) Method, equipment and system for maintaining terminal equipment
CN111865628A (en) Statistical system, method, server and storage medium for household broadband failure affecting users
CA3175654A1 (en) Network management for band splits
US8788647B1 (en) Load balancing for network devices
US20120284008A1 (en) Systems and methods for modeling a multi-layer network topology
US8477807B1 (en) Upstream ranging in communications devices
US20110026410A1 (en) System and Method for Comparing Packet Traces for Failed and Successful Communications
US9268630B1 (en) Automatic recovery from non-functional download
WO2012052053A1 (en) Quality of service monitoring device and method of monitoring quality of service
US9479440B1 (en) Specifying and enforcing IPV4 and IPV6 CPE limits
US9525582B1 (en) Selectively ordering application of provisioning from multiple sources for network equipment
CN108111880B (en) Obstacle removing method and obstacle removing system
US11646957B1 (en) Network packet loss period expansion

Legal Events

Date Code Title Description
AS Assignment

Owner name: ARRIS GROUP, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HARE, WILLIAM CHARLES, JR;REEL/FRAME:028408/0357

Effective date: 20120619

AS Assignment

Owner name: ARRIS ENTERPRISES, INC., GEORGIA

Free format text: MERGER;ASSIGNOR:ARRIS GROUP, INC.;REEL/FRAME:030228/0406

Effective date: 20130416

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNORS:ARRIS GROUP, INC.;ARRIS ENTERPRISES, INC.;ARRIS SOLUTIONS, INC.;AND OTHERS;REEL/FRAME:030498/0023

Effective date: 20130417

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, IL

Free format text: SECURITY AGREEMENT;ASSIGNORS:ARRIS GROUP, INC.;ARRIS ENTERPRISES, INC.;ARRIS SOLUTIONS, INC.;AND OTHERS;REEL/FRAME:030498/0023

Effective date: 20130417

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: ARRIS ENTERPRISES LLC, PENNSYLVANIA

Free format text: CHANGE OF NAME;ASSIGNOR:ARRIS ENTERPRISES INC;REEL/FRAME:041995/0031

Effective date: 20151231

AS Assignment

Owner name: ARRIS HOLDINGS CORP. OF ILLINOIS, INC., PENNSYLVAN

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS GROUP, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: TEXSCAN CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS SOLUTIONS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: IMEDIA CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GIC INTERNATIONAL HOLDCO LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NEXTLEVEL SYSTEMS (PUERTO RICO), INC., PENNSYLVANI

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., P

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: MOTOROLA WIRELINE NETWORKS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: JERROLD DC RADIO, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ACADIA AIC, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: UCENTRIC SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., P

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: AEROCAST, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: THE GI REALTY TRUST 1996, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: CCE SOFTWARE LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: SETJAM, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: LEAPSTONE SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: SUNUP DESIGN SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS KOREA, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: MODULUS VIDEO, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: BIG BAND NETWORKS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS ENTERPRISES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GIC INTERNATIONAL CAPITAL LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: QUANTUM BRIDGE COMMUNICATIONS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: 4HOME, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: BROADBUS TECHNOLOGIES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NETOPIA, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: POWER GUARD, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS HOLDINGS CORP. OF ILLINOIS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NEXTLEVEL SYSTEMS (PUERTO RICO), INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

AS Assignment

Owner name: ARRIS ENTERPRISES LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:ARRIS ENTERPRISES, INC.;REEL/FRAME:049586/0470

Effective date: 20151231

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATE

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ARRIS ENTERPRISES LLC;REEL/FRAME:049820/0495

Effective date: 20190404

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: ABL SECURITY AGREEMENT;ASSIGNORS:COMMSCOPE, INC. OF NORTH CAROLINA;COMMSCOPE TECHNOLOGIES LLC;ARRIS ENTERPRISES LLC;AND OTHERS;REEL/FRAME:049892/0396

Effective date: 20190404

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: TERM LOAN SECURITY AGREEMENT;ASSIGNORS:COMMSCOPE, INC. OF NORTH CAROLINA;COMMSCOPE TECHNOLOGIES LLC;ARRIS ENTERPRISES LLC;AND OTHERS;REEL/FRAME:049905/0504

Effective date: 20190404

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CONNECTICUT

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ARRIS ENTERPRISES LLC;REEL/FRAME:049820/0495

Effective date: 20190404

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

AS Assignment

Owner name: WILMINGTON TRUST, DELAWARE

Free format text: SECURITY INTEREST;ASSIGNORS:ARRIS SOLUTIONS, INC.;ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;AND OTHERS;REEL/FRAME:060752/0001

Effective date: 20211115

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: APOLLO ADMINISTRATIVE AGENCY LLC, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNORS:ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;COMMSCOPE INC., OF NORTH CAROLINA;AND OTHERS;REEL/FRAME:069889/0114

Effective date: 20241217

AS Assignment

Owner name: RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.), NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: COMMSCOPE TECHNOLOGIES LLC, NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: COMMSCOPE, INC. OF NORTH CAROLINA, NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: ARRIS SOLUTIONS, INC., NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: ARRIS TECHNOLOGY, INC., NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.), NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217