Method and apparatus for communicating cable modem problem demarcation through a graphical user interface6750879Abstract A method and apparatus is provided in which a cable modem diagnostics application communicates problem demarcation and technical support guidance for customer premises equipment controlled cable modems through a graphical user interface (GUI). The GUI presents problem demarcation hierarchically into a software, hardware, and cable network category so that the overall status is instantly visible with minimal or no user action. Icons, colors, and sounds are used to direct the user to the exact cause of the problem within the relevant category. The user is guided to first correct the problem, and then if necessary is further guided to the correct technical support contact information, thereby reducing the customer support burden in servicing cable modem users. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
Software (Customer Premise Equipment)
Hardware (Customer Premise Equipment)
Cable Network (Cable Operator Equipment)
Summary
Help
The property pages provide a quick, clear indication of problem demarcation, and presents information hierarchically, to simplify user interaction as often as possible. In addition, throughout each of the property pages, hierarchical presentation of information puts simpler information where it is visible to the user with little or no user effort (i.e. no mouse-clicks), and places (or hides) more detailed information where it requires more work to access (one or two mouse-clicks). The hierarchy of presentation (from highest to lowest) is summarized in Table 1.
TABLE 1
Hierarchical Presentation
Mouse-clicks
Level Location to access info Information Type Fix Level
Highest Property Sheet 0 Symbolic N/A
Tabs demarcation
Summary Page 0 Textual All
demarcation
Category Pages 1 Components Single
Lowest Command 2 Details of Single
Buttons problem
As can be seen from Table 1, for a given problem (or when run as a general check without any problem), the end-user may not have to delve any deeper than the highest level(s). In one embodiment, quick, clear demarcation is accomplished by displaying a status icon in each of the property page tabs (except Help), to signal the overall status of each functional category at all times. The demarcation display statuses may be depicted using an icon or color or both as summarized in Table 2. It should be noted that different colors, icons, or other graphical visual elements, or even sounds may be used to indicate any given status without departing from the scope of the invention.
TABLE 2
Demarcation Display
Status Color/Icon Meaning
OK green .check mark. functional area has no
problem
Unknown yellow ? functional area's status is
unknown
Broken red X functional area has at least
one problem
In one embodiment, in addition to the tabbed display, the Summary property page shows a similar tab color/icon to show the overall status. The overall status is a logical combination of individual functional areas statuses and is derived as follows:
If any functional area is `broken` then overall
status is `broken`
Else If any functional area is `unknown` then
overall status is `unknown`
Else (all functional areas are `ok`)
overall status is `ok`
The above-described demarcation display shows an instant, clear demarcation indication, with no user effort required (i.e. no mouse clicks). This technique is further illustrated by the examples in FIGS. 5a-5b. In FIG. 5a, the cable modem diagnostics application 115 property page tabs illustrate the case in which all of the statuses are OK. In FIG. 5b, the cable modem diagnostics application 115 property page tabs illustrate the case in which the Cable Network status is broken, but the other statuses are OK, resulting in a Summary status of broken, or not OK. Referring now to FIG. 6, wherein an illustration of the Summary property page is shown in further detail in accordance with an embodiment of the present invention. The Summary property page is typically designated as the initial property page displayed at the time of the cable modem diagnostics application 115 startup, although other property pages may be used as the default. As shown, the demarcation information is re-stated and summarized on the body of the Summary property page, e.g. "Found problems with your Cable Network. Click the Cable Network tab (above) for help with fixing them." FIGS. 6, 7, 8, 9, and 11 illustrate an embodiment of each of the major function categories of property pages, Summary, CPE-Software, CPE-hardware, Cable Network, and Help, respectively. In one embodiment, the application GUI thread 210 instantiates one of each of the property page objects for the major function categories (including the Summary and Help pages), and joins them to the property sheet object, to form the cable modem diagnostics application 115. In addition to the property pages, the cable modem diagnostics application 115 generates dynamic dialogs in the form of dialog objects that are created and destroyed (i.e. displayed and removed) as needed while the application runs. Each of the major function pages, CPE-Software, CPE-Hardware, and Cable Network, displays an overall representative icon, as well as a combination of detailed status buttons, fix buttons, and information buttons as appropriate. All statuses shown on the property page tabs and buttons are continually updated for a live, real-time display. Detailed-status buttons apply to particular components within the functional categories. They serve two purposes. The first purpose is to display the component's status. In one embodiment this is achieved by an icon, or color, or other graphical element (e.g. the green .check mark., yellow ? or red X) overlaid onto the button. The second purpose is to provide detailed information about the status when clicked. In one embodiment, when a detailed status button is pressed, it creates a dynamic dialog Status Details, which contains text describing the current status pertaining to the particular component, as well as an icon and sound corresponding to the status. For example, with reference to FIG. 7, the Network Driver Interface Specification (NDIS) Miniport detailed-status button 710 on the Software property page refers to the NDIS Driver file component within the Software functional category. Clicking on the NDIS Miniport detailed-status button 710 shows an icon, plays a sound and displays a message corresponding to the current status of the NDIS driver file. As another example, with reference to FIG. 9, the Signal Power detailed-status button 910 on the Cable Network property page refers to the cable modem's signal strength, within the Network Conditions sub-category of the Cable Network functional category. As is shown, the Signal Strength component status is broken as indicated by the graphical element X displayed in the color red. Clicking on the Signal Power detailed-status button 910 generates the dynamic Signal Strength dialog 1010, illustrated in FIG. 10. As shown, the Signal Strength dialog 1010 plays a sound, displays a text message, icon and a bar-graph corresponding to the current signal strength (shown as weak) and signal power ranges as specified in the RFI. In the illustrated embodiment, the Signal Strength dialog 1010 uses a GetDSPower ( ) DAL function via the DAL 120 to obtain the signal strength in decibels referenced to 1 millivolt (dBmV). With reference to the major functional category property pages illustrated in FIGS. 7, 8, and 9, each detailed-status button has a corresponding fix button adjacent to it, 720, 820, and 920. Each fix button is disabled 720 (i.e. grayed out) when its corresponding status button is OK (shows a green .check mark., i.e. there is nothing to fix); otherwise the fix button is enabled when there is a question 820 (shows a yellow ?, i.e. status is unknown), or when the component is not OK 920 (shows a red X, i.e. status is broken). Pressing an enabled fix button executes a fix action, such as copying a file, or showing a picture. For example, with reference to FIG. 9, when the enabled Signal Power fix button 920 on the Cable Network property page is activated, the cable modem diagnostics application 115 provides a logical link to a set of instructional images (e.g. a hyper-text markup language (HTML) help file). Referring now to FIG. 11, wherein an example of linked instructional images and text provided by the cable modem diagnostics application is illustrated in accordance with one embodiment. As shown, an HTML help file instructing the end-user how to check that the CCCM board is properly installed on the end-user's computer is displayed in response to the end-user's activation of the fix button 920. By following the text instructions and accompanying photographic illustration, the end-user can attempt to correct the cable modem problem themselves. Referring again to FIG. 6, in addition to the individual component fix buttons 720, 820, and 920, a fix all button 610 or other graphical visual icon is provided on the Summary page (or other initial default property page) for affirmatively entering a command to the cable modem diagnostics application 115 to perform the function calls necessary to automatically fix all of the demarcated problems if possible. The fix all button 610 is enabled when problems have been demarcated or disabled when there are no problems as appropriate. If enabled, clicking on the button causes the cable modem diagnostics application 115 to perform the following logic:
For each functional area (CPE-Software, CPE-Hardware,
CableNetwork)
For each component
If status is `broken` then
If Diagnostics can automatically fix
component, execute its Fix function
Else
Report that Diagnostics could not
automatically fix the component
Information buttons present auxiliary information (such as bitrate, computer settings, etc.) which does not directly figure into the demarcation (OK/NotOK) decision. Unlike the detailed status buttons, they do not have a status icon overlaid onto them, nor do they have a corresponding fix button associated with them. Their purpose is to provide a logical link to a set of informational images (e.g. a hyper-text markup language (HTML) informational file). An example of an informational button is illustrated in FIG. 9 on the Cable Network property page. The See Network Statistics 930 information button, when activated by the end-user, will display information relating the current network statistics. In some cases the informational buttons will also perform an action, such as is shown in the Test Upstream & Downstream 940 information button which, when activated by the end-user, will perform upstream and downstream tests on the cable network and display the results of the test. In addition to cable modem problem demarcation, the cable modem diagnostics application 115 provides the end-user with technical support guidance that directs the user to contact the appropriate (and only the appropriate) technical support personnel in cases where the end-user cannot fix the problem himself. With reference to FIGS. 7, 8, and 9, a Technical Support Contact button 730, 830, and 940 is provided on each of the three major functional category property pages, CPE-Software, CPE-hardware, and Cable Network, respectively. The Technical Support Contact button 730, 830, and 940, when activated by the end-user, will display technical support information relating only to the major functional category property page, CPE-Software, CPE-hardware, or Cable Network, on which it appears. This allows for the display of a unique and independent end-user support setup for each different major functional category. Thus the equipment vendor support information might be activated only from the CPE-hardware page, while the cable service provider support information might be activated only from the Cable Network page, and further, may be activated only when there have been actual problems demarcated relating to those areas. In addition, in one embodiment, the Technical Support Contact button 730, 830, and 940, will only be enabled (both functionally and visually, i.e. click-able and not grayed out) after the end-user has attempted to fix the problem themselves, by using the problem demarcation detailed status and fix buttons related to the current cable modem problem. In this way, the calls to technical support personnel are minimized. Moreover, should technical support be necessary, the end-user is directed to the correct technical support contact information and prevented from accessing incorrect information. An example of an enabled Technical Support Button 950 on the Cable Network property page is illustrated in FIG. 9; a corresponding disabled Technical Support Button 1210 on the Cable Network property page is illustrated in FIG. 12. Software Property Page The functions of the detailed status buttons and corresponding fix buttons for one embodiment of the CPE-Software property page illustrated in FIG. 7 will now be described in further detail. The functions of the CPE-Software property page are to check various elements of the CCCM software requirements. This generally involves checking that correct files exist in correct locations, and that various software components are installed and configured correctly. File correctness is determined by performing cyclic redundancy checks (CRC). File CRCs are hard-coded into the cable modem diagnostics application 115. When any change to software occurs (such as a new software upgrade), the cable modem diagnostics application 115 must also be changed to reflect the new CRC. Program Files Group Modem Controller--This detailed status button checks that the cable modem controller application 110 file is present in the correct directory and has the correct CRC. The fix button (if enabled), copies the backup copy of file from the fixed backup directory to the correct directory, overwriting if necessary. Diagnostics--This detailed status button checks cable modem diagnostics application 115 file is present in the correct directory and has the correct CRC (i.e. is not hacked or corrupted). The fix button (if enabled), copies the backup copy of the file from the fixed backup directory to the correct directory, overwriting if necessary (and if possible, since the diagnostics file cannot over-copy itself while running). Help--This detailed status button checks that the User Tutorial (CCCM Help) file is present, in the correct directory and has the correct CRC. The fix button (if enabled), copies the backup copy of the file from the fixed backup directory to the correct directory, overwriting if necessary. Library Files Group This library files group refers to windows Dynamic Link Library (DLL) files. It is problematic to fully (i.e. CRC) check for DLL corruption, because DLLs can legitimately be changed from time to time. Therefore, the cable modem diagnostics application 115 makes simple checks of DLLs by connecting (or attempting to connect) to their function entry points. In general, the buttons check for existence, intactness, and version (must be sufficiently recent). Winsock2--This detailed status button checks the Winsock2 DLL file. The fix button (if enabled), copies the backup copy of the DLL file from the fixed backup directory to the proper directory, overwriting if necessary. CryptoAPI--This detailed status button checks the Microsoft CryptoAPI file currently used for Baseline Privacy (BPI). The fix button (if enabled), copies the backup copy of the DLL file from the fixed backup directory to the proper directory, overwriting if necessary. Driver Files Group NDIS Miniport--This detailed status button checks that the NDIS Miniport driver file (is present in the correct directory and is correct. The fix button (if enabled), copies the backup copy the file from the fixed backup directory to the proper Windows directory, overwriting if necessary. A reboot is usually necessary for a newly copied driver file to go into effect. Transport/Intermediate--This detailed status button checks that the intermediate layer driver file is present and in the correct directory, and is correct. The fix button (if enabled), copies the backup copy of the file from the fixed backup directory to the proper Windows directory, overwriting if necessary. A reboot is usually necessary for a newly copied driver file to go into effect. Shortcuts Group Modem Controller--This detailed status button checks that the cable modem controller application 110 shortcut is in the user's Startup directory. The fix button (if enabled), copies the backup copy of the file from the fixed backup directory to the user's Startup directory, overwriting if necessary. Diagnostics--This detailed status button checks that the cable modem diagnostics application 115 shortcut is in the user's Desktop directory. The fix button (if enabled), copies the backup copy of the file from the fixed backup directory to the user's Desktop directory, overwriting if necessary. Help--This detailed status button checks that the User Tutorial (HTML Help) shortcut is in the user's Desktop directory. The fix button (if enabled), copies the backup copy of the file from the fixed backup directory to the User/Desktop directory, overwriting if necessary. Settings Group Modem Variables--This detailed status button checks any registry entries. The fix button (if enabled), creates and restores entries in the registry. Installation Settings--This detailed status button checks any installation settings. The fix button (if enabled), creates and restores the installation settings for the various software components. Configuration Group Driver Installation--This detailed status button checks that the drivers are actually installed and working (as opposed to the Driver File checks above, which only check for existence of correct file). It does this by (attempting) opening the driver device, and sending ioctls to it. The fix button (if enabled) runs the Windows Network Adapter control panel applet. This would assist the user or technician in finding and solving the problem, such as re-installing the driver. Bindings--This detailed status button checks that CCCM adapter is bound to correct network protocols: TCP/IP, CCCM_MAC, CCCM_UDP, etc. The fix button (if enabled) runs the Windows Network Adapter control panel applet. This would assist the user or technician in finding and solving the problem. Internet Settings--This detailed status button verifies that CCCM adapter is selected (not telco modem, etc.) and possibly other internet settings. The fix button (if enabled) runs the Windows Internet control panel applet. This would assist the user or technician in finding and solving the problem. Hardware Property Page The functions of the detailed status buttons and corresponding fix buttons for one embodiment of the CPE-Hardware property page illustrated in FIG. 8 will now be described in further detail. The functions of the CPE-Hardware property page are to check various elements of the CCCM hardware components. Components Group Cable Modem Board--This detailed status button checks for the presence (and very basic functionality) of the cable modem adapter board, by checking the current Windows Plug & Play entries in the registry. The fix button (if enabled) executes the User Tutorial, and links (context-sensitive) to the page with instructional images and text showing installation steps for a board. This allows the user to learn how to check or install the CCCM board. MAC Chip--This detailed status button checks for the presence and basic functionality of the MAC chip. It performs the following: Register write/read--100 random numbers Upstream data loopback--100 bytes known data (plus headers) Downstream data loopback--100 bytes known data (plus headers) DAL function(s) used: GetMacInfo ( ). The Fix button (when enabled) displays a message that the hardware has some un-repairable error and must be replaced, and displays additional technical support information in the form of instructional images or text. PHY Chip--This detailed status button checks for the presence and basic functionality of the PHY chip. It does a register write/read of 100 random numbers. DAL function(s) used: GetPhyInfo ( ) The Fix button (when enabled) displays a message that the hardware has some un-repairable error and must be replaced, and displays additional technical support information in the form of instructional images or text. ROM Chip--This detailed status button checks the integrity of the cable modem's non-volatile memory. In one embodiment the check uses a checksum, and possibly performs further checks on the certificate integrity. Information from the certificate will be displayed by the Version Information button (described below). The fix button (when enabled) displays a message that the hardware has some un-repairable error and must be replaced, and displays additional technical support information in the form of instructional images or text. Tuner--This detailed status button determines (as much as possible) the condition of the tuner. In one embodiment, a functional condition can be inferred if the PHY chip sees signal and lock; otherwise tuner condition is determined to be unknown. The fix button (when enabled) displays a message that it is unable to determine tuner condition. Information Group Version Information--This information button reports information from the Electrically Erasable Programmable Read Only Memory (EEPROM) such as: Manufacturer Date Versions (Firmware, board, etc.) Other information from BPI+ certificate Plug & Play Settings--This information button runs the Windows Device Manager application, so the end-user (or technician) can see the adapter settings. My Computer--This information button runs the Windows System Information application, so the user (or technician) can see all aspects of the computer environment, which may affect CCCM, such as: OS version Disk space Memory Cable Network Property Page The functions of the detailed status buttons and corresponding fix buttons for one embodiment of the Cable Network property page illustrated in FIG. 9 will now be described in further detail. The functions of the Cable Network property page are to check various elements of the cable modem network connection. Network Conditions Group Signal Power--This detailed status button generates the dynamic Signal Strength dialog 1010, illustrated in FIG. 10, as previously described. DAL function(s) used: GetDSPower ( ). The fix button (if enabled) executes the User Tutorial and provides a logical link to a set of instructional images, an example of which is illustrated in FIG. 11, showing connection steps for a cable and board. This allows the user to learn how to properly connect the modem (a common cause of bad signal). Signal Lock--This detailed status button checks for downstream signal lock. DAL function(s) used: GetMPEGLock ( ) The fix button (if enabled) executes the User Tutorial and provides a logical link to a set of instructional images, an example of which is illustrated in FIG. 11, showing connection steps for a cable and board. This allows the user to learn how to properly connect the modem (a common cause of bad signal). Connection Status Group Upstream--This detailed status button displays cable network information such as range, SID, channel information, and upstream power level. Modem--This detailed status button displays modem progress/status information, such as microcontroller (MMP) state and cable modem controller application state. Addresses Group CPE MAC--This detailed status button checks the cable modem's CPE-side Media Access Controller (MAC) address. Activating the button displays the address. CPE IP--This detailed status button checks the cable modem's CPE-side Internet Protocol (IP) address. Activating the button displays the address. CM MAC--This detailed status button checks the cable modem's CM-side MAC address. Activating the button displays the address. CM IP--This detailed status button checks the cable modem's CM-side IP address. Activating the button displays the address. Information Group Channel Information--This information button displays channel information such as upstream connection modes, rates, downstream connection modes, and rates. Network Statistics--This information button displays network statistic information such as error rates, bit rates, and Transmission Control Protocol (TCP) packet retransmission rates. Services Connected--This information button displays connected service flows (SIDs), including unicast, multicast, and broadcast. In one embodiment the button provides a logical link to information that interprets for the user the meanings or contents of the various connected services (i.e. voice, videoconference, movies, etc.). Test Upstream & Downstream--This information button tests end-to-end bi-directional communication, for instance by PINGing and reports the results. Accordingly, a novel method and apparatus is described for a method and apparatus to communicate cable modem problem demarcation through a graphical user interface. From the foregoing description, those skilled in the art will recognize that many other variations of the present invention are possible. In particular, while the present invention has been described as being implemented in certain components of the customer premises equipment 100 and the cable modem 140, some of the functions performed by the cable modem diagnostics application 115 in application thread 210 and worker threads 220 and 230, may be distributed in other components of a cable modem 140, a cable head-end, or other components of a customer premises equipment 100 to which the cable modem 140 is connected without departing from the method and apparatus of the present invention. It should further be appreciated that the property pages and dynamic dialogs as shown are for descriptive purposes only, and that other variations for accomplishing the described display, entry, selections or commands to the cable modem diagnostic application 115 user interface may be employed without departing from the principles of or exceeding the scope of the present invention. Thus, the present invention is not limited by the details described. Instead, the present invention can be practiced with modifications and alterations within the spirit and scope of the appended claims.
|
Same subclass Same class Consider this |
||||||||||
