# Patent

## Title
System and method for using a set-top box application to diagnose customer premises equipment

## Abstract

A device having a test module configured to connect with a server through a cellular telephone network and a wireless area network. The test module is also configured to initiate, in the server, a diagnostic test of an Internet Protocol television network and a media processor. The test module is further configured to receive information indicating problems with the Internet Protocol television network and the media processor, and to display the information on a display.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 13/767,113, filed Feb. 14, 2013, which is a continuation of U.S. patent application Ser. No. 12/603,646 filed Oct. 22, 2009, which are incorporated herein by reference in their entirety.


FIELD OF THE DISCLOSURE
The present disclosure generally relates to communications networks, and more particularly relates to a system and a method for using a set-top box application to diagnose customer premises equipment.
BACKGROUND OF THE DISCLOSURE
An Internet Protocol television (IPTV) service provider can transmit an IPTV signal to a user via a central office, a serving area interface, and a residential gateway. The IPTV service provider can offer the user a variety of different television programs and/or movies. For example, the IPTV service provider can supply users with real-time television programs that are typically available for the users to watch only at a specific date and time. The IPTV service provider can also offer the users on-demand movies that are available for an extended amount of time and that are provided to the users upon request of the on-demand movie.



BRIEF DESCRIPTION OF THE DRAWINGS
It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the Figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings presented herein, in which:
FIG. 1 of an Internet Protocol television system;
FIG. 2 is a flow diagram of a method for initiating a diagnostic test for a set-top box device in the IPTV system; and
FIG. 3 is an illustrative embodiment of a general computer system.



The use of the same reference symbols in different drawings indicates similar or identical items.
DETAILED DESCRIPTION OF THE DRAWINGS
The numerous innovative teachings of the present application will be described with particular reference to the presently preferred exemplary embodiments. However, it should be understood that this class of embodiments provides only a few examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily delimit any of the various claimed inventions. Moreover, some statements may apply to some inventive features but not to others.
FIG. 1 shows an Internet Protocol television (IPTV) system 100 including a diagnostic server 102, a residential gateway 104, a set-top box device 106, a network agile device 108, a cellular network 110, a private network 112, an access network 114, and element management systems 116. The diagnostic server 102 is in communication with the residential gateway 104, the set-top box device 106, and the network agile device 108 via the private network 112 and the access network 114. The diagnostic server 102 also can communicate with the network agile device 108 via the private network 112 and the cellular network 110. The diagnostic server 102 is in communication with the element management systems 116 via the private network 112.
The set-top box device 106 is in communication with the residential gateway 104, such as through a wired or wireless connection. The network agile device 108 is in communication with the residential gateway 104 via a wireless connection, such as an 802.11(g) connection or any other wireless connection protocol. The network agile device 108 is in communication with the cellular network 110, such as through a 3G cellular connection. The network agile device 108 can be any device that is capable of communicating over a wireless network connection, and over the cellular telephone network 110, such as a cellular telephone, a personal digital assistant, a laptop computer, and the like.
The set-top box device 106 can receive and display IPTV signals from the IPTV network 100 through the private network 112 and the access network 114. However, the user may encounter problems with the ability of the set-top box device 106 to receive and/or display the IPTV signals, or problems with the ability of the residential gateway 104 to receive other IP signals from the network. The problem can be a loss of video or audio in an IPTV video stream, loss of an application such as the electronic programming guide, loss of voice over Internet Protocol (VoIP), and the like. In this situation, the user can either call customer service or initiate a test application or module 118 or 120 to cause a network diagnostic application 122 to diagnose the problem. The test modules 118 and 120 can be hardware, software, and/or any combination of hardware and software. The test application 118 can be implemented on the network agile device 108, and the test application 120 can be implemented on the set-top box device 106.
The test application 120 within the set-top box device 106 can be executed in response to a command received from the user, such as the user pressing a test button (not shown) on the set-top box device or on the remote control device (not shown). The test application 120 can then attempt to connect with the network diagnostic application 122 of the diagnostic server 102 via the residential gateway 104, the access network 114, and the private network 112, and utilize this connection to allow the set-top box device 106 to communicate with the diagnostic server 102.
When the test application 118 on the network agile device 108 is activated, the test application initializes and attempts to connect to a network diagnostic application 122 residing in the diagnostic server 102. The test application 118 can first attempt to connect with the diagnostic server 102 via the residential gateway 104, the access network 114, and the private network 112. However, if the wireless network connection between the network agile device 108 and the residential gateway 104 is down or the residential gateway cannot connect with the diagnostic server 102, the network agile device can attempt to connect with the diagnostic server via the cellular network 110. The test application 118 can determine that the connection with the residential gateway 104 is down based on the test application not receiving a reply from the residential gateway for a specific number of times. The test application 118 can then utilize the cellular network 110 to continue to communicate with the network diagnostic application 122.
The user can interact with the network diagnostic application 122 via the test application 118 or 120 to diagnose and resolve problems with the set-top box device 106 and/or the residential gateway 104, identify and inform the user of broader network outages affecting the user, collect diagnostic information associated with the set-top box device, automatically dispatch repair tickets, and the like. An initial diagnostic step of the network diagnostic application 122 can be to determine whether the diagnostic server 102 is properly communicating with the set-top box device 106 via a preferred connection. For example, the diagnostic server 102 can first attempt to communicate with the element management systems 122 throughout the private network 112 to verify that the private network is working. The network diagnostic application 120 can then check the access network 114 to verify that the diagnostic server 102 can properly communicate with the residential gateway 104 and the set-top box device 106.
If the connection is operative, the diagnostic session can proceed as discussed below. However, if the connection is not operative, the diagnostic server 102 can attempt to diagnose and correct any problems in the residential gateway 104 and/or the set-top box device 106 through the cellular network 110 and the network agile device 108. For example, the diagnostic server 102 may attempt to update the operating system of the set-top box device 106 and/or update a driver of the residential gateway 102 by sending a command to the set-top box device via the cellular network 110 and the network agile device 108. If the network diagnostic application 122 receives information that the updates cannot be performed, the diagnostic server 102 may initiate the arrangement of an on-site technician service call.
During the diagnostic session, the network diagnostic application 122 can interact with the user via the test application 118 or 120, which in turn can interact with the user to attempt to diagnose the problems based on rules within the network diagnostic application, such as taking recommended actions. The recommended action can include rebooting the set-top box device 106, rebooting the residential gateway 104, and the like. Additionally, the network diagnostic application 122 can trace the entire customer access network path from the private network 112 through the element management systems 122, to the access network 114, to the residential gateway 104, and to the set-top box device 106. The network diagnostic application 122 can then provide the test application 118 or 120 with network outage situations, other network problems, the amount of time until the problem is repaired, and the like. Then the test application 118 can display the information on a display device associated with the network agile device 108. Similarly, the test application 120 can display the information on a display device associated with the set-top box device 106.
The set-top box device 106 can receive a query or command from the diagnostic server 102, and based on the query or command the set-top box device can perform various system diagnoses to evaluate the performance of the set-top box device. The set-top box device 106 may then return diagnostic data to the diagnostic server 102 identifying the problem or indicating a failure to identify the problem via the access network 114, or the network agile device 108 and the cellular network 110. The diagnostic server 102 can then return a query for more information or a command to perform a remedial function, such as downloading a software update from the IPTV network 100 or changing one or more operation parameters of the set-top box device 106. The set-top box device 106 also can perform diagnostic functions on the residential gateway 104 or any other device attached to the set-top box device. If the problem cannot be corrected, the set-top box device 106 can be instructed to enter the identification of the set-top box device in a service log for an on-site technical service call.
FIG. 2 shows a flow diagram of a method 200 for diagnosing an IPTV network problem via a network agile device. At block 202, a test application is initialized in a network agile device. A determination is made whether a server is available via a residential gateway at block 204. The server can be a diagnostic server located in the IPTV network. If the server is not available via the residential gateway, the server is connected to via a cellular network at block 206. However, if the server is available via the residential gateway, the network agile device is connected to the server via the residential gateway at block 208. At block 210, a network diagnostic test is initiated for the IPTV network, the residential gateway, and a set-top box device.
A request to update software on the set-top box device is receive via the cellular network at block 212. The request can be received by the network agile device. A block 214, the request is transmitted to the set-top box device. The network agile device can transmit the request to the set-top box device via a wireless connection with the residential gateway connected to the set-top box device. Information indicating problems with the IPTV network, the residential gateway, and the set-top box device is received at block 216. At block 218 the information is displayed on a display device associated with the network agile device. A service ticket is submitted for the residential gateway and the set-top box device at block 220.
FIG. 3 shows an illustrative embodiment of a general computer system 300. The computer system 300 can include a set of instructions that can be executed to cause the computer system to perform any one or more of the methods or computer based functions disclosed herein. The computer system 300 may operate as a standalone device or may be connected, such as by using a network, to other computer systems or peripheral devices.
In a networked deployment, the computer system may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 300 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, an STB, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 300 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 300 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
The computer system 300 may include a processor 302, such as a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the computer system 300 can include a main memory 304 and a static memory 306 that can communicate with each other via a bus 308. As shown, the computer system 300 may further include a video display unit 310 such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, or a cathode ray tube (CRT). Additionally, the computer system 300 may include an input device 312 such as a keyboard, and a cursor control device 314 such as a mouse. The computer system 300 can also include a disk drive unit 316, a signal generation device 318 such as a speaker or remote control, and a network interface device 320 to communicate with a network 326. In a particular embodiment, the disk drive unit 316 may include a computer-readable medium 322 in which one or more sets of instructions 324, such as software, can be embedded. Further, the instructions 324 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 324 may reside completely, or at least partially, within the main memory 304, the static memory 306, and/or within the processor 302 during execution by the computer system 300. The main memory 304 and the processor 302 also may include computer-readable media.
The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the FIGs. are to be regarded as illustrative rather than restrictive.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description of the Drawings, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description of the Drawings, with each claim standing on its own as defining separately claimed subject matter.
The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments which fall within the true spirit and scope of the present disclosed subject matter. Thus, to the maximum extent allowed by law, the scope of the present disclosed subject matter is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

## Claims

1. A gateway device, comprising:
a processor; and
a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:
attempting to initiate a first communication link between a media processor and a server through a first network;
receiving an indication that the media processor and the server are not communicating through the first communication link;
responsive to receiving the indication that the media processor and the server are not communicating through the first communication link:
initiating a second communication link between the media processor and the server via a wireless communications device; and
updating software executable by the media processor through the second communication link.

2. The gateway device of claim 1, wherein the first communication link comprises a wireless network connection.

3. The gateway device of claim 2, wherein the operations further comprise determining that the wireless network connection is not accessible.

4. The gateway device of claim 1, wherein the wireless communications device presents test information associated with the server and the media processor.

5. The gateway device of claim 1, wherein the wireless communications device initiates a service ticket at the server.

6. The gateway device of claim 1, wherein the server is coupled to the wireless communications device via a cellular network.

7. The gateway device of claim 6, wherein the operations further comprise routing a software update request from the server to the media processor through the cellular network.

8. The gateway device of claim 1, wherein the wireless communications device comprises a cellular telephone device.

9. The gateway device of claim 1, wherein the indication is received from the server.

10. A method, comprising:
determining, by a system comprising a processor, whether a server device and a media processor are communicating through a first communication link;
initiating a second communication link with a network agile device by way of a cellular network responsive to determining that the server device and the media processor are not communicating through the first communication link, wherein the network agile device is further operable to access the media processor;
transmitting, by the system, a request to the media processor to update software via the second communication link; and
transmitting, by the system, the software for updating responsive to an acceptance of the request.

11. The method of claim 10, further comprising routing, by the system, diagnostic communications to the media processor through the second communication link.

12. The method of claim 10, further comprising performing, by the system, a network diagnostics test that is initiated by one of a cellular telephone, a personal digital assistant, or a laptop computer.

13. The method of claim 10, further comprising creating, by the system, a service ticket for the media processor responsive to determining that the server device and the media processor are not communicating through the first communication link.

14. The method of claim 10, wherein the network agile device comprises a cellular telephone device.

15. The method of claim 10, further comprising receiving an indication that the media processor and the server device are not communicating through the first communication link.

16. A server device, comprising:
a processor; and
a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:
attempting to initiate a first communication link with a media processor through a gateway device;
identifying a problem in communicating with the media processor through the first communication link; and
initiating a second communication link with the media processor by way of a network agile device in accordance with the problem that is identified.

17. The server device of claim 16, wherein the network agile device comprises a cellular telephone device.

18. The server device of claim 16, wherein the operations further comprise receiving an indication from the media processor of the problem with the first communication link.

19. The server device of claim 16, wherein the operations further comprise receiving an indication from a diagnostic server device of the problem with the first communication link.

20. The server device of claim 16, wherein the operations further comprise:
transmitting to the media processor a request to update software; and
transmitting the software for updating responsive to an acceptance of the request via the second communication link.