Patent Publication Number: US-8117279-B2

Title: System and method for detecting customer premise equipment behind a router on a data-over-cable system

Description:
This application is a continuation of U.S. Pat. application Ser. No. 10/302,662, filed Nov. 22, 2002, entitled System and Method For Detecting Customer Premise Equipment Behind a Router on a Data-Over-Cable system, now U.S. Pat. No. 7,290,046 B1. The aforementioned related patent application is herein incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     This invention relates generally to data-over-cable systems and, more particularly, to the Internet Protocol (IP) management of Customer Premise Equipment (CPE) by the Cable Modem Termination System (CMTS) of a Multiple Service Operator (MSO) in data-over-cable systems. 
     BACKGROUND OF THE INVENTION 
     One of the earliest methods of accessing services available over the Internet was through subscription service provided by an Internet Service Provider (ISP). Most subscribers were individuals who owned personal computers. After obtaining a subscription with an ISP, they would install ISP access software on their computers. This software would use a modem, either internal or external to a computer, to dial an access number for the ISP and establish a communication link with an ISP server through the Public Switched Telephone Network (PSTN). The ISP server could then communicate data messages between the subscriber&#39;s computer and other computers coupled to the ISP server through the Internet backbone. These messages were principally used to download files, typically in the Hypertext Markup Language (HTML) format, to the subscribers. Most subscribers executed an application program on their computers called a browser that displayed the content of the downloaded files for the subscriber. 
     Content from the other computers coupled to the ISP server became significantly larger as image data files and program files, such as applets and the like, were included in the downloaded files. The telephone connection through the modem to the PSTN was typically a twisted pair connection that had a significantly limited bandwidth. Because this limitation was a physical characteristic of the twisted pair conductors used to provide telephone service to most homes, companies began to investigate the availability of other communication media capable of broad bandwidth communication that could be used to couple subscribers to an Internet access service provider. 
     One candidate for broad bandwidth Internet service is Cable Television (CATV) system architecture. These systems typically include coaxial cable service to subscriber homes and, in some systems, fiber optic cable may form a backbone for the system. Systems that use both coaxial cable and fiber optic cable to provide service to subscribers are called hybrid fiber cable (HFC) systems. These coaxial and fiber optic cables may support broad bandwidth communications but the data messages in this type of system are uni-directional rather than bi-directional as required for Internet communication. To address these limitations, companies began to develop cable modems for receiving Transport Control Protocol/Internet Protocol (TCP/IP) messages from a computer at a subscriber site and translating them for delivery to the head end of the CATV system and vice versa. While a communication channel could be provided for downstream messages from the head end to a subscriber through the same equipment that provided cable programming content to subscribers, communication to the head end from the subscribers was more problematic. One way of addressing the limited ability to route communication from the subscribers to the head end was to have the cable modems direct communication for the head end to a Telephony Remote Access Concentrator (TRAC) through the PSTN. As routers were developed for bi-directional message traffic through a CATV system, CATV systems capable of supporting broad bandwidth data communication without PSTN support for upstream communication became available. 
     At the head end of a CATV system, a Cable Modem Termination System (CMTS) manages the communication network aspects of a CATV system. The CMTS may receive data messages from computers at subscriber sites or the messages may be received by a TRAC that communicates with the CMTS for downstream communication with the subscribers. The TRAC or the CMTS, or both, may communicate with other computers on the Internet to obtain the content requested by computers at the subscriber sites and then deliver that content to the subscriber sites through the CMTS. 
     In order to establish communication between the CMTS at the head end of a CATV system and computers at the subscriber sites, the communication standards for the network formed by the CMTS, CATV system, and cable modems needed to be defined. One specification developed for this type of network is the Data-Over-Cable Service Interface Specification (DOCSIS). This specification provides the requirements that cable modems need to implement in order to support data communication over CATV systems and be compatible with the CMTS and TRAC component, if provided, in such systems. 
     One requirement identified by this specification is the need for the CMTS to recognize the cable modem at each subscriber site through which the computers at the subscriber site communicate with the CMTS. This recognition is provided through the Dynamic Host Configuration Protocol (DHCP). DHCP is known from TCP/IP networks. DHCP allows a device to be installed on a network and obtain an IP address on the network so messages from and to the device may be identified. Under DOCSIS, a cable modem is identified by its Media Access Control (MAC) address. This address is a 48-bit value that is stored in a network interface card (NIC) at the time of its manufacture. A cable modem communicates with the CMTS through a NIC having a MAC address and this address is provided to a DHCP server. Through the process managed by a DHCP server located at the head end and coupled to the CATV system through the CMTS, a routing table and Address Resolution Protocol (ARP) table are generated at the CMTS that correlates each MAC address of the cable modems on the system with a unique IP address. Also, the DHCP server provides a pointer to a Trivial File Transfer Protocol (TFTP) server so the cable modem may download a configuration file from the TFTP server to establish the modem&#39;s configuration mode and parameters. Likewise, the cable modem generates a routing table and ARP table for identifying the IP address and MAC address of the CMTS. 
     When a subscriber couples a computer to a cable modem, the computer requires an IP address for communication with the CMTS under DOCSIS. The CPE component communicates with the DHCP server through the cable modem and CMTS so the DHCP server may assign an IP address to the subscriber&#39;s computer. Equipment coupled to the CATV system through a cable modem is known as Customer Premises Equipment (CPE). A NIC within a CPE component is coupled to a NIC at the cable modem other than its CATV NIC. The CATV NIC is the NIC through which the modem is coupled to the CATV network. The cable modem relaying the DHCP messages from the DHCP agent software executing on the CPE provides the DHCP server with the CATV NIC MAC address and the MAC address of the CPE NIC. The DHCP server uses the MAC addresses to assign an IP address to the CPE device coupled through the cable modem and to provide a TFTP server pointer through the DHCP server at the head end. The CMTS uses the two MAC addresses and assigned IP address to update its routing and ARP tables. Also, the cable modem maintains a routing table and ARP table that correlate the MAC address of the CPE NIC with the IP address assigned to the CPE coupled through the network interface. 
     The DOCSIS specification assumes that each CPE coupled to the CATV system through the cable modem is coupled through a separate NIC at the cable modem. However, many subscribers have more than one computer at a site and may desire to couple more than one computer at the site to the CATV system at the same time. In order to make contemporaneous operation of two computers through the cable modem possible, each would require a separate connection to the cable modem. This may require a hub or physical proximity of the two or more computers to the cable modem. In an effort to avoid such a constraint, some subscribers install a router, such as a wireless router, to couple all of the computers at their site together into a network. The router may then be coupled to the cable modem so all of the computers and other devices coupled together on the network are coupled through the router to the cable modem and the data-over-cable system supported on the CATV system. 
     When the router is initialized after being coupled to the cable modem, it is assigned an IP address by the DHCP server. When one of the computers coupled to the subscriber site router initiates an Internet session through the CMTS, the computer must be assigned an IP address and configured for communication over the CATV system. The agent software that manages the IP communication parameters for the computer does not know that it is coupled to the CATV network through a router. When the agent sends a message to a Service Activation Service (SAS) server at the CMTS requesting access account information for the CPE component on which it is executing, the MAC address of the CPE component does not get past the router to the cable modem. Consequently, the SAS server treats the message as coming from the router. Messages received at the router for the CPE component are still passed through to the CPE component because the router recognizes the IP address for the CPE component from its internal routing table. Also, the CMTS views the topology of the computers coupled to it through a cable modem as only being no more than one node behind the cable modem because the modem only supplies its MAC address and the MAC address of the router to the CMTS. This limitation raises a number of issues for communication over a DOCSIS network. 
     For one, configuration management may be affected. Configuration management of nodes on a network includes initializing, maintaining, adding, and updating network components. Typically, this includes modifying parameters for physical resources and/or logical objects. Configuration actions may be classified as non-operational or operational actions. Non-operational actions are those parameter modifications that do not alter the operating environment. For example, a change regarding contact information that identifies the person responsible for CMTS operation is non-operational. Operational actions, on the other hand, do alter the operating environment. 
     One example of an operational action occurs when a subscriber activates an account with a Cable Access Provider. Prior to account registration/activation, the cable modem, router, and CPE component at a subscriber site only have private IP addresses. A private IP address permits a subscriber to access services directly provided from the head end but it does not allow access to services from the Internet or other external service. In order to access the Internet, the subscriber must activate the high speed data service. Agent software on the CPE component is responsible for obtaining the user&#39;s account information, authenticating the user with the SAS server at the head end, and navigating to the SAS server activation page. At the end of a successful registration/activation, the SAS server sends a MIME message response for the agent software that indicates the completion of the activation/registration. 
     At this point, the user has established an account and a service level for the account. The agent software then sends an account query message to the SAS server to determine whether device management is required for utilization of the account. If a cable modem reboot is required, the SAS server responds with a response message indicating the cable modem needs to be reset for account utilization. After processing the response message, the agent software on the CPE component displays a message informing the user that the cable modem needs to reboot in order for Internet access to become available. This is typically required as the cable modem may also provide access to other services and the rebooting of the cable modem may disrupt other active services. If the user signals acceptance of a cable modem reboot, the agent software sends a Cable Modem Reset XML message to the SAS server, which in turn issues a cable modem reboot to the cable modem. In response, the cable modem goes through the process for obtaining a routable IP address and being configured for the level of service to which the subscriber agreed. 
     At this point, only the cable modem has a routable IP address. If the CPE component is directly coupled to the cable modem, then one way to obtain a routable address is for the CPE component to reboot in order to initiate the process for obtaining a routable IP address. This process is commonly known as the DHCP renew process. However, if the CPE component is coupled to the cable modem through a router, rebooting the CPE component is ineffective because the CPE component is assigned an IP address by the router and, until the router has a routable IP address, the CPE component cannot obtain a routable IP address to access the Internet through a high speed data service. To obtain a routable IP address, the router needs to be reset so it initiates the process for obtaining a routable IP address. However, the agent software does not have data indicating whether it is coupled directly to the cable modem or indirectly through a router to initiate the router to obtain a routable IP address. 
     This type of ambiguous condition occurs when a router at a subscriber site is replaced with another router. When the CPE component is rebooted after the router replacement, the agent software on the CPE component may send an account query message to the SAS server. The SAS server detects the router change from the change in MAC address between the previous router and the replacement router. The message response from the SAS server to the CPE component indicates that device management is required. After performing device management, the agent software knows that a DHCP renew message needs to be issued. However, the CPE agent software does not know whether the message is to be issued to the new router or to the CPE component. 
     What is needed is a way for the agent software executing on a CPE component to recognize that a router is coupled between the CPE component on which it is executing and the cable modem coupling the CPE component to a data-over-cable system. 
     What is needed is a way for the agent software executing on a CPE component to take an action with respect to a router to which it is coupled in response to a device management response directed to the CPE component. 
     What is needed is a way for the head end to distinguish a router at a site from the CPE components it couples to a data-over-cable network. 
     SUMMARY OF THE INVENTION 
     The above-noted limitations of previously known DOCSIS systems have been overcome by a system and method that operate in accordance with the principles of the present invention. The system of the present invention comprises a network management agent executing on a CPE component that encapsulates its MAC address in a network management message and a head end server that compares the encapsulated MAC address to a source MAC address corresponding to a device that relayed the network management message from the CPE component to the head end server. In response to the encapsulated MAC address being different than the source MAC address, the head end server may send a network management message response with a router status element that informs the CPE configuration management agent that it is executing on a CPE component that is behind a router. In response to the router status element, the CPE agent sets a router present element so it may evaluate a network management message and determine whether to perform a process or to take an action with respect to the operation of the router to which it is coupled. 
     For example, a CPE component reboot following a router replacement may result in the agent software sending an account query message, such as a Query Account Information XML message, to a head end server, such as a SAS server. The SAS server responds to the agent software with a response indicating that device management is required. After the agent software authenticates the user&#39;s stored credentials, the agent software navigates the user to the device management URL at the SAS server. When the device management process is finished, the SAS server sends to the agent software a MIME message response for the agent software that indicates the device management process is complete. At this point, the agent software does not know whether it should reboot the CPE component to initiate a DHCP renew process or to reset the router. The system of the present invention enables the agent software to encapsulate the CPE component MAC address in a network management message and send it to a head end server, such as the SAS server. The head end server parses the network management message from the CPE component and compares the encapsulated MAC address with the source MAC address of the network management message. In response to the two addresses being different, the head end server sets a router status element to an active state and sends a network management message response containing the router status element to the agent software. Upon receipt of the response, the agent software parses the response and determines that a router is coupled between the CPE component and the cable modem at the subscriber site. Consequently, the agent software displays a message to a user at the CPE component directing the user to reset the router. In response to the router being reset, the router commences a process for obtaining a routable IP address. Thus, the router may obtain a routable IP address so the CPE component may communicate on the data-over-cable network without unnecessarily altering the environment or operation of the CPE component. 
     The method of the present invention includes encapsulating a MAC address for a CPE component in a network management message and comparing the encapsulated MAC address to a source MAC address of the device that relayed the message to a cable modem to determine whether the CPE component is behind a router. In response to a determination that the encapsulated MAC address is different from the source MAC address, a router status element is set to an active state. The active router status element indicates the network management message originated from a CPE component that is coupled to a cable modem through an intervening device, such as a router. A network management message response containing the router status element is sent to the CPE component and the network management agent parses the network management message response. The agent may set a router present element in correspondence with the router status element in the network management message response. The agent may then determine whether its position behind the router permits it to ignore a network management message response or to take some action with respect to the router. For example, the agent, in response to a network management message response that was transmitted by a head end server upon detection of a new service level change or a router change, may display a message to the user at the CPE component directing the user to reset the router or otherwise alter the parameters controlling the router. 
     Encapsulation of the MAC address is performed by the network management agent software executing at the CPE component when the CPE component generates and sends a network management message requesting account information. Preferably, the network management agent is an account query message and, most preferably, it is a Query Account Information Extended Markup Language (XML) message. In response to detection of a router status element that indicates a router is coupled to the CPE component, the agent sets a router present element to an active state and typical network management message response processing is performed. 
     It is an object of the present invention to enable a server at the head end to determine whether a CPE component is behind a router at a subscriber&#39;s site. 
     It is an object of the present invention to enable a network management agent at a CPE component to determine that the CPE component is behind a router. 
     It is an object of the present invention to enable a network management agent at a CPE component to invoke an action with respect to a router that couples the CPE component to a data-over-cable system. 
     These and other advantages and features of the present invention may be discerned from reviewing the accompanying drawings and the detailed description of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention may take form in various system and method components and arrangement of system and method components. The drawings are only for purposes of illustrating exemplary embodiments and are not to be construed as limiting the invention. 
         FIG. 1  is a diagram of a data-over-cable system coupled to a CPE component through a cable modem; 
         FIG. 2  is a diagram of IP message flow through the system of  FIG. 1 ; 
         FIG. 3  is a diagram of the system shown in  FIG. 1  where the CPE component is coupled to the cable modem through a router; 
         FIG. 4  is a diagram of IP message flow through the system of  FIG. 3 ; 
         FIG. 5  is a block diagram of a system that detects the router in  FIG. 3  from an encapsulated MAC address; 
         FIG. 6  is a block diagram of a system that executes in the CPE component of  FIG. 3  and executes network management processes in accordance with the presence or absence of a router as shown in  FIG. 3 ; 
         FIG. 7A  is a diagram of the elements in an exemplary network management message used to encapsulate the MAC address of a CPE component; 
         FIG. 7B  is a diagram of the elements in an exemplary network management message response used to inform a network management agent that it is behind a router; 
         FIG. 8  is a flow diagram of the process that is implemented by the system of  FIG. 5 ; and 
         FIG. 9  is a flow diagram of the process that is implemented by the system of  FIG. 6 . 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A data-over-cable system in which the system and method of the present invention may operate is shown in  FIG. 1 . System  10  includes a distribution hub or head end  14  that is coupled through a distribution network  18  to one or more cable modems  20 . Head end  14  may be coupled to public switched telephone (PSTN)  24  and/or backbone network  28 . Network  28  couples head end  14  to one or more remote server facilities  30 . Backbone network  28  is coupled to head end  14  and remote server facility  30  through any known wide area network (WAN) configuration while copper wire pairs, DS 1 , or DS 2  connections may be used to couple head end  14  to PSTN  24 . Head end  14  may be coupled to nodes  34  of distribution network  18  by optical fiber or coaxial cable. Coaxial cable or optical cable may be used to couple nodes  34  to a cable modem  20  at a subscriber site, although most typically coaxial cable is used for such coupling. 
     A cable modem  20  at a subscriber site may be used to couple a customer premise equipment (CPE) component  40 , such as a PC or the like, to head end  14  through distribution network  18 . Cable modem  20  may be any known cable modem such as those provided by 3Com Corporation of Santa Clara, Calif., Motorola Corporation of Arlington Heights, Ill., Hewlett-Packard Co. of Palo Alto, Calif., Bay Networks of Santa Clara, Calif., Scientific-Atlanta of Norcross, Ga., and others. The system and method of the present invention are especially useful with cable modems implementing the DOCSIS 1.0, 1.1, or 2.0 specifications, although it may be implemented with other data-over-cable systems. Cable modem  20  receives downstream messages from a downstream channel that is typically in the 50 to 860 MHz range and each channel is typically located in a 5 MHz width band within that range. Cable modem  20  may transmit messages to head end  14  on an upstream channel in the 5 to 42 MHz range and, again, the channels are typically located in a 5 MHz width band within that range. Alternatively, cable modem  20  may communicate upstream messages to Telco Return Access Concentrator (TRAC)  62  at head end  14  through cable modem  20 , a Telco Return Interface, and PSTN  24 . 
     Cable modem  20  is coupled to a computer at the subscriber site as shown in  FIG. 1 . This coupling is typically performed using an Ethernet connection that supports IEEE 802.3 or DIX Ethernet, a USB connection, or a PCI connection. The data messages are typically implemented in TCP/IP, although other protocols may be used. Cable modem  20  includes one or more network interfaces for coupling CPE components to it. Each CPE component includes a network interface card (NIC) for communicating with cable modem  20  when connected as shown in  FIG. 1 . As noted above, the network interface between cable modem  20  and distribution network  18  and the NIC at CPE  40  each have a unique 48-bit MAC address that may be used to identify the device. Most typically, an application, such as an Internet browser executing in the application layer at the CPE, communicates requests for files to head end  14  through upstream communications and head end  14  sends the requests over backbone network  28  to a remote server facility  30  for the requested files. When the files are returned, head end  14  determines the destination address for the files and sends them through a downstream channel to cable modem  20  that forwards the files to computer  40  for display by the browser. 
     Head end  14  includes a transmitter  44 , a receiver  48 , a combiner  50 , an upstream splitter  54 , a Cable Modem Termination System (CMTS)  56 , an operation support system (OSS)  58 , and a head end switch or backbone transport adapter  60 . Head end  14  may also include a Telephony Return Access Concentrator (TRAC)  62  if upstream communication is performed through PSTN  24 . A local server facility  64  may also be provided if the Multiple Service Operator (MSO) responsible for operation of head end  14  provides locally available content for subscribers over the data-over-cable system. Head end  14  may also include a security and access controller system  68  to provide secure communications within the network. CMTS  56  terminates distribution network  18  and modulates downstream messages as input for combiner  50  that provides content for the various channels through transmitter  44  over distribution network  18  to cable modems  20  coupled to nodes  34  of distribution network  18 . CMTS  56  demodulates messages that were received from CPE  40  and cable modem  20  through upstream splitter  54 , receiver  48 , and distribution network  18 . Alternatively, upstream messages may be received by TRAC  62  and provided to CMTS  56  through switch  60 . Also, responses from remote servers  30  received over network  28  are provided to CMTS  56  through switch  60 . These responses are prepared for transmission over distribution network  18  by CMTS  56 . Security and access controller  68  may be used to reduce the likelihood of fraudulent activity over network  18  and to limit access to the data-over-cable system to authorized users only. 
     OSS  58  may be used to perform basic network management control functions such as managing objects through management information bases (MIB) as well as account, configuration, fault, performance management, event notification, and filtering functions. On systems operating in accordance with the DOCSIS specification, these functions are implemented using the Simple Network Management Protocol (SNMP). To perform its tasks, OSS  58  includes various types of servers and proxies such as those required for DHCP processing. OSS  58  may include a Service Activation Server (not shown) that is used for the management of subscriber account activity over network  18  and this server, preferably, parses and responds to network management messages, such as account query messages, to inform a network management agent that it is executing on a CPE component that is behind a router. 
     The interface requirements between CMTS  56  and OSS  58  for a DOCSIS data-over-cable system are described in DOCSIS Operations Support System Interface Specification, SP-OSSIv2.0-I02-020617 available from Cable Television Laboratories, Inc. at http:\\www.cablemodem.com. The interface requirements between CMTS  56  and switch  60  in a DOCSIS data-over-cable system are described in DOCSIS Cable Modem Termination System-Network Side Interface Specification SP-CMTS-NSII01-960702 available from Cable Television Laboratories, Inc. at http:\\www.cablemodem.com. The interface requirements between CMTS  56  and controller  68  for a DOCSIS data-over-cable system are described in DOCSIS Baseline Privacy Interface Specification SP-BPI available from Cable Television Laboratories, Inc. at http:\\www.cablemodem.com. The interface requirements between CMTS  56  and the RF components for upstream/downstream communication in a DOCSIS data-over-cable system are described in DOCSIS Radio Frequency Interface Specification SP-RFIv2.0-I02-020617 available from Cable Television Laboratories, Inc. at http:\\www.cablemodem.com. 
     A diagram depicting the flow of IP message traffic in the system of  FIG. 1  is shown in  FIG. 2 . The bi-directional IP traffic flow permits an application at a CPE component  40  to communicate requests for data and data forms to a remote server through a WAN  28  that is serviced by CMTS  56 . In order to provide this IP message traffic flow, the devices communicating and routing communications through this system must be properly initialized, configured, and registered with head end  14 . This initialization, configuration, and registration process is managed by OSS  58 . One purpose for initializing, configuring, and registering devices on system  10  is to replace the private IP address for the devices communicating on the network with routable IP addresses so the subscribers may access external services. In order to assign IP addresses, the devices must provide their MAC addresses to head end  14  so routing tables and ARP tables may be built and updated. 
     The initialization, configuration, and registration processes may be controlled by OSS  58  using the Dynamic Host Configuration Protocol (DHCP), although other protocols and processes may be used to implement the principles of the present invention. DHCP is known from TCP/IP networks. Although the system is described with OSS using DHCP to initialize, configure, and register devices, other protocols may be used for implementing these processes. DHCP allows a device to be installed on a network and obtain an IP address on the network so messages from and to the device may be identified. As part of the initialization process, a cable modem may provide its 48-bit Media Access Control (MAC) address to a DHCP server of OSS  58 . Through the process managed by a DHCP server located at head end  14  and coupled to distribution network  18  through CMTS  56 , a routing table and Address Resolution Protocol (ARP) table are generated at CMTS  56  that correlates each MAC address of the cable modems  20  coupled to network  18  with a unique IP address. Also, the DHCP server provides a pointer to a Trivial File Transfer Protocol (TFTP) server so the cable modem may download a configuration file from a TFTP server of OSS  58  to establish the modem&#39;s configuration mode and parameters. Likewise, cable modem  20  generates a routing table and ARP table for identifying the IP address and MAC address of CTMS  56 . 
     When a subscriber couples a CPE component  40  to a cable modem  20 , component  40  requires an IP address for communication with CMTS  56  under DOCSIS. CPE component  40  communicates with a DHCP server through cable modem  20  and CMTS  56  so the DHCP server may assign an IP address to the subscriber&#39;s computer. A NIC within CPE component  40  is coupled to a NIC at cable modem  20  other than its CATV NIC. The CATV NIC is the NIC through which modem  20  is coupled to distribution network  18 . Cable modem  20  relays the DHCP messages from the network management agent software executing on CPE component  40  to provide the DHCP server with the CATV NIC MAC address and the MAC address of the CPE NIC. The DHCP server uses the MAC addresses to assign an IP address to CPE component  40  coupled through cable modem  20 . CMTS  56  uses the two MAC addresses and assigned IP address to update its routing and ARP tables. Also, cable modem  20  maintains a routing table and ARP table that correlate the MAC address of the CPE NIC with the IP address assigned to CPE component  40  coupled through the network interface. 
     The DOCSIS specification assumes that each CPE component  40  coupled to distribution network  18  through a cable modem  20  is coupled through a separate NIC at a cable modem  20 . However, many subscribers have more than one computer at a site and may desire to couple more than one computer at the site to distribution network  18  at the same time. In order to make contemporaneous operation of two computers through a cable modem  20  possible, each would require a separate connection to the cable modem. This may require a hub or physical proximity of the two or more computers to cable modem  20 . In an effort to avoid such a constraint, some subscribers install a router, such as a wireless router, to couple all of the computers at their site together into a network. The router may then be coupled to the cable modem so all of the computers and other devices coupled together on the network are coupled through the router to the cable modem and the data-over-cable system supported by distribution network  18 . Using like numerals for like components, a system depicting a group of CPE components  40  being coupled to cable modem  20  through a router  80  is shown in  FIG. 3 . The IP message traffic flow for the system depicted in  FIG. 3  is shown in  FIG. 4 . Because the IP messages may flow from CPE component  40  to CMTS  56  for delivery to a remote server  30  and from remote server  30  to CMTS  56  for delivery to CPE component  40 , router  80  and CPE component  40  must be assigned a routable IP address. 
     When router  80  is initialized after being coupled to cable modem  20 , it is assigned a private IP address by a server of OSS  58  through CMTS  56 . When one of the CPE components  40  coupled to router  80  activates a high speed data account through CMTS  56 , router  80  must be assigned a routable IP address for communication over distribution network  18  and network  28 . The agent software that manages the IP communication parameters for the CPE component initiating the communication does not know that it is coupled to network  18  through router  80 . Also, the SAS server does not know the MAC address of the CPE component because the MAC address of the CPE component does not get past router  80  for delivery to the SAS server. Consequently, the SAS server treats the request as coming from router  80  and the routing and ARP tables at CMTS  56  and cable modem  20  correlate the private IP address to the MAC address of router  80 . Messages received at router  80  for the CPE component are still passed through to the CPE component because router  80  recognizes the IP address from its internal routing table. 
     The components of a system  82  shown in  FIG. 5  allow a head end server to communicate with a CPE agent in a way that reduces the likelihood that network management message responses cause an agent executing on a CPE component behind a router  80  to execute unnecessary processes. The components include a network management message interrogator  84  and a MAC address comparator  88 . The network management message interrogator  84  parses network management messages that are communicated from devices on distribution network  18 . Preferably, account query messages are used to implement the principles of the present invention, although other network management messages may be used to determine whether a CPE component is behind a router. These messages query the SAS server for account data, such as service level, billing information, and the like. Interrogator  84  parses a network management message, such as a Query Account Information XML message, to identify an encapsulated MAC address from the device that originated the message. Comparator  88  compares the encapsulated MAC address to the source MAC address of the device directly coupled to the cable modem that relayed the message from the CPE component. If the encapsulated field does not contain a MAC address that is the same as the source MAC address, then comparator  88  sets a router status element to an active state indicating that the message originated from a CPE component that is behind a router or other device interposed between the CPE component and the cable modem at the CPE component site. System  82  may be part of the SAS server or part of some other head end component that has access to network management messages, such as account messages or other messages that OSS  58  processes. The router status element permits the network management agent at the CPE component to detect that it is behind a router and to set a router present element at the CPE component so this topology factor may be included in the processing done by the network management agent software. 
     The components of a network management agent  90  that executes on a CPE component  40  to communicate with head end  14  and provide data so a head end server is able to determine whether CPE component  40  is behind a router are shown in  FIG. 6 . System  90  includes a network management processor  92 , a MAC address encapsulator  94 , and a router detector  98 . Processor  92  performs typical processing of network management message responses. MAC address encapsulator  94  encapsulates within a network management message, such as the Query Account Information XML message, the MAC address of the CPE component on which the agent software is executing so processor  92  may complete the network management message for communication to head end  14 . Router detector  98  parses a network management message response received by processor  92  to determine whether a router status element is included that indicates the CPE component on which the agent software is executing is behind a router. In response to the router status element indicating the CPE component is behind a router, router detector  98  sets a router status element at the CPE component to indicate the presence of a router between the CPE component and its cable modem. Processor  92  of the agent software parses and executes network management message responses received from CMTS  56  and examines the router status element to determine whether a router is between the CPE component and its cable modem. If the router status element is active, network management message responses may be ignored by the agent software if action at the router adequately accomplishes the purpose of the message responses. 
     For example, after activation of a high speed data account, the CPE agent may send a network management message requesting whether additional network device management is required. The SAS may send a response indicating that the cable modem needs to be reset. The agent software, in turn, displays a message requesting permission from the user to proceed with the resetting of the cable modem. As explained above, the message requesting permission is displayed because resetting the cable modem may adversely impact other services that may be provided through the cable modem to the subscriber site. In response to user acceptance of this request, the network management agent sends a cable modem reset request network management message to the SAS server. Periodically thereafter, the network management agent sends Query Account Information XML messages to determine when the cable modem rebooting is finished. Once the cable modem has rebooted, it performs a process to obtain a routable IP address and to be configured for routable IP communication. IP communication is not available, however, until the router has obtained a routable IP address. After the cable modem has rebooted and obtained its routable IP address, the agent software may encapsulate the CPE component MAC address in a network management message that is sent to the SAS server. Preferably, the Query Account Information XML message is the network management message that the agent uses to send its encapsulated MAC address to the SAS server. These messages also contain the MAC addresses of the cable modem and the router in accordance with the DOCSIS protocol. The cable modem MAC address is known to the SAS server from the process by which the cable modem obtained its routable IP address. By comparing the encapsulated MAC address to the source MAC address, which in the case of a router coupled between a CPE component and a cable modem is the router MAC address, the SAS server may determine that the device originating the network management message is not directly coupled to the cable modem. Thus, the SAS server may now set a data element in a network management message response to inform the network management agent that it is executing on a CPE component behind a router. This network management message response informs the agent software that it is executing on a device behind a router so the agent may determine that the router, not the CPE component, requires device management to obtain a routable IP address. In response, the agent software may display a message to the user directing the user to reset the router so it may obtain a routable IP address. In this manner, the agent software on CPE component  40  may evaluate a network management message response in light of its position behind a router. 
     Preferably, the network management message encapsulating the MAC address of the CPE component is a Query Account Information XML message with a format as shown in  FIG. 7A . The header  130  identifies the source of the message, which in this example is ATT agent software, along with a timestamp, version number, and operating system identifier. The body of the message includes delimiters in which the MAC address  132  is provided. An exemplary network management response to the message of  FIG. 7A  is shown in  FIG. 7B . Header  134  identifies the source, which in the example is the SAS server, as well as a timestamp and version number. In the body of the message, a data element cpe_behind_router_status  136  is included with its value set to the integer 1, which indicates the CPE component is behind a router. This is the router status element that is set in response to the encapsulated MAC address not being the same as the MAC address of the device coupled to the cable modem that sent the message. 
     An exemplary method that may be used with system  82  of the present invention is shown in  FIG. 8 . The method begins by determining that a type of network management message having an encapsulated MAC address, such as a Query Account Information XML message, has been received (block  100 ). If the message is not a message that has been designated for MAC address encapsulation, other network management message processing is performed (block  104 ). Otherwise, the network management message that may contain an encapsulated MAC address is parsed (block  108 ) and the process determines whether an encapsulated MAC address is present (block  110 ). If one is not present, then typical network management message processing is performed (block  104 ). Otherwise, the encapsulated MAC address is compared to the source MAC address, which is the address of the device coupled to the cable modem that relayed the message from CPE component  40  (block  118 ). If the two MAC addresses are the same, typical network management message processing continues (block  104 ). Otherwise, a router status element is set to an active state that indicates that the message originated from a CPE component that is behind a router or other device interposed between the CPE component and the cable modem at the CPE component site (block  120 ). The remainder of the message may then be processed (block  104 ) if it was not processed before the encapsulated MAC address was interrogated. After message processing, the router status element is included in the response message that is sent to the router for delivery to the CPE component (block  124 ). Thus, the response message is sent to router  80  with an IP address for CPE component  40  and a MAC address for router  80 . Router  80  then forwards the response message with the IP address of the CPE component in correspondence with its internal routing tables. 
     An exemplary process that may be performed by system  90  is shown in  FIG. 9 . The process begins by determining whether a network management message response having a router status element has been received (block  150 ). If one has not been received, typical network management message response processing is performed (block  174 ). If the network management message response has a router status element, it is parsed (block  158 ) to determine whether the router status element indicates a router is between the device and its cable modem (block  160 ). If the router status element indicates no router is present, then the router present element is set to an inactive state (block  164 ) and typical network management message response processing continues (block  174 ). If the element indicates a router is present, then a router present element is set to indicate the presence of a router (block  170 ). The effect of the router presence on typical network management message response processing may now be evaluated (block  178 ). The evaluation may include the setting of data elements to alter processing of network management message responses. For example, the router present element being active may result in the setting of a display router reset message data element. 
     In operation, the network management agent at a CPE component is modified to include a MAC encapsulator  94  and a router detector  98 . Likewise, appropriate components at head end  14 , such as a SAS server of OSS  58 , are modified to include a network management message interrogator  84  and an encapsulated MAC address comparator  88 . Thereafter, OSS  58  operates to parse the type of network management messages that may contain encapsulated MAC addresses to detect the presence of a router from a difference between an encapsulated MAC address and a source MAC address in a network management message. A response message containing a router status element is returned to inform the CPE component so it may set a router present element for use with its network management agent software. The network management agent software also encapsulates its own MAC address in the network management messages that it originates and parses network management message responses to determine whether it is behind a router. Thereafter, the network management agent software may determine whether network management message responses sent to its IP address require action at the router or CPE component in which it is executing. In this manner, unnecessary network management process execution is reduced. 
     While the present invention has been illustrated by the description of exemplary processes and system components, and while the various processes and components have been described in considerable detail, applicant does not intend to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will also readily appear to those skilled in the art. For example, while the invention has been described with reference to particular messages and head end components, other types of messages and head end components may be used. Also, while the invention has been discussed with reference to a router being coupled between a CPE component and a cable modem, another type of intervening device may be coupled between the CPE component and the cable modem. The system and method of the present invention may be used to detect such other types of intervening devices. The invention in its broadest aspects is therefore not limited to the specific details, implementations, or illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of applicant&#39;s general inventive concept.