Method and apparatus for automated assistance in configuring customer premises equipment

In one aspect of the invention, a method of providing automated assistance in configuring customer premises equipment for communication with another network element includes automatically identifying a virtual channel and/or a protocol valid for configuration with the customer premises equipment, and assisting a user in configuring the customer premises equipment for use with the identified virtual channel and/or protocol.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to the field of communication systems, and more particularly to a system and method for providing automated assistance in configuring customer premises equipment.

BACKGROUND OF THE INVENTION

Various customer premises equipment has been developed to facilitate access to numerous network communication and processing services. For example, modems, routers, and bridges can facilitate access to network services through various central office equipment. Typically, customer premises equipment must be configured to interact with various other network elements both in terms of the logical signal connection—or virtual channel—between the customer premises equipment and the service provider, and in terms of the encapsulation protocol used by the service provider.

Unfortunately, different network service providers offer services using several different protocols on any number of possible signal paths. Currently, no uniform standard specifying applicable signal paths or protocols has been established for service provision to customer premises equipment. As a result, configuration of customer premises equipment to operate with any particular service provider's network equipment can prove a time consuming and frustrating task for users of the customer premises equipment.

Some manufacturers of customer premises equipment have included predefined look-up tables with their equipment to assist users in configuring the customer premises equipment. This approach suffers for several reasons. For example, the predefined tables quickly become outdated as new service providers emerge and existing service providers vary the virtual channels and/or protocols supported. As a result, the predefined tables can be outdated before the product is even sold to the customer. In addition, these approaches require the user to input information used to cross-reference the configuration information in the look-up tables. This provides another chance for user error and/or system inoperability if the user does not have the required cross-reference information.

SUMMARY OF THE INVENTION

The present invention recognizes a need for a method and apparatus operable to provide automated assistance in configuring customer premises equipment. In accordance with the present invention, a system and method for providing automated assistance in configuring customer premises equipment are provided that substantially reduce or eliminate at least some of the shortcomings associated with prior approaches.

In one aspect of the invention, a method of providing automated assistance in configuring customer premises equipment for communication with another network element comprises automatically identifying a virtual channel and/or a protocol valid for configuration with the customer premises equipment. The method further comprises assisting a user in configuring the customer premises equipment for use with the identified virtual channel and/or protocol.

In another aspect of the invention, an apparatus operable to provide automated assistance in configuring customer premises equipment comprises a configuration manager operable to automatically identify a virtual channel and/or a protocol valid for configuration with the customer premises equipment. The apparatus further comprises a memory accessible to the configuration manager and operable to store an identifier of a valid virtual channel based on the response to the probing configuration signal.

In still another aspect of the invention, a method of providing automated assistance in configuring customer premises equipment for communication with another network element comprises communicating over a virtual channel and toward a destination network element a probing configuration signal. The method further comprises receiving over the virtual channel a response to the configuration signal, and identifying as valid for configuration the virtual channel and/or protocol associated with the response.

Depending on the specific features implemented, particular embodiments of the present invention may exhibit some, none, or all of the following technical advantages. One aspect of the present invention provides automated assistance in configuring and/or performing diagnostics testing of customer premises equipment communicating with various other network elements. In one aspect of operation, the invention facilitates automatic identification of a virtual channel and/or protocol valid for configuration with the customer premises equipment. The invention may optionally identify a valid virtual channel and/or protocol without requiring any user input, or without requiring user input associated with the valid virtual channel or protocol. One aspect of the invention reduces or eliminates the need for predetermined look-up tables that may become stale or require user input for cross-referencing purposes.

The invention can be used to provide a user a defined set of valid options for configuration, or can be used to automatically configure the customer premises equipment with little or no user input required.

Through a series of optional features, the invention can provide additional significant time savings in configuring customer premises equipment. For example, the invention can begin by searching a subset of virtual channels likely to provide a response to a probing configuration signal. If a valid virtual channel and/or protocol is discovered through this step, the equipment can be configured almost instantly. Another optional feature allows investigation of multiple virtual channels at or near the same time by simultaneously spawning multiple threads, each operable to investigate a particular virtual channel.

Still additional time savings can be realized by sending a first group of probing configuration signals over one or more virtual channels and, before the expiration of a time-out value associated with a first group of probing configuration signals, sending a second group of probing configuration signals over the same virtual channels. Another feature of the invention that can be implemented to achieve further efficiency advantages is the communication of multiple probing configuration signals back-to-back, or with only small delays there between. This facilitates investigating multiple protocols over one or more virtual channels at or near the same time.

In another aspect of operation, the invention provides automated diagnostic information regarding various layers of network connectivity. This information can be presented to a user to facilitate fault detection and/or repair.

Other technical advantages are readily apparent to one of skill in the art from the attached figures, description, and claims.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1is a block diagram of an exemplary embodiment of a system10useful in providing automated assistance in configuring customer premises equipment20a-20nto facilitate communication with other network elements, such as servers30a-30n.

In the illustrated embodiment, customer premises equipment20communicates with servers30a-30nthrough a communications link40, central office (“CO”) equipment50, and one or more networks60. Customer premises equipment20may include various hardware, software, and/or firmware, or combinations thereof operable to manage communications to and from customer premises equipment20. In the illustrated embodiment, customer premise equipment20includes one or more hosts22a-22n, which include or are coupled to one or more modems24through a communication link26.

Throughout this document, the terms “couple” and “coupled” refer to any direct or indirect communication between two or more elements in system10, whether or not those elements are in physical contact with one another. Also, throughout this document, the term “communication link” refers to any suitable wireless and/or wireline, electrical and/or optical based system that supports communication between network elements using ground-based and/or space-based components.

Each of hosts22may comprise, for example, a workstation, a mainframe computer, a miniframe computer, a desktop computer, a laptop computer, a personal digital assistant, or any other computing or communicating device. In operation, host22may execute with any of the well-known MS-DOS, PC-DOS, OS-2, MAC-OS, WINDOWS™, UNIX, or other appropriate operating systems.

Throughout this document, the term “modem” is used to describe any hardware, software, firmware, or combination thereof, operable to facilitate an interface between one or more host devices22and network elements external to customer premises equipment20, such as central office equipment50. In a particular embodiment, modem24could also facilitate routing, bridging, and/or switching functionality between a one or more hosts22and other external network elements.

In the example shown inFIG. 1, one modem24services a plurality of hosts22. Alternatively, one or more hosts22could each couple to or include its own modem24for interfacing external network elements. In the illustrated embodiment, modems24reside externally to hosts22. Alternatively, all or a portion of the functionality of modem24could reside internally to host22.

In the example shown inFIG. 1, communication link26coupling hosts22and modem24comprises a local area network, such as an Ethernet. Other communication media, configurations, and/or protocols could be used without departing from the scope of the invention. For example, modem24could communicate with a host22over a universal serial bus (“USB”) or a peripheral component interconnect (“PCI”) bus.

In the illustrated embodiment, customer premises equipment20communicates with central office equipment over a communication link40. Communication link40may comprise any of a variety of communication media or combination of communications media, such as a twisted pair, an optical fiber, and/or a wireless communication path. As one particular example, communication link40could comprise a digital subscriber line (“DSL”) using any of a variety of xDSL protocols, such as Asymmetric DSL (“ADSL”), G.Lite, Symmetric DSL (“SDSL”), ISDN DSL (“IDSL”), High-Bit-Rate DSL (“HDSL”), Very High-Bit-Rate DSL (“VDSL”), or Voice Over DSL (“VDSL”). Other variations of these protocols may be developed in the future. The invention is intended to encompass all current and future variations of these and other protocols.

In this particular example, customer premises equipment20communicates with central office equipment50over an xDSL link. Central office equipment50comprises equipment operable to facilitate communication between one or more elements of customer premises equipment and an external network, such as network60.

In the illustrated embodiment, central office equipment50includes one or more digital subscriber line access multiplexers (“DSLAM”)52and one or more central office switches54. DSLAM52receives signals from communication links40and passes consolidated signals to a central office switch54. Central office switch54directs communication of signals between DSLAMs52and one or more networks60. Other central office equipment, such as a digital loop carrier, could also be implemented consistent with the present invention.

Networks60may comprise, for example, a data network, a public switched telephone network (PSTN), an integrated services digital network (ISDN), a local area network (LAN), a wide area network (WAN), or other communication systems or combination of communication systems at one or more locations. Networks60may comprise wireless networks, wireless networks, or a combination of wireless and wireline networks. Networks60may support, for example, cell based protocols, such as the asynchronous transfer mode (“ATM”) or Frame Relay protocols, and/or packet based protocols, such as the Transmission Control Protocol/Internet Protocol (“TCP/IP”) or the User Datagram Protocol (“UDP”).

Depending on the type of network or combination of networks residing between customer premises equipment20and server30, communication between these network elements may use any of a variety of signal paths and protocols. To facilitate communication between customer premises equipment20and elements coupled to customer premises equipment20through networks60, customer premises equipment20should be configured to operate with the protocols and signal paths utilized within each network60. Therefore, at some point prior to or during operation, customer premises equipment20should be configured to recognize the logical signal path and/or communications protocol used within networks60.

For example, where system10implements permanent virtual channels or circuits (“PVC”), it is advantageous to configure customer premises equipment20with the permanent virtual path and/or channel established between the customer premises equipment and another network element in the communication path. Similarly, it is advantageous to configure customer premises equipment20with the protocol used on the paths to ensure interoperability between the customer premises equipment and other network elements communicating using that protocol.

Various service providers have configured network services using numerous different virtual channels and various protocols. Users of customer premises equipment face the challenge of discovering the network characteristics of selected service providers to facilitate configuring the customer premises equipment for use with the selected service providers. One aspect of the present invention automatically discovers network characteristics and provides automated assistance in configuring customer premises equipment. For example, customer premises equipment20may determine an active virtual channel and/or a protocol without prompting the user for any information at all; or customer premises equipment20may discover the active virtual channel and protocol without prompting the user for information identifying the virtual channel or protocol. Customer premises equipment20may reduce or eliminate the need for use of predefined look-up tables to identify the valid virtual channel and/or protocol.

Customer premises equipment20may use the discovered information to automatically configure the modem for use with that virtual channel and/or protocol or present the user options for configuring the modem. Another aspect of the invention provides automated fault diagnostics regarding the customer premises equipment.

In one aspect of operation, customer premises equipment20takes steps to learn about some or all of the communication links coupling customer premises equipment20to other network elements, such as servers30, and uses that information to provide automated assistance in configuring customer premises equipment20for communication with those network elements. To discover network characteristics and aid in the configuration process, customer premises equipment20can communicate a probing configuration signal over one or more virtual circuits or channels.

In one particular example, the probing configuration signal may comprise, for example, an F5 Operations, Administration, and Maintenance (“OAM”) loopback signal. Virtual circuits returning a confirming configuration signal are identified as active virtual circuits. Based on that information, customer premises equipment20can provide automated assistance in configuration with at least one of the identified active virtual circuits.

As a further example, the probing configuration signal may comprise a self-configuring protocol signal, such as a Dynamic Host Configuration Protocol (“DHCP”) request or a Link Control Protocol Configuration Packet (“LCP”). Based on signals received in response to self-configuring protocol signals, customer premises equipment20can identify not only the appropriate virtual channels, but also the protocol scheme used by each identified virtual channel. Customer premises equipment20may then provide automated assistance in configuration with at least one of the identified protocols on the associated virtual channel.

In another mode of operation, customer premises equipment20may communicate one or more diagnostic signals toward a destination network element to ensure connectivity at various network layers between host22and a destination network element, such as server30. The diagnostic signals may comprise, for example, Packet InterNet Groper (“PING”) signals, Domain Name Server (“DNS”) resolution requests, Hyper Text Transfer Protocol (“HTTP”) requests, or any other signal that can be communicated toward a destination device to probe the connectivity of various network layers. Using signals received in response to the diagnostic signals, customer premises equipment20can provide, for example, trouble-shooting services to users of system10.

FIG. 2is a block diagram of another embodiment of a system100useful in providing automated assistance in configuring and/or diagnosing faults associated with customer premises equipment120. System100includes one or more elements of customer premises equipment120coupled to central office equipment150over a communication link140. Customer premises equipment120, central office equipment150, and communication link140shown inFIG. 2can be similar in structure and function to customer premises equipment20, central office equipment50, and communication link40, respectively, shown inFIG. 1. AlthoughFIG. 2shows a single block of customer premises equipment120and a single block of central office equipment150, system100may include any number of elements of customer premises equipment and central office equipment.

Customer premises equipment120communicates with one or more other network elements, such as, server130. In the illustrated embodiment, customer premises equipment120communicates with server130through a carrier network160and a service provider network180. Carrier network160may comprise, for example, a backbone network coupling central office equipment150to other networks. In a particular embodiment, carrier network160comprises an asynchronous transfer mode optical backbone. Other communication media, configurations, and/or signaling protocols can be used without departing from the scope of the invention.

Service provider network180may comprise, for example, a global computer network such as the Internet. In the illustrated embodiment, Internet service provider (“ISP”)170provides an interface between carrier network160and service provider network180. In this embodiment, Internet service provider170includes carrier termination equipment172, a gateway router174, and a domain name server (“DNS”)176. Although carrier termination equipment172, gateway router174, and domain name server176are depicted as residing in Internet service provider170, one or more of these elements could alternatively reside at various other locations within the network without departing from the scope of the invention. In addition, features described with respect to particular ones of these elements could alternatively be delivered by another of these elements, or combined into fewer elements than described here.

Carrier termination equipment172may perform signal format conversion where carrier network160and service provider network180utilize different protocols. For example, signals on carrier network160may comprise cell-based signals, such as asynchronous transfer mode signals or frame relay signals. Service provider network180may traffic, for example, packet based signals such as signals based on the Transmission Control Protocol/Internet protocol (“TCP/IP”). In a particular example, carrier termination equipment172may receive asynchronous transfer mode cells from carrier network160and assemble information from those cells into Internet protocol packets for transmission over a service provider network180. Likewise, carrier termination equipment172may receive Internet protocol packets from service provider network180and assemble information from those packets into asynchronous transfer mode cells for transmission over carrier network160. Asynchronous transfer mode cells and Internet protocol packets are intended only as examples of the types of protocols utilized by system100. Other protocols and/or combinations of protocols could be utilized without departing from the invention.

Gateway router174provides an interface to service provider network180. Gateway router174may, for example, receive traffic from carrier network160and determine a logical path through service provider network180to a destination network element, such as, server130. Similarly, gateway router174may provide routing, bridging, and/or switching functions for signals received from service provider network180destined for particular customer premises equipment120through carrier network160.

Domain name server176operates to store information about domains, subdomains, and hosts within service provider network180. Domain name server176responds to domain name resolution requests by determining IP addresses from a given domain name.

Customer premises equipment120includes a configuration manager122. Configuration manager122may reside, for example, as part of a modem or a host at customer premises equipment120. Configuration manager122operates to examine various aspects of system100to assist in automatically configuring customer premise equipment120for communication with other network elements, such as, server130. For example, configuration manager122may determine an active virtual channel and/or a protocol without prompting the user for any information at all; or configuration manager122may discover the active virtual channel and protocol without prompting the user for information identifying the virtual channel or protocol. Customer premises equipment120may reduce or eliminate the need for use of predefined look-up tables to identify the valid virtual channel and/or protocol.

Customer premises equipment120may use the discovered information to automatically configure the modem for use with that virtual channel and/or protocol or present the user options for configuring the modem. In addition, configuration manager122may also provide diagnostic information for use in troubleshooting operational difficulties with customer premises equipment120.

Configuration manager122has access to a memory124. Memory124may comprise any storage medium or media and may include any of a variety of data structures, arrangements, and/or compilations operable to store and facilitate retrieval of various information stored within memory124. Although memory124is shown as residing within customer premise equipment120, memory124could reside at any location accessible to configuration manager122.

In operation, configuration manager122may test the physical connection of communication link140by determining whether a tone110exits on communication link140. If no tone110exists, configuration manager122may, for example, store an indication of a physical layer fault, and/or provide an instruction aiding a user in analyzing and/or eliminating the fault at the physical layer.

Configuration manager122may also test the carrier network layer by communicating a probing configuration signal112toward carrier termination equipment172over one or more virtual channels. For example, configuration manager122may communicate F5 OAM loop back signals over one or more virtual channels and await a response. If the configuration manager122receives one or more responses to probing configuration signal112, configuration manager122may mark the virtual channels carrying the responses in memory124as valid virtual channels appropriate for configuration with customer premise equipment120.

Probing configuration signal112could also, or in the alternative, include a self-configurating protocol signal, such as a DHCP request or an LCP signal. If configuration manager122receives an anticipated response to one of these signals over one or more virtual channels, configuration manager122may mark the virtual channel carrying the response as a valid virtual channel for configuration of customer premise equipment120. In addition, configuration manager122may mark the protocol associated with the response to the probing configuration signal112as a valid protocol for configuration of customer premise equipment120. Based on the response signals, configuration manager122can provide automated assistance in configuring customer premise equipment120for operation using a valid virtual channel and protocol.

As a particular example of a probing configuration signal that can be used to determine both an appropriate virtual channel and a protocol for configuration of customer premises equipment120, probing configuration signal112may comprise a DHCP DISCOVER message. This probing configuration signal allows for detection of, for example, a Bridged 1483 protocol. In a particular example, the “xid” field of the DHCP DISCOVER message is set to:

In that case, when configuration manager122receives a response to probing configuration signal112: it examines the first three bytes of the response for the pattern “0xAA, 0xAA, 0x03;” it ensures that bytes sixteen through twenty one (zero-based offset) of the response pattern are not equal to the pattern “0x00, 0x20, 0xEA, 0x00, 0xCD, 0x0d;” it checks the twenty second and twenty third bytes of the response for the pattern “0x08, 0x00;” and it checks the “xid” field of the response for the pattern “0x00, 0x20, 0xEA, 0x00.”

If these patterns are recognized, configuration manager122marks Bridged 1483 as a valid protocol on the associated virtual channel, and may automatically configure the customer premises equipment to operate using that protocol and virtual channel. Other messages and expected response patterns could be used without departing from the present invention.

As a further example, probing configuration signal112could comprise a Point-to-Point over Ethernet (“PPPoE”) PADI packet, which could be used to identify the use of a PPPoE protocol. The following is an example of such a packet:

Configuration manager122can also detect various versions of the Point-to-Point over ATM (PPPoA) protocol using probing configuration signals. For example, configuration manager122may communicate an RFC 1661 PPP LCP Configure Request signal to detect a PPP VCMUX protocol. As a particular example, configuration manager122may communicate the following Configure-Request signal:

In a similar manner, configuration manager122may detect a Point-to-Point Logical Link Control (“PPP LLC”) protocol using, for example, the following PPP LCP Configure Request signal:

0xFE, 0xFE, 0x03, 0xCF, 0xC0, 0x21,0x01, 0xD3, 0x00, 0x0E, 0x05, 0x06,0x00, 0x03, 0x7F, 0xB6, 0x07, 0x02,0x08, 0x02.
In that case, configuration manager122examines the first six bytes of the response to probing configuration signal112looking for the pattern “0xFE, 0xFE, 0x03, 0xCF, 0xC0, 0x21.” In another embodiment, configuration manager122examines incoming signals until it locates the desired pattern, and then examines the following bytes to determine a match. Upon recognition of appropriate response signals, configuration manager122can mark the virtual channel carrying the response and the protocol of that signal as valid, and may automatically configure customer premises equipment120for operation using the identified virtual channel and protocol. Other probing signals and expected response patterns could be used without departing from the present invention.

The foregoing discussion of particular examples of probing configuration signals110and112and confirming responses is intended for illustrative purposes only. The present invention is not intended to be limited to the use of only those signals or only the protocols associated with those signals. The invention applies to communication of any signal that can elicit a response useful in determining a virtual channel and/or a protocol associated with the probing configuration signal or the response thereto.

In addition to or instead of determining the virtual channel and/or protocol for use with customer premise equipment120, configuration manager122can communicate various network layer signals114-118to confirm operation of or diagnose trouble spots within system100. For example, configuration manager122can communicate a PING signal toward gateway router174to test the IP layer of system100. If gateway router174returns, for example, an IP address to configuration manager122in response to the PING signal, configuration manager122has determined successful IP layer connectivity. If gateway router174does not response, configuration manager122can provide an indication of a fault at the IP layer of system100.

In a similar manner, configuration manager122may communicate a DNS resolution request116toward domain name server176. If configuration manager122receives a domain name resolution from domain name server176, it has confirmed proper operation of the transmission control protocol layer of system100. If configuration manager122receives no response to its DNS resolution request signal116, it may provide an indication of a fault associated with the transmission control protocol layer of system100.

Configuration manager122may also test the application layer of system100by communicating, for example, a hypertext transmission protocol (“HTTP”) request118to server130or a well known Internet site. If configuration manager122receives a response, it has confirmed application layer connectivity. If, on the other hand, configuration manager122does not receive a response, it may provide an indication of a fault associated with the application layer of system100.

FIG. 3is a block diagram of one embodiment of at least a portion of customer premises equipment220including a configuration manager222useful in providing automated assistance in configuring customer premises equipment220. Items depicted within the dotted lines of configuration manager222are intended to describe functionality occurring within configuration manager222. The division of functionality within configuration manager222into separate functional blocks230-236is used for ease of description only. The invention is not intended to be limited to any particular division of functionality within configuration manager222.

In the example described inFIG. 3, configuration manager includes a configuration230, which initiates the configuration and/or diagnostic functions, manages those functions, and reports results of those functions. Configuration230may comprise hardware, software, firmware, or any combination thereof. In a particular embodiment, configuration manager222includes a basic search engine232and an extended search engine234. Basic search engine232reads a list240of virtual channels and protocols that are likely to return a valid response.

In a particular example, list240may include the following virtual channel identifiers:VPI=0, VCI=35VPI=8, VCI=35VPI=0, VCI=32VPI=0, VCI=100VPI=0, VCI=38VPI=0, VCI=50VPI=0, VCI=67VPI=1, VCI=1
The invention recognizes that these virtual channels may be more likely to return a response to a probing configuration signal. List240could comprise other or additional virtual channels without departing from the present invention.

Basic search engine232checks each virtual channel on list240of likely virtual channels to determine if it is a valid virtual channel for configuration with customer premise equipment220. In a particular embodiment, configurator230initiates basic search engine232, which reads list240of virtual channels and protocols likely to elicit a response, and passes that information to virtual channel/protocol discovery engine236. Virtual channel/protocol discovery engine236communicates probing configuration signals toward destination network elements and awaits a response. Basic search engine232keeps a record of discovered valid virtual channels and/or protocols and passes that list to configurator230. Configurator230may store valid virtual channels and/or protocols in a found file244in memory224, and may automatically configure customer premise equipment for use with valid virtual channels and/or protocols.

If no valid virtual channels or protocols are discovered using basic search engine232, configurator230may call an extended search engine234to perform additional configuration searches. For example, extended search engine234may retrieve a set of virtual channels and/or protocols from an extended list242in memory224. Extended list242may include, for example, a list of all virtual channels currently in use, which can be partitioned into any appropriate subgroups. For example, extended list242may comprise the following groups of virtual channel identifiers to be searched in the following order:VPI=0, VCI=32-255;VPI=8, VCI=32-255;Remainder of VPIs for VCI=32-255;VPI=0, VCI=256-512;VIP=9, VCI=256-512;Remainder of VPIs for VCI=256-512.
Other orders of searching could be used consistent with the present invention. In addition, system10could terminate the search at any time in response to, for example, a user input directing termination of the search.

Extended search234passes a group of virtual channels and/or protocols to virtual channel/protocol discovery engine236. Virtual channel/protocol discovery engine attempts to identify valid virtual channels and/or protocols by communicating probing configuration signals over the identified virtual channels and awaiting responses. Extended search engine234may keep a list of all identified valid virtual channels and/or protocols, and pass that list to configurator230for storage in found file244of memory224and/or automatic configuration of customer premise equipment220.

Search engine232and/or234may check one protocol at a time, or, in a particular embodiment, basic search engine232and/or extended search engine234may spawn multiple threads of virtual channel/protocol discovery engine236a-236n. For example, search engines232-234may spawn one thread of virtual channel/protocol discovery engine236for each virtual channel to be investigated. In this way, search engines232-234can determine the validity of multiple virtual channels and/or protocols approximately simultaneously. This feature can increase the speed of the configuration process dramatically.

In another aspect of operation, configurator230may call basic search engine232or extended search engine234to access diagnostics file246. Search engines232and/or234generate or retrieve from diagnostics file246diagnostic signals, and pass those signals to virtual channel/protocol discovery engine236. Virtual channel/protocol discovery engine236communicates diagnostic signals, such as PINGS, DNS resolution requests, and HTTP requests toward destination elements. Virtual channel/protocol discovery engine236receives various responses to the diagnostic signals, and reports those responses to search engines232-234and configurator230. Based on the diagnostic signals, configurator230can identify faults in various layers of connectivity between customer premise equipment230and the destination network element. Configurator230may store these results in diagnostics file246, and/or may report on various faults detected.

In a particular embodiment, configuration manager222communicates one probing configuration signal or diagnostic signal over a particular virtual channel, and then communicates a second probing configuration signal or diagnostic signal over the same virtual channel before a time out value associated with the probing or diagnostic signal has expired. For example, configuration manager222may communicate the second signal after one half of the time out value associated with the signal has expired. In this manner, configuration manager222can insure that any responses it may expect relating to the first signal are received before communicating the second signal, while at the same time reducing latency that would otherwise be associated with waiting the entire time out before communicating the second signal. This feature advantageously enhances the speed of the system.

FIGS. 4a-4bare block diagrams of exemplary signals useful in configuring and performing diagnostic testing of customer premise equipment.FIG. 4ashows signal blocks310a-310n. In this embodiment, each block310includes an F5 loopback packet312, a PPP VCMUX LCP packet313, PPPoE PADI packet314, a DHCP request packet316, and a PPP LLC LCP configuration request packet318. In this example, each block310comprises one copy of packets312-318. Alternatively, each block310could include multiple copies of each packet312-318. This embodiment could be useful, for example, in providing redundancy in the event that one of the packets is inadvertently dropped during communication. Packets312-318could be communicated with no delay between packets as shown inFIG. 4a, or could be separated by some amount of delay.

Communicating multiple protocol signals back-to-back in a single block allows the system to investigate multiple protocols approximately simultaneously. In a particular embodiment, each block310a-310nis communicated over an separate virtual channel VCa-VCn approximately simultaneously. This feature provides a mechanism for testing a plurality of protocols over a plurality of virtual channels approximately simultaneously. These feature enhance the speed of identifying valid virtual channels and valid protocols associated with those virtual channels.

FIG. 4bshows a plurality of signal blocks320a-320n, each operable to be transmitted over a virtual channel VCa-VCn. Each of blocks320includes a plurality of a diagnostic signals322-326. In the illustrated embodiment, each block320includes a PING signal322, a DNS resolution request324, and an HTTP request326. Other diagnostic signals could be used without departing from the scope of the invention. Communicating multiple diagnostic signals322-326back-to-back with little or no delay between signals provides an advantage of testing a plurality of network characteristics approximately simultaneously. In addition, in a particular embodiment, separate test blocks320can be communicated over a plurality of virtual channels approximately simultaneously. In this manner, the invention facilitates diagnosing a plurality of network characteristics over a plurality of virtual channels approximately simultaneously. This feature results in significant speed advantages in confirming various layer connectivity.

FIG. 5is a flowchart showing one example of a method of providing automated assistance in configuring customer premises equipment. The method400begins at step410where configuration manager222generates a probing signal. The probing signal may comprise, for example, an F5 OAM loopback signal, a DHCP request, an LCP configuration request, a PADI request, or any other signal that can be communicated toward a destination network element and have a responsive signal returned to the sending element to thereby identify an active virtual channel and optionally a protocol associated with the virtual channel. In one embodiment, the step410of generating a probing signal can comprise generating a single probing signal. In an alternative embodiment, step410may comprise generating a plurality of probing signals to be communicated back-to-back in a single block toward a destination network element. Configuration manager222may generate the probing configuration signal with little or no user input. For example, configuration manager may generate the probing signal without receiving any user input, or without receiving user input identifying the active virtual channel and/or protocol.

Configuration manager222selects a virtual channel for transmission of the probing signal at step420. Selection of a virtual channel may involve, for example, configuration manager222initially accessing a list240of likely virtual channels and selecting one or more channels from that list.

Configuration manager222then communicates the probing signal toward a destination network element over one or more selected virtual channels at step430. This may involve, for example, configuration manager222spawning a plurality of threads of virtual channel/protocol discovery engine236, one for each virtual channel being investigated. Each thread of virtual channel/protocol discovery engine236communicates the probing signal toward a destination network element and awaits receipt of a response. In a particular embodiment, virtual channel/protocol discovery engine236waits only a portion of a time out period associated with the probing signal before communicating another probing signal over the same virtual channel. For example, virtual channel/protocol discovery engine236may wait one half of a time out period associated with the probing signal before communicating another probing signal over the same virtual channel. In still another embodiment, each thread of virtual channel/protocol discovery engine236a-236nmay communicate a plurality of probing signals back-to-back. In these manners, a plurality of potential protocols can be investigated approximately simultaneously.

For each virtual channel returning a confirming response to the probing signals, configuration manager222marks the associated virtual channel as valid at step440. Marking the associated virtual channel as valid may comprise, for example, creating a list of valid virtual channels and storing that list in memory224. Alternatively, marking the virtual channel as valid may comprise, for example, automatically configuring customer premise equipment220for operation on one of the valid virtual channels.

Configuration manager222determines at step460the protocol associated with any responses to the probing signals. This may involve, for example, looking for a particular pattern of information associated with a particular protocol. Configuration manager222marks each identified protocol as valid at step470. This may involve, for example, creating a list of valid protocols and storing that list in memory224, and/or automatically configuring customer premises equipment220for operation with one of the identified valid protocols.

Configuration manager222determines at step480whether there are additional virtual channels or protocols to search. If, at step480no valid virtual channels or protocols have been identified, and there are additional virtual channels or protocols to be searched, configuration manager222returns to step420to select another virtual channel to search. In a particular example, configuration manager222may have invoked basic search engine232to search a list of virtual channels likely to return a response, and fail to identify any valid virtual channels. In that case, configuration manager222may invoke extended search engine234to search virtual channels, for example, in extended list file242and memory224. Configuration manager222performs the analysis described in steps430-480on another group of virtual channels. This process continues until all virtual channels have been exhausted, or configuration manager222receives an interrupt command directing termination of the search.

configuration manager222assists in a configuration of customer premises equipment220at step490. This may involve, for example, presenting a user with a list of valid virtual channels and/or valid protocols. As another example, this may involve configuration manager222automatically selecting a virtual channel and/or protocol from the identified valid virtual channels and protocols. Configuration manager222may make this selection based, for example, on a set of predetermined criteria establishing preferred virtual channels and/or protocols.

FIG. 6is a flowchart showing one exemplary method of diagnosing faults in the operation of customer premises equipment. The method500begins at step510where configuration manager222tests a physical layer connecting customer premises equipment220to external network elements, such as central office equipment50shown inFIG. 1. Configuration manager222may, for example, test connection with central office equipment by determining whether a tone exists on communication link40coupling customer premises equipment220to central office equipment50. If a tone is detected at step515, configuration manager222selects a virtual channel to diagnose at step520. This selection may be similar to step420described above with respect toFIG. 5.

Configuration manager222communicates an IP layer diagnostic signal toward a destination network element at step525. In a particular example, the IP layer diagnostic signal may comprise a PING SIGNAL114communicated to a gateway router174. Configuration manager222awaits receipt of a confirming response signal, such as an IP address from gateway router174at step530.

configuration manager222also communicates a TCP layer diagnostic signal toward a destination network element at step535. The TCP layer diagnostic signal may comprise, for example, a DNS resolution request. Configuration manager222awaits receipt of a confirming response, such as a DNS resolution at step540.

Configuration manager222also communicates an application layer diagnostic signal toward a destination network element at step545. The application layer diagnostic signal may comprise, for example, an HTTP request to a well established Internet site. Configuration manager222awaits receipt of a confirming response.

Configuration manager222may communicate IP layer, TCP layer and application layer diagnostic signals individually or back-to-back. Configuration manager222may store results of responsive signals received or not received and/or use those results to provide diagnostic analysis at step555. Configuration manager may repeat method500for additional virtual channels at step560.

Although the present invention has been described in several embodiments, a myriad of changes, variations, alterations, transformations, and modifications may be suggested to one skilled in the art, and it is intended that the present invention encompass such changes, variations, alterations, transformations, and modifications as fall within the spirit and scope of the appended claims.