SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR AUTOMATICALLY PROVISIONING CABLE MODEM SERVICES USING VIRTUAL NETWORK ZONES IN A DATA-OVER-CABLE NETWORK

Abstract: After an initialization sequence is executed between the cable modem and a cable modem termination system (CMTS) the cable modem is assigned to a provisioning zone that prevents the cable modem from accessing services via a services network. While the cable modem is in the provisioning zone, however, it is allowed to access a provisioning network that it can use to register customer information with a provisioning server. The provisioning server then configures one or more accounts for the customer on a subscriber server based on the particular services requested by the customer during registration. Finally, the cable modem is reassigned to a service zone in which the cable modem is allowed to communicate with both the provisioning network and the service network through the CMTS.

Description: SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR AUTOMATICALLY PROVISIONING CABLE MODEM SERVICES USING VIRTUAL NETWORK ZONES IN A DATA-OVER-CABLE NETWORK FIELD OF THE INVENTION The present invention relates generally to the field of cable television networks, and, more particularly, to automatically provisioning cable modem services in a data-over-cable network. BACKGROUND OF THE INVENTION One aspect of the evolution of cable television has been the development of hybrid fiber coax (HFC) networks. Instead of being based entirely on coaxial cable, HFC networks generally include optical fiber cable between the head end and local serving nodes. Each local serving node typically includes a media translator to convert the optical signal into an electrical signal, which is then carried to customers via traditional coaxial cable spans. Cable television companies, or multiple system operators (MSOs) as they are often called, have upgraded many of their existing coaxial cable networks to HFC to take advantage of reduced maintenance costs and improved bandwidth of the optical fiber cable. With the growth of the Internet, however, MSOs may seek to leverage their investment in these HFC networks to provide more than just cable television programming. The ubiquitous nature of the HFC based cable television network is advantageous in that high-speed data service can be provided to a large segment of the population without the need to install new network infrastructure. As part of providing customers with data-over-cable service, a cable modem is generally used to I modulate and demodulate signals passed between the cable television network and the customer premises equipment (CPE). Installation of a new cable modem at a customer or subscriber site, however, can be a costly and labor intensive process. For example, service provisioning for a cable modem in a conventional data-over-cable system may involve the following steps: 1. A customer or subscriber calls a customer service representative (CSR) to request broadband data service and installation of a cable modem. 2. The customer service representative records pertinent information about the subscriber (e.g. , name, address, telephone number, etc.) and initiates an installation work order to be fulfilled on a date convenient to both the customer and a cable network technician. 3. On the day of service, two field technicians-one skilled in cable networks and the other skilled in computer networks-are dispatched to the customer's house. 4. The cable technician may perform several tasks depending on the current state of the cable plant in the customer's neighborhood. Typically, the cable technician will replace an existing high-pass filter, which blocks upstream noise from household appliances, with a combination filter and two-way splitter. The splitter is used to connect one coaxial cable to the customer's set-top box and the other to the cable modem. The cable technician then installs the cable modem between one coaxial cable coming from the splitter and the customer's CPE (e.g., computer). Note that additional wiring may be necessary at the customer's premises if the existing wiring is of insufficient quality to support broadband data service. 5. The cable technician checks the network hardware address (e.g., media access control (MAC) address) of the cable modem and provides this information to the CSR. The CSR enters this information into a database of cable modems that are authorized to connect to the MSO's network. 6. The computer technician checks the subscriber's CPE to ensure that it has IP networking capabilities and that the necessary client software is installed. The computer technician may also adjust any client software settings or parameters as necessary. Finally, in cooperation with the cable technician, the computer technician connects the subscriber's CPE to the cable modem. As an alternative to the foregoing installation process, the MSO may use a more streamlined installation procedure if there is reason to believe that the cable infrastructure and wiring at the customer's premises will support broadband data networking. In this circumstance, the MSO may dispense with sending field technicians to the customer's premises and, instead, may ask the customer to visit the CSR where a cable modem will be provided. The CSR makes the necessary changes in the cable network databases to ensure that the new cable modem will be recognized and accepted once it is installed. It is the customer's responsibility, however, to install the necessary software on their own CPE and to connect the cable modem to their CPE and the MSO's network. Unfortunately, the present approaches to provisiomng cable modem services may rely on significant personal interaction between field technicians, CSRs, and customers or subscribers. As a result, the provisioning process may be highly susceptible to human error. Moreover, due to the many administrative tasks typically involved in activating a cable modem for a new customer or subscriber, the entire r provisioning process may take several weeks to complete. In general, data service for a new customer or changing service options for an existing customer can be an expensive proposition for MSOs. Consequently, there exists a need for improved provisioning of cable modem services that can reduce administrative costs while maintaining or reducing the frequency of provisioning errors. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide improved systems, methods, and computer program products that can be used to automatically provision cable modem services. It is another object of the present invention to provide improved systems, methods, and computer program products that can reduce administrative costs in provisioning cable modem services. These and other objects, advantages, and features of the present invention can be provided by systems, methods, and computer program products that can be used to automatically provision a cable modem for service or update the existing service profile of an already provisioned modem. After an initialization sequence is executed between the cable modem and a cable modem termination system (CMTS), the cable modem is assigned to a provisioning zone that prevents the cable modem from accessing services via a services network. While the cable modem is in the provisioning zone, however, it is allowed to access a provisioning network that it can use to register customer information with a provisioning server. The provisioning server then configures one or more accounts for the customer on a subscriber server based on the particular services requested by the customer during registration. Finally, the cable modem is reassigned to a service zone in which the cable modem is allowed to communicate with both the provisioning network and the service network through the CMTS. Because customers can register for new services electronically through communication with a provisiomng server, a CSR need not be involved in the registration process. Moreover, by enforcing a provisioning zone and a service zone in the CMTS, unauthorized access to services can be reduced, even in systems in which there is no physical separation between the provisioning network and the services network. In accordance with an aspect of the invention, the provisioning server can update a modem MAC address table in the CMTS to change a cable modem's classification from the provisioning zone to the service zone. In accordance with another aspect of the invention, the provisioning server provides a Web page interface for collecting customer registration information. In accordance with yet another aspect of the invention, a current configuration file and/or a current software image can be downloaded through the provisioning network that corresponds to the particular make of the modem. As a result, it may no longer be necessary for service technicians to visit customer sites to provision a new cable modem for service unless there is a need to update the physical cable or wiring at the premises. The present invention, therefore, can allow labor costs to be reduced and the number of human errors incurred in provisioning new customers for service and updating service preferences for existing customers to be reduced as well. Furthermore, automatic provisioning of cable modem services can be done in a ^ relatively timely fashion, which can result in improved customer satisfaction with the provisiomng process. BRIEF DESCRIPTION OF THE DRAWINGS Other features of the present invention will be more readily understood from the following detailed description of specific embodiments thereof when read in conjunction with the accompanying drawings, in which: FIG. 1 illustrates an exemplary MSO network architecture in accordance with the present invention; FIG. 2 is a high-level block diagram of the cable modem termination system (CMTS) of FIG. 1 that illustrates cable modem provisioning systems, methods, and computer program products in accordance with the present invention; FIG. 3 is a high-level block diagram of the provisioning server(s) of FIG. 1 that illustrates cable modem provisioning systems, methods, and computer program products in accordance with the present invention; FIGS. 4A - 4B are a flow chart that illustrate operations of the cable modem provisioning systems, methods, and computer program products of FIGS. 1 - 3; and FIG. 5 is a ladder diagram that illustrates message flow between various elements of the provisioning network of FIG. 1. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims. Like reference numbers signify like elements throughout the description of the figures. The present invention can be embodied as a cable modem provisiomng system, method, or computer program product. Accordingly, the present invention can take the form of an entirely hardware embodiment, an entirely software (including firmware, resident software, micro-code, etc) embodiment, or an embodiment containing both software and hardware aspects. Furthermore, the present invention can take the form of a computer program product on a computer-usable or computer- readable storage medium having computer-usable or computer-readable program code means embodied in the medium for use by or in connection with an instruction execution system. In the context of this document, a computer-usable or computer- readable medium can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable or computer-readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner if necessary, and then stored in a computer memory. Computer code for carrying out operations of the present invention is typically written in a high level programming language such as C or C++. Nevertheless, some modules or routines may be written in assembly or machine language to optimize speed, memory usage, or layout of the software in memory. It should be further understood that the program code for carrying out operations of the present invention may execute entirely on a provisioning server, entirely on a cable modem termination system (CMTS), partly on a provisioning server and partly on a CMTS, or partly on a provisioning server, partly on a CMTS, and partly on CPE at a customer site. Referring now to FIG. 1, an exemplary MSO network architecture in accordance with the present invention includes a CMTS 22 that is in communication with a provisioning network 24, a services network 26, and a cable television (CATV) network 28. The provisioning network 24 provides access to one or more provisioning server(s) 32, the services network 26 provides access to one or more subscriber server(s) 34, while the CATV network 28 provides access to a cable modem 36 at a customer's premises. In addition to providing access to the subscriber server(s) 34, the services network 26 may also provide access to the Internet 38. Both the provisioning server(s) 32 and the subscriber server(s) 34 are connected to the MSOs Intranet 42 along with the billing server(s) 44. Note that while the provisioning server(s) 32, subscriber server(s) 34, and billing server(s) 44 are illustrated as single units in FIG. 1, it is understood that each of these servers may be implemented as multiple servers depending on the size of the MSO network (e.g., the number of customers or subscribers served by the MSO). For purposes of illustration, a single cable modem 36 is shown connected to the CATV network 28. It is nevertheless understood that a typical CATV network 28 can terminate many cable modems. The CATV network 28 is typically an HFC network as discussed hereinabove. Moreover, in a conventional MSO network, a CMTS 22 may be connected to several CATV networks 28. The cable modem 36 is preferably compatible with the current Data Over Cable System Interface Specification (DOCSIS). As will be explained in more detail hereinafter, the cable modems that are connected to the CATV network 28 may all be the same make and model or, alternatively, may comprise a variety of makes and models from a diverse group of manufacturers. The CPE 46 connected to the cable modem 36 generally comprises a computing device, such as a desktop computer or laptop computer. In accordance with the present invention, the CMTS 22 divides the MSO network into two virtual zones: a provisioning zone and a service zone. More specifically, when the cable modem 36 is assigned to the provisioning zone, the CMTS 22 allows the cable modem 36 to access the provisioning server(s) 32 via the provisioning network 24 and prevents the cable modem 36 from accessing both the subscriber server(s) 34 and the services network 26. When the cable modem 36 is assigned to the service zone, however, the CMTS 22 allows the cable modem 36 to access both the provisioning server(s) 32 and the subscriber server(s) 34 via the provisioning network 24 and services network 26 respectively. The architecture and operations of the CMTS 22 and the provisioning server(s) 32 are discussed further hereafter with reference to FIGS. 2 and 3. Referring now to FIG. 2, the CMTS 22 includes one or more processors 52 that communicate with one or more memories 54 via one or more address/data busses 56. The processor 52 can be any commercially available or custom microprocessor suitable for performing layer two (data link level) and layer three (network level) networking functions. The memory 54 is representative of the overall hierarchy of memory devices containing the software and data used to implement the functionality of the CMTS 22. The memory 54 can include, but is not limited to, the following types of devices: cache, ROM, PROM, EPROM, EEPROM, flash, SRAM, and DRAM. As shown in FIG. 2, the memory 54 may hold five major categories of software and data used in the CMTS 22: the operating system 58; the modulation/demodulation module 62; the media access control module 64, the frequency initialization module 66, and the policy-based routing module 68. The operating system 58 is preferably designed for real time networking and routing applications. The modulation/demodulation module 62 controls the signal processing involved in transmitting information downstream to the cable modem 36 and receiving information upstream from the cable modem 36. A media access control module 64 is used to implement a protocol that arbitrates contention for bandwidth on the CATV network 28 among multiple cable modems. To facilitate communication between the cable modem 36 and the CMTS 22, an initialization sequence is executed between the CMTS 22 and the cable modem 36 when the modem starts up under the supervision of the frequency initialization module 66. The initialization sequence involves the transmission of control packets on downstream frequencies that instruct the cable modem 36 to transmit upstream on a specific frequency or frequencies. Once the cable modem 36 knows which upstream frequencies to use, the cable modem 36 begins a process known as ranging. Ranging involves the transmission of a message to the CMTS 22, which responds with a return message. The round trip delay between sending the original message to the CMTS 22 and receiving the CMTS's 22 return message can then be used by the cable modem to synchronize itself with the CMTS 22 and the CATV network 28. As discussed hereinabove, the CMTS 22 divides the MSO network into a provisioning zone, in which traffic to and from unprovisioned modems is restricted, and a service zone, in which traffic to and from provisioned modems is routed to its destination. Both the provisiomng zone and service zone are implemented through routing rules that are enforced by the policy -based routing module 68 of the CMTS 22. In general, any traffic from an unprovisioned modem on the CATV network 28 is routed to the provisioning network 24 and any traffic coming from the provisioning network 24 will be routed downstream to any modem on the CATV network 28. Traffic is not allowed to pass from the provisioning network 24 to the services network 26 or from the services network 26 to the provisioning network 24. Finally, upstream traffic from a cable modem on the CATV network 28 cannot be routed downstream to another cable modem on the CATV network 28. The policy-based routing module 68 preferably implements a layer two and layer three routing protocol in which messages are routed based on the source layer two address as well as the destination layer two and layer three address of the message. Moreover, the policy-based routing module 68 uses a modem MAC address table to limit access solely to the provisioning network 24 (i.e., a modem is assigned to the provisioning zone) or to both the provisioning network 24 and the services network 26 (i.e., a modem is assigned to the service zone). The modem MAC address table used by the policy based routing module 68 is preferably programmatically accessible by the provisioning server(s) 32 to allow cable modems to be assigned to the service zone once they have successfully completed registration with the provisioning server(s) 32. For security purposes, the modem MAC address table in the CMTS 22 is accessible only through the provisioning network 24 in a preferred embodiment of the present invention. The use of both a service zone and a provisioning zone facilitates the automatic provisioning of cable modems as unprovisioned modems are prevented from accessing services and features available through the services network 26 until they have registered with the provisioning server(s) 32 and satisfied any requirements established by the MSO. Turning now to FIG. 3, the provisioning server(s) 32 includes one or more processors 72 that communicates with one or more memories 74 via one or more address/data busses 76. The processor 72 can be any commercially available or custom microprocessor suitable for a network server application. The memory 74 is representative of the overall hierarchy of memory devices containing the software and data used to implement the functionality of the provisioning server(s) 32. The memory 74 can include, but is not limited to, the following types of devices: cache, ROM, PROM, EPROM, EEPROM, flash, SRAM, and DRAM. The provisioning server(s) 32 provide the services that may be needed to allow a cable modem to communicate. In addition, the provisioning server(s) 32 provide the services that can be used to register the cable modem for services that are accessed through the services network 26. Depending on the size of the MSO and the expected provisioning traffic, provisioning services may be offered on one or multiple servers. As shown in FIG. 1, the provisioning server(s) are connected to both the provisioning network 24 and the MSO intranet 42. The provisioning network 24 is used to carry traffic between the provisioning server(s) 32 and the CMTS 22, the cable modem 36, and the CPE 46. The MSO intranet 42 is used to carry traffic between the provisioning server(s) 32 and the subscriber server(s) 34 and billing server(s) 44. The subscriber server(s) 34 and billing server(s) 44 may be called "back-end" servers. In a preferred embodiment of the present invention, traffic between the provisioning network 24 and services network 26 is not routed directly through the CMTS 22 for security purposes. The billing server(s) 44 is likewise preferably segregated from the remainder of the network by the MSO intranet 42 to ensure that the sensitive information contained therein is protected from unauthorized access via the Internet 38 or customers on the CATV network 28. As shown in FIG. 3, the memory 74 may hold five major categories of software and data used in the provisioning server(s) 32: the operating system 78; the trivial file transfer protocol (TFTP)/dynamic host configuration protocol (DHCP) proxy services module 82; the network services module 84; the Internet access module 86; and the registration module 88. The operating system 78 is preferably designed for real time network server applications. The TFTP/DHCP proxy services module 82 provides services that can allow a cable modem to establish IP connectivity. In particular, the DHCP service is used to acquire an IP address for a new cable modem while the TFTP service allows files, such as modem configuration files, to be downloaded from the provisioning server(s) 32 to cable modems on the CATV network 28. Preferably, the provisioning server(s) 32 provide a proxy for the DHCP and TFTP services with the actual DHCP and TFTP servers comprising part of the subscriber server(s) 34. If multiple DHCP servers are used, however, they should be coordinated to ensure that identical IP addresses are not issued to multiple cable modems. The network services module 84 is used to activate services and configure accounts on the subscriber server(s) 34 and the billing server(s) 44. The services may include, but are not limited to, Internet access, e-mail service, and web hosting services. To activate the services and configure the customer accounts, the network services module 84 may place the customers' personal information into subscriber databases on both the subscriber server(s) 34 and billing server(s) 44. Accounts may be added to e-mail, Web, and other servers comprising the subscriber server(s) 34. In addition, customers' billing accounts may be updated to include new or additional services that have been provisioned. The network services module 84 may also configure the modem MAC address table information in the CMTS 22 to allow a cable modem to access certain features or services available via the services network 26 or to access the Internet 38. The Internet access module 86 is used to provision Internet access for a cable modem. The functionality of the Internet access module 86 typically depends upon the Internet Service Provider (ISP) that the MSO has partnered with to provide Internet service. For example, if the MSO has outsourced only the Internet backbone connection, then Internet service can be activated by updating the modem MAC address table in the CMTS 22 with the MAC address of a cable modem, which allows the CMTS 22 to route traffic between the Internet 38 and a cable modem via both the CATV network 28 and the services network 26. On the other hand, if the MSO has outsourced network services beyond an Internet backbone connection, such as post office protocol (POP) accounts or Web hosting, then the Internet access module 86 preferably has access to the ISP to automatically activate and update customer accounts for those Internet services. Of course, automatic provisioning of these Internet services involves the cooperation of an ISP that has agreed to allow the MSO to access its servers. The registration module 88 is used to collect customer information from the CPE 46 and cable modem 36. The customer information includes both personal information, such as name, address, phone number, and billing preferences (e.g., credit card billing, automatic account debiting, etc), and service information. Examples of service options include choices regarding the quality of Internet service and subscriptions to Web hosting services, e-mail accounts, and IP telephony. The registration module 88 may also query a customer's cable modem for additional information, such as the make, model, MAC address, and software version associated with the modem. In addition to data-over-cable services, the registration module 88 may also allow a customer to subscribe to traditional cable television services, such as premium channels or pay per view (PPV). To collect personal and service information from a customer, the registration module 88 preferably provides a hypertext markup language (HTML) page, which can be accessed through a Web browser running on a customer's CPE by entering a universal resource locator (URL) for the provisioning server(s) 32. Alternatively, the URL of the provisioning server(s) 32 can be downloaded to the cable modem to allow the customer's CPE to automatically access the HTML page provided by the registration module 88 without the need for informing the customer of the URL address in advance. In accordance with yet another alternative embodiment, the registration module 88 may transmit or "push" a registration Web page onto the customer's CPE through the cable modem, which can provide increased security against undesired access of the provisioning server(s) 32 by intruders. The registration module 88 communicates with both the CMTS 22 and the billing server(s) 44 via the provisioning network 24 and MSO intranet 42 respectively. Once the customer information has been collected and the registration of a new customer is authorized, the registration module 88 assigns the cable modem of a new customer to the service zone by updating the modem MAC address table in the CMTS 22 with the MAC address of the cable modem to allow the cable modem to access the services network 26. In addition, the registration module 88 also communicates with the billing server(s) 44 and subscriber server(s) 34 to configure customer billing and service accounts. The registration module 88 can be implemented via a proprietary software package or a commercially available registration and account management software package that is customized to allow the registration module 88 to make the necessary updates to the modem MAC address table in the CMTS 22, the billing databases in the billing server(s) 44, and service databases in the subscriber server(s) 34. The present invention is described hereinafter with reference to flowchart illustrations of cable modem provisioning systems, methods, and computer program products according to an embodiment of the invention. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer usable or computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. With reference now to the flowchart of FIGS. 4 A - 4B and the message flow diagram of FIG. 5, exemplary operations for automatically provisioning a cable modem for service will be described. The cable modem provisioning process begins at block 102 where the cable modem 36 is initialized by communicating with the frequency initialization module 66 of the CMTS 22 to establish the RF frequencies used for upstream and downstream communication. Because the cable modem 36 is currently unprovisioned (i.e., the customer has not registered for service with the MSO), it is assigned to the provisioning zone at block 104 by the CMTS 22 to prevent the cable modem 36 from accessing the services network 26. The CMTS 22 does allow the unprovisioned cable modem 36, which is assigned to the provisioning zone, to access the provisioning network 24, however. Therefore, at block 106 the cable modem 36 requests an IP address from the provisioning server(s) 32, which triggers the DHCP proxy services module 82 to invoke the DHCP server, which is typically implemented as part of the subscriber server(s) 34, to obtain an IP address. The provisioning server(s) 32 then sends the newly acquired IP address to the cable modem 36. After acquiring an IP address, the cable modem 36 requests a configuration file from the provisioning server(s) 32, which triggers the TFTP proxy services module 82 to invoke the TFTP server, typically comprising part of the subscriber server(s) 34, to download a configuration file at block 108. In a homogeneous network of modems, the MSO may establish a configuration file type for each tier of service offered by the MSO. DOCSIS defines certain fields in the configuration file that are required for complying with the DOCSIS standard. Nevertheless, modem manufacturers may define additional fields to provide value-added features. DOCSIS, however, does not require coordination among vendors when defining these additional fields in the configuration files; tlierefore, it is possible that two or more vendors could use the same identification for two different fields or could use the same field in different manners. As a result, if the MSO wishes to exploit the value-added features provided by the various cable modem vendors, then a database of configuration files that correspond to the particular makes and models of available modems would need to be maintained. Thus, as part of the provisioning process, the provisioning server(s) 32 may query the cable modem 36 to obtain a make and/or a model of the modem by reading the management information base (MIB) objects via the modem's simple network management protocol (SNMP) interface that are required by DOCSIS. Typically the DHCP server is responsible for identifying the correct configuration file to be downloaded; therefore, the DHCP software may be modified to query the modem to obtain the make and/or model information as discussed in the foregoing. Once the make and/or model of the cable modem 36 are identified, a custom configuration file corresponding to the cable modem 36 can be downloaded via the TFTP server. In addition to downloading a custom configuration file that corresponds to the particular make and/or model of the cable modem 36, it may also be desirable to download a new software image for the cable modem 36 from the provisioning server(s) 32 at block 112. DOCSIS compliant modems currently do not provide a mechanism for installing new software via a CPE interface; therefore, new software images are downloaded through the CATV network 28. Consequently, the MSO may store current software images for each make and possibly model of cable modem that can be used on its network, which can be downloaded through the TFTP server. One approach to downloading a new software image for a cable modem is to use the make and or model information obtained for selecting a configuration file to likewise select a software image to download. Preferably, the DHCP server obtains the identification of the current software image installed in the modem to avoid downloading a new image from the TFTP server if the cable modem already has an up-to-date software image. Unfortunately, the aforementioned approach to updating the software images of the cable modems on the CATV network 28 relies on the MSO keeping track of the latest releases of vendor software for the modems. Furthermore, if the software images are dependent on a particular CPE configuration, then automatic software distribution to the modems is impractical. An alternative solution for cable modem software distribution is for the provisioning server(s) 32 to provide a Web page interface by which a customer can select available software images from the MSO for downloading to their cable modem. In this embodiment, the automatic download feature for software is preferably disabled; however, automatic downloads could be reinstated for making system wide changes to the cable modems attached to the CATV network 28, such as upgrades to new DOCSIS standards. Returning to FIGS. 4A and 5, the cable modem 36 initiates service registration at block 114 by sending a registration request to the provisioning server(s) 32. The registration module 88 of the provisioning server(s) 32 may then query the cable modem 36 to obtain the MAC address. Furthermore, the registration module 88 may query the cable modem 36 to obtain the make and/or model information as f discussed hereinabove with respect to downloading a configuration file and a software image for the modem. If the MSO wishes to restrict the use of cable modems on the CATV network 28 to a particular brand or brands, then the registration module 88 can compare the make obtained for the cable modem 36 with a particular manufacturer identification to determine whether to proceed with registration. If the cable modem 36 does not conform to the authorized brand, then the provisioning server(s) 32 may deny the registration request. Otherwise, the registration request from the cable modem 36 will typically be granted. Following connector A to FIG. 4B, the provisioning process continues at block 116 where the provisioning server(s) 32 collects registration information from the customer, which includes both personal information and service information. To enter the information, a customer will typically enter the URL for the provisioning server(s) 32 into their Web browser to cause the provisioning server(s) 32 to send a provisioning or registration Web page to their CPE 46 (e.g., computer). As discussed hereinbefore, however, the provisioning or registration Web page may, alternatively, be pushed onto the customer's CPE 46 or the URL for the provisioning server(s) 32 may be downloaded to the cable modem 36 to relieve the customer of the duty of remembering the address. After the customer finishes entering their personal and service information on the provisioning or registration Web page, the completed Web page is submitted to the provisioning server(s) 32 where it is processed by the registration module 88. The registration module 88 then communicates with the subscriber server(s) 34 and billing server(s) 44 via the MSO intranet 42 to configure the customer's accounts for the particular services that have been requested and authorized at block 118. To allow the cable modem 36 to use these new services, the registration module 88 then updates the modem MAC address table in the CMTS 22 at block 122 to allow the cable modem 36 to access the services network 26, thereby assigning the cable modem 36 to the service zone. Finally, the cable modem 36 reboots at block 124 to initialize itself as a provisioned modem. Note that the registration steps performed at blocks 114 and 116 for an unprovisioned modem may likewise be performed for a provisioned modem that has lit already been assigned to the service zone to drop existing services, add new services, check the status of a bill, or perform other types of account administration activities. The flow chart of FIGS. 4 A - 4B show the architecture, functionality, and operation of a possible implementation of the cable modem service provisioning software. In this regard, each block may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in FIGS. 4 A - 4B. For example, two blocks shown in succession in FIGS. 4A - 4B may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. In concluding the detailed description, it should be noted that many variations and modifications can be made to the preferred embodiments without substantially departing from the principles of the present invention. All such variations and modifications are intended to be included herein within the scope of the present invention, as set forth in the following claims. 7

Claims: CLAIMS We claim: 1. A system that automatically provisions a cable modem for service in a data-over-cable network, comprising: means for executing an initialization sequence between the cable modem and a cable modem termination system (CMTS); first means for assigning the cable modem to a provisioning zone in which the cable modem is restricted to communicating with a provisioning network through the CMTS; means for registering customer information with a provisioning server that is in communication with the CMTS via the provisioning network; means for configuring at least one customer account on a subscriber server that is in communication with the provisioning server; and second means for assigning the cable modem to a service zone in which the cable modem is allowed to communicate with both the provisioning network and a services network through the CMTS. 2. A system as recited in Claim 1 , wherein the means for registering comprises: means for establishing a communication session between the provisioning server and customer premises equipment (CPE) that is in communication with the cable modem; and means for collecting customer information on the provisioning server that is transmitted from the CPE. 3. A system as recited in Claim 2, wherein the means for establishing comprises: means for downloading the universal resource locator (URL) of the provisioning server to the cable modem. 4. A system as recited in Claim 2, wherein the means for establishing comprises: means for pushing a registration Web page onto the CPE. 5. A. system as recited in Claim 2, wherein the means for registering further comprises: first means for querying the cable modem to obtain a media access control (MAC) address for the cable modem. 6. A system as recited in Claim 5, wherein the first means for querying further comprises: second means for querying the cable modem to obtain a make associated with the cable modem. 7. A system as recited in Claim 6, wherein the means for configuring and the second means for assigning are responsive to the second means for querying. 8. A system as recited in Claim 1 , wherein the customer information comprises personal information and service information. 9. A system as recited in Claim 1 , further comprising: first means for downloading a configuration file to the cable modem. 10. A system as recited in Claim 9, wherein the first means for downloading comprises: means for querying the cable modem to obtain a make associated with the cable modem; and second means for downloading a configuration file that corresponds to the make. 11. A system as recited in Claim 1 , further comprising: \°\ first means for downloading a software image to the cable modem. 12. A system as recited in Claim 11 , wherein the first means for downloading comprises: means for querying the cable modem to obtain a first version identification of a software image installed on the cable modem; and second means, responsive to the means for querying, for downloading a software image to the cable modem that has a second version identification that is different than the first version identification. 13. A system as recited in Claim 1 , wherein the first means for assigning comprises: means for updating a modem medium access control (MAC) address table in the CMTS. 14. A system as recited in Claim 1, wherein the second means for assigning comprises: means for updating a modem medium access control (MAC) address table in the CMTS. 15. A method of automatically provisioning a cable modem for service in a data-over-cable network, comprising the steps of: executing an initialization sequence between the cable modem and a cable modem termination system (CMTS); assigning the cable modem to a provisioning zone in which the cable modem is restricted to communicating with a provisioning network through the CMTS; registering customer information with a provisioning server that is in communication with the CMTS via the provisioning network; configuring at least one customer account on a subscriber server that is in communication with the provisioning server; and OP assigning the cable modem to a service zone in which the cable modem is allowed to comnumicate with both the provisioning network and a services network through the CMTS. 16. A method as recited in Claim 15, wherein the registering step comprises the steps of: establishing a communication session between the provisioning server and customer premises equipment (CPE) that is in communication with the cable modem; and collecting customer information on the provisioning server that is transmitted from the CPE. 17. A method as recited in Claim 16, wherein the establishing step comprises the step of: downloading the universal resource locator (URL) of the provisioning server to the cable modem. 18. A method as recited in Claim 16, wherein the establishing step comprises the step of: pushing a registration Web page onto the CPE. 19. A method as recited in Claim 16, wherein the registering step further comprises the step of: querying the cable modem to obtain a media access control (MAC) address for the cable modem. 20. A method as recited in Claim 19, wherein the querying step further comprises the step of: querying the cable modem to obtain a make associated with the cable modem. 21. A method as recited in Claim 20, wherein the configuring step comprises the step of: 1 \ configuring the at least one customer account on the subscriber server if the make corresponds to a predetermined manufacturer identification; and the assigning the cable modem to the service zone step comprises the step of: assigning the cable modem to the service zone if the make corresponds to the predetermined manufacturer identification. 22. A method as recited in Claim 15, wherein the customer information comprises personal information and service information. 23. A method as recited in Claim 15, further comprising the step of: downloading a configuration file to the cable modem. 24. A method as recited in Claim 23, wherein the downloading step comprises the steps of: querying the cable modem to obtain a make associated with the cable modem; and downloading a configuration file that corresponds to the make. 25. A method as recited in Claim 15, further comprising the step of: downloading a software image to the cable modem. 26. A method as recited in Claim 25, wherein the downloading step comprises the steps of: querying the cable modem to obtain a first version identification of a software image installed on the cable modem; and downloading a software image to the cable modem that has a second version identification that is different than the first version identification. 27. A method as recited in Claim 15, wherein the assigning the cable modem to the provisioning zone comprises the step of: updating a modem medium access control (MAC) address table in the CMTS. α 28. A method as recited in Claim 15, wherein the assigning the cable modem to the service zone comprises the step of: updating a modem medium access control (MAC) address table in the CMTS. 29. A computer program product for automatically provisioning a cable modem for service in a data-over-cable, comprising: a computer readable storage medium having computer readable program code means embodied therein, the computer readable program code means comprising: computer readable program code means for executing an initialization sequence between the cable modem and a cable modem termination system (CMTS); first computer readable program code means for assigning the cable modem to a provisioning zone in which the cable modem is restricted to communicating with a provisioning network through the CMTS; computer readable program code means for registering customer information with a provisioning server that is in communication with the CMTS via the provisioning network; computer readable program code means for configuring at least one customer account on a subscriber server that is in communication with the provisioning server; and second computer readable program code means for assigning the cable modem to a service zone in which the cable modem is allowed to communicate with both the provisioning network and a services network through the CMTS. 30. A computer program product as recited in Claim 29, wherein the computer readable program code means for registering comprises: computer readable program code means for establishing a communication session between the provisioning server and customer premises equipment (CPE) that is in communication with the cable modem; and computer readable program code means for collecting customer information on the provisioning server that is transmitted from the CPE. α 31. A computer program product as recited in Claim 30, wherein the computer readable program code means for establishing comprises: computer readable program code means for downloading the universal resource locator (URL) of the provisioning server to the cable modem. 32. A computer program product as recited in Claim 30, wherein the computer readable program code means for establishing comprises: computer readable program code means for pushing a registration Web page onto the CPE. 33. A computer program product as recited in Claim 30, wherein the computer readable program code means for registering further comprises: first computer readable program code means for querying the cable modem to obtain a media access control (MAC) address for the cable modem. 34. A computer program product as recited in Claim 33, wherein the first computer readable program code means for querying further comprises: second computer readable program code means for querying the cable modem to obtain a make associated with the cable modem. 35. A computer program product as recited in Claim 34, wherein the computer readable program code means for configuring and the second computer readable program code means for assigning are responsive to the second computer readable program code means for querying. 36. A computer program product as recited in Claim 29, wherein the customer information comprises personal information and service information. 37. A computer program product as recited in Claim 29, further comprising: first computer readable program code means for downloading a configuration file to the cable modem. 38. A computer program product as recited in Claim 37, wherein the first computer readable program code means for downloading comprises: computer readable program code means for querying the cable modem to obtain a make associated with the cable modem; and second computer readable program code means for downloading a configuration file that corresponds to the make. 39. A computer program product as recited in Claim 29, further comprising: first computer readable program code means for downloading a software image to the cable modem. 40. A computer program product as recited in Claim 39, wherein the first computer readable program code means for downloading comprises: computer readable program code means for querying the cable modem to obtain a first version identification of a software image installed on the cable modem; and second computer readable program code means, responsive to the computer readable program code means for querying, for downloading a software image to the cable modem that has a second version identification that is different than the first version identification. 41. A computer program product as recited in Claim 29, wherein the first computer readable program code means for assigning comprises: computer readable program code means for updating a modem medium access control (MAC) address table in the CMTS. 42. A computer program product as recited in Claim 29, wherein the second computer readable program code means for assigning comprises: 2^ computer readable program code means for updating a modem medium access control (MAC) address table in the CMTS. η e

Inventors: CONNOR BRENDA ANN, NOVI MATTHEW T, CONNOR, BRENDA, ANN, NOVI, MATTHEW, T.
Applicants: ERICSSON INC
Application year: 2000
Main classification: H04N7
IPC codes: H04L12, H04L29