WO2002048897A1 - Method and apparatus for selecting a download software image for a cable modem - Google Patents

Method and apparatus for selecting a download software image for a cable modem Download PDF

Info

Publication number
WO2002048897A1
WO2002048897A1 PCT/US2001/047185 US0147185W WO0248897A1 WO 2002048897 A1 WO2002048897 A1 WO 2002048897A1 US 0147185 W US0147185 W US 0147185W WO 0248897 A1 WO0248897 A1 WO 0248897A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
software
file
version
cable modem
Prior art date
Application number
PCT/US2001/047185
Other languages
French (fr)
Inventor
John Dinatale
Brian J. Scully
Thomas M. Ferreira
Stephen Foley
Original Assignee
Motorola, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola, Inc. filed Critical Motorola, Inc.
Priority to EP01989182A priority Critical patent/EP1340159A1/en
Priority to AU2002243294A priority patent/AU2002243294A1/en
Priority to KR10-2003-7006681A priority patent/KR20040004441A/en
Priority to CA002427674A priority patent/CA2427674A1/en
Publication of WO2002048897A1 publication Critical patent/WO2002048897A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present invention is related generally to cable modems, and more specifically to a method and apparatus for providing modem configuration information, in a single configuration file, for a plurality of different cable modem hardware platforms.
  • Internet access via a telephone modem is available today at speeds up to 56 Kbps.
  • the telephone-based modem modulates and demodulates data signals for transmission over the voice band-based telephony network.
  • Cable modems provide Internet access via the cable television system, which has a higher bandwidth and therefore can operate at higher data rates than the telephone system.
  • the cable modem provides connectivity between a user's computer and the cable system headend, at which point the cable operator provides access to the Internet, via, for example, a Tl line.
  • data transmitted from the network headend to the computer user is referred to as downstream data; data transmitted from the user to the network headend is referred to as upstream data.
  • FIG 1 is a block diagram of a cable system 10 including a cable modem 20 in communications with a cable system headend, not shown in Figure 1, from which the cable television program signals originate and which further provides a connection to the Internet or other external network.
  • a l-to-2 splitter 14 splits the incoming signal.
  • the television program signal is displayed on a television 18 under control of a set top box 16.
  • the second output from the l-to-2 splitter 14 provides connectivity to the cable modem 20.
  • Downstream signals from the headend are provided to an RF (radio frequency) tuner 22, tuned to a frequency band allocated to the cable modem 20 during the modem's start-up phase.
  • the downstream signal uses QAM
  • the demodulated signal is input to a media access controller 26.
  • the baseband data signal is input to a data and control logic unit 28 that controls overall operation of the cable modem 20 and further provides data control functions.
  • a computer 30 is connected to the data and control logic unit 28 for receiving data sent in the downstream direction and sending data in the upstream direction.
  • the outgoing data passes from the computer 30 or other data communications device, through the data and control logic unit 28, the media access controller 26, and finally is modulated by a QPSK (quadrature phase-shift keyed)/QAM modulator.
  • the choice of QPSK or QAM is set forth in configuration information provided to each cable modem 20.
  • the upstream data then passes through the l-to-2 splitter 14 for transmission to. the headend of the cable system and eventually for transmission to the external network.
  • the downstream signal employs 64/256 QAM signaling capable of delivering up to 30 to 40 Mbps of data over a 6 MHz cable channel.
  • Upstream data uses either QPSK or 16 QAM signaling with data rates available from 320 Kbps to 10 Mbps. Both the upstream and downstream data rates may be flexibly configured to match the data rate needs of the user.
  • the cable modem 20 utilized by a business user could be programmed to receive and transmit at relatively high data rates in both directions.
  • a residential user may have a cable modem 20 configured with wider bandwidth access (and therefore a higher data rate) in the downstream direction to download data from the Internet, while limited to a lower speed for upstream data transmissions.
  • upstream data from subscribers 50 transmitted over a cable network 51 is demodulated and processed by a cable modem termination system 52, that performs data switching as it routes data from the many subscribers 50 to the Internet, World Wide Web, or another external network, as shown.
  • the cable modem termination system 52 receives data from the external network and provides the necessary data switching to route the received data downstream to the appropriate subscriber 50 via a headend transmitter 54.
  • the headend transmitter 54 also receives the program signals (via a satellite downlink, terrestrial microwave or landlines) for broadcast to the subscribers 50.
  • the subscriber data is carried over a 6 MHz channel, which is the spectrum size allocated to a cable television channel for broadcast of program signals.
  • the program signal is received by the set top box 16 while the downstream data is separately received by the cable modem 20.
  • the RF tuner 22 tunes out the program signal from the cable modem 20 and the set top box 16 tunes out the data signal.
  • the number of upstream and downstream channels in a given cable modem termination system is engineered based on the service area, the number of users, the data rate promised to each user and the available spectrum.
  • An element management system (not shown) is yet another component of the cable system 10 located at the cable headend 45 for configuring and managing a plurality of cable modem termination systems 52.
  • the operation of the element management system includes provisioning, day-to-day administration of the system, monitoring, activating alarms and testing of the various components of the cable modem termination system 52.
  • a single element management system is located at the cable system network operations center and can support many cable modem termination systems 52 in a wide geographic area. When the cable modem 20 is powered-up, a connection is created to the cable modem termination system 52 via the cable network 51.
  • IP Internet protocol
  • DHCP dynamic host configuration protocol
  • Many such DHCP servers are available on the network, and the cable modem 20 simply broadcasts to all DHCP servers. Any DHCP server can answer the broadcast request. From the DHCP server, the cable modem 20 obtains an IP address, other IP related operational parameters, and the address of its configuration file.
  • the configuration file is then downloaded from a trivial file transfer protocol (TFTP) server, using the configuration file address supplied by the DHCP sever.
  • TFTP trivial file transfer protocol
  • a TFTP file consists of multiple 512-byte blocks in succession. The receiver processes the 512 byte blocks until a block having fewer than 512 bytes or zero bytes is received. At this point, the receiving device recognizes that the TFTP file transfer has ended.
  • the configuration file downloaded from the TFTP server includes various modem configuration setting such as access control information, downstream and upstream channel assignments, security configuration information, and the TFTP server address. Because the DHCP server provides only one configuration file address, all the cable modems on the cable system 10 are configured from this file.
  • a single common configuration file is inappropriate given that many different brands and models of cable modems are available.
  • the file name and location for the cable modem operating software is also included within the configuration file.
  • the contents of the configuration file are governed by the cable modem industry standard referred to as DOCSIS (Data Over Cable Service Interface Standard).
  • DOCSIS Data Over Cable Service Interface Standard
  • only a single operating software file name can be included within the configuration file.
  • use of the same operating software for the various cable modem brands and models precludes the operation of unique features and characteristics that certain cable modems may offer.
  • each modem would be required to have a unique configuration file at the TFTP server, from which its unique operating software could be derived.
  • the DHCP server would be required to maintain a list of configuration files for each cable modem type. Use of multiple configuration files is not deemed practical in a cable system 10. Further, modifying the DHCP servers to accommodate multiple configuration file names violates the spirit of the DHCP standard and is expensive since a large number of DHCP servers in existing cable systems would require modifications.
  • Figure 1 is a block diagram of the prior art components at a subscribers site
  • Figure 2 is a block diagram of a prior art cable system
  • Figure 3 is a flow chart for downloading the latest software configuration information for a cable modem in accordance with the teachings of the present invention.
  • Figure 4 illustrates the various fields of the operating software file name.
  • the process of configuring a cable modem is illustrated in the flow chart of Figure 3.
  • the Figure 3 process begins at a start step 70 when the cable modem 20 is powered up.
  • the cable modem 20 then contacts the cable modem termination system 52 at a step 72 to receive a channel assignment (see a step 74) for transmitting data in both the upstream and downstream directions over the cable system 10.
  • the cable modem 20 issues a request to a DHCP server for an IP address and also for the name of the configuration file containing the cable modem configuration parameters.
  • the IP address request is broadcast to all available DHCP servers.
  • the cable modem 20 simply chooses the IP address and configuration file name from the first DHCP server to respond to the broadcast request.
  • the IP address will be used during the interactive session to allow the cable modem 20 to reach and communicate with sites on the Internet or other external network.
  • the IP address is "leased" to the cable modem for a configurable period of time.
  • the cable modem requests a renewal of the IP address from the DHCP server.
  • the renewal request is granted.
  • the DHCP server sends the name and address (i.e., the TFTP server address) of the configuration file to the cable modem 20.
  • each DHCP server contains the same configuration file name.
  • each cable modem in the cable system 10 receives this same configuration file name in response to its request.
  • the configuration file refers to a single operating software file name.
  • operation of each cable modem is controlled by the same operating software.
  • the contents of the configuration file are used to direct the cable modem to its unique operating software file, which is based on the cable modem brand and model number, or an assigned cable modem class designator.
  • the cable modem 20 uploads the configuration file, using the name supplied at the step 78, from the TFTP server.
  • TFTP transmits data in serial blocks of 512 bytes.
  • the blocks are processed until a block containing fewer than 512 bytes or a block containing zero bytes is received. Either of the these two conditions is an indication that the TFTP session has concluded.
  • the configuration file includes many configuration settings including both standard configurations that are universal across all cable systems and vendor-specific configuration settings for a particular cable modem hardware platform.
  • the contents of the configuration file are in a binary (.bin) type/length/value format.
  • the type field is a single byte identifier defining the configuration parameter set forth in the value field.
  • the length field is also a single byte field identifying the length of the immediately subsequent value field.
  • the value field can range from 1 to 254 bytes and contains the specific value for the configuration parameter.
  • the configuration file downloaded at the step 80 allows the cable system operator to configure all of its cable modems, irrespective of the manufacturer of the cable modem or the model, to operate with the operating software intended specifically for that cable modem.
  • the configuration file in place of the operating software file name as taught by the prior art, includes the name of a cable modem operating software table. Also, embedded within the table file name is the latest revision number of the table. The table itself contains a modem hardware identifier (e.g., a class designator) and the operating software file name (including the latest revision number) for each modem hardware identifier.
  • the configuration file is validated. If the configuration file is valid, the operating software field of the configuration file is read at a step 84.
  • this field contains the file name of the relevant cable modem operating software. Disadvantageously this single file name and the single operating software file to which it relates, cannot accommodate the wide variety of cable modems used on a cable system, including cable modems from various manufacturers and also different model numbers from a single manufacturer. For example, when a cable modem manufacturer issues a new cable modem model with a different central processing unit than previous models, the operating software must be upgraded to take advantage of the additional features available from the new processor.
  • the operating software table file name read at the step 84 is compared with the software table file name downloaded during a previous power-up process and now stored in the cable modem 20. If the version numbers do not match, then processing moves to a step 88 where the latest version of the operating software table file is downloaded from the TFTP file server. Recall that the TFTP file server address was provided to the cable modem 20 from the DHCP server at the step 78.
  • the cable modem 20 first stores the earlier version of the operating software table file before downloading the new version at the step 88. In the . event that the download process corrupts the file or the file is unusable for whatever reason, the cable modem 20 can continue to utilize the old file version until a new version is successfully downloaded.
  • step 88 If the current revision file stored in the cable modem 20 is in fact the latest version of that file, or once the latest version is downloaded at the step 88, processing continues to a step 90 where the revision table file is consulted using the modem class or other hardware identifier as an index into the table.
  • the left hand column identifies each modem on the cable system 10 by a modem class number.
  • the right hand column identifies the operating software by file name, for each modem class.
  • Figure 4 is an exemplary operating software file name wherein the meaning of the various elements of that file name are identified.
  • a column 110 identifies the cable modem vendor manufacturer.
  • Columns 112, 114 and 116 identify, respectively, major revision numbers, minor revision numbers and patch revision numbers.
  • the two columns identified by reference character 118 are utilized by the modem vendor to internally track various stages of a new software release.
  • the reference character 120 indicates the software generation for the modem.
  • the document extension 122 indicates that the contents of the file are in binary form.
  • each cable modem include a hardware identifier (which in one embodiment would be stored in non- volatile memory during the manufacturing process) so that the operating software table can be used to identify the latest operating software version.
  • the file name for the applicable cable modem operating software is mot030000t51p5g2.bin. Note that each revision to an operating software file is reflected in a change to the file name. Therefore, at a step 92 the cable modem 20 compares the operating software file name from the table with the operating software file name stored in the cable modem memory, as last used for operating the cable modem 20. A match between these two file names indicates that the cable modem 20 is already using the latest operating software.
  • the cable modem 20 stores the operating software table file name, so that at the next power-up this stored value can be compared with the value in the operating software field of the configuration file (as set forth at the steps 84 and 86) to determine whether any changes have been made in the table.
  • step 92 If the decision step 92 indicates that the cable modem 20 is not using the latest version of the cable modem operating software, then processing proceeds to a step 96 where the cable modem downloads the latest operating software version from the TFTP server using TFTP protocol, where the TFTP server address was obtained from the DHCP server at the step 76.
  • the latest operating software version will always be downloaded, even if the file name reflects only a minor revision or a patch change from the last version.
  • the cable modem 20 Prior to execution of the download step 96, the cable modem 20 first copies and stores the old software version into another memory location so that when the new download overwrites the old version in memory, the old version will still be available in the event the new operating software is corrupted during the download process or for some reasons is unusable. After the download at the step 96 the table file name is stored at the step 94. The modem then begins its operational state as shown at a step 98.
  • the operating software file name must be changed to reflect the revision.
  • the operating software table file is then updated with the revised operating software file name in accord with the modem identifier. Finally, the table file name must also be revised to reflect the operating software revision.
  • the DHCP server can interrogate the. cable modem 20 to determine the cable modem brand and model number, i.e., the modem class. Based on this information, the DHCP server identifies the applicable cable modem operating software file name as shown in the table above. The DHCP server then sends this file name to the cable modem 20 for comparison with the current operating software version stored in the cable modem. If the two software versions are the same, then the cable modem can move to its operational state. If the two versions are different, then the cable modem 20 must download the new operating software version as shown at the step 96 of Figure 3.
  • the cable modem determines the version number for the currently used operating software and compares that value with the version value set forth in the table. If the version numbers do not match, the cable modem is not using the latest operating software version and should therefore download that version before proceeding, to ensure that all the capabilities included within the cable modem are utilized during operation.
  • the process of version checking as indicated by the steps 86 and 92 of Figure 3 can be deleted and in its place the files can be downloaded each time the Figure 3 process is executed.
  • the operating software table and the operating software file are downloaded during each start-up process, as compared with the Figure 3 process where these files are downloaded only if the version number has changed from the last download.

Abstract

A data over cable modem requires initialization at each power-up. The initialization process includes downloading (88) a configuration file that includes the file name of an operating software table file. The cable modem compares (86) the operating software table file name with the version currently stored within the cable modem. If the two versions do not match, the cable modem downloads the new operating software table file. The operating software table file (90) lists cable modems according to class (based on the manufacturer and/or model number) and identifies the latest version of the operating software for each cable modem class. The cable modem determines the latest operating software version for its class and if this version differs from the version currently in use, the cable modem downloads (96) the latest operating software version.

Description

METHOD AND APPARATUS FOR SELECTING A DOWNLOAD SOFTWARE IMAGE FOR A CABLE MODEM
BACKGROUND OF THE INVENTION
The present invention is related generally to cable modems, and more specifically to a method and apparatus for providing modem configuration information, in a single configuration file, for a plurality of different cable modem hardware platforms.
Internet access via a telephone modem is available today at speeds up to 56 Kbps. The telephone-based modem modulates and demodulates data signals for transmission over the voice band-based telephony network. Cable modems provide Internet access via the cable television system, which has a higher bandwidth and therefore can operate at higher data rates than the telephone system. The cable modem provides connectivity between a user's computer and the cable system headend, at which point the cable operator provides access to the Internet, via, for example, a Tl line. In a cable network, data transmitted from the network headend to the computer user is referred to as downstream data; data transmitted from the user to the network headend is referred to as upstream data.
Figure 1 is a block diagram of a cable system 10 including a cable modem 20 in communications with a cable system headend, not shown in Figure 1, from which the cable television program signals originate and which further provides a connection to the Internet or other external network. At the subscriber's premises, a l-to-2 splitter 14 splits the incoming signal. The television program signal is displayed on a television 18 under control of a set top box 16.
The second output from the l-to-2 splitter 14 provides connectivity to the cable modem 20. Downstream signals from the headend are provided to an RF (radio frequency) tuner 22, tuned to a frequency band allocated to the cable modem 20 during the modem's start-up phase. Generally, the downstream signal uses QAM
(quadrature amplitude modulation) and therefore is demodulated in a QAM demodulator 24. The demodulated signal is input to a media access controller 26. The baseband data signal is input to a data and control logic unit 28 that controls overall operation of the cable modem 20 and further provides data control functions. A computer 30 is connected to the data and control logic unit 28 for receiving data sent in the downstream direction and sending data in the upstream direction. The outgoing data passes from the computer 30 or other data communications device, through the data and control logic unit 28, the media access controller 26, and finally is modulated by a QPSK (quadrature phase-shift keyed)/QAM modulator. The choice of QPSK or QAM is set forth in configuration information provided to each cable modem 20. The upstream data then passes through the l-to-2 splitter 14 for transmission to. the headend of the cable system and eventually for transmission to the external network.
In one embodiment, the downstream signal employs 64/256 QAM signaling capable of delivering up to 30 to 40 Mbps of data over a 6 MHz cable channel. Upstream data uses either QPSK or 16 QAM signaling with data rates available from 320 Kbps to 10 Mbps. Both the upstream and downstream data rates may be flexibly configured to match the data rate needs of the user. For instance, the cable modem 20 utilized by a business user could be programmed to receive and transmit at relatively high data rates in both directions. A residential user, on the other hand, may have a cable modem 20 configured with wider bandwidth access (and therefore a higher data rate) in the downstream direction to download data from the Internet, while limited to a lower speed for upstream data transmissions.
At a cable system headend 45, illustrated in Figure 2, upstream data from subscribers 50 transmitted over a cable network 51 is demodulated and processed by a cable modem termination system 52, that performs data switching as it routes data from the many subscribers 50 to the Internet, World Wide Web, or another external network, as shown. Similarly, the cable modem termination system 52 receives data from the external network and provides the necessary data switching to route the received data downstream to the appropriate subscriber 50 via a headend transmitter 54. The headend transmitter 54 also receives the program signals (via a satellite downlink, terrestrial microwave or landlines) for broadcast to the subscribers 50. The subscriber data is carried over a 6 MHz channel, which is the spectrum size allocated to a cable television channel for broadcast of program signals. At the subscriber's location, the program signal is received by the set top box 16 while the downstream data is separately received by the cable modem 20. The RF tuner 22 tunes out the program signal from the cable modem 20 and the set top box 16 tunes out the data signal. The number of upstream and downstream channels in a given cable modem termination system is engineered based on the service area, the number of users, the data rate promised to each user and the available spectrum.
An element management system (not shown) is yet another component of the cable system 10 located at the cable headend 45 for configuring and managing a plurality of cable modem termination systems 52. The operation of the element management system includes provisioning, day-to-day administration of the system, monitoring, activating alarms and testing of the various components of the cable modem termination system 52. Generally, a single element management system is located at the cable system network operations center and can support many cable modem termination systems 52 in a wide geographic area. When the cable modem 20 is powered-up, a connection is created to the cable modem termination system 52 via the cable network 51. This connection is made using the Internet protocol (IP) format so that data from the Internet and World Wide Web received by the cable termination system 52, can be forwarded downstream to a cable modem 20 of a subscriber 50 via the cable network 51. In a typical cable modem initialization (i.e., power-up) scenario, the cable modem 20 contacts a dynamic host configuration protocol server using the dynamic host configuration protocol (DHCP). Many such DHCP servers are available on the network, and the cable modem 20 simply broadcasts to all DHCP servers. Any DHCP server can answer the broadcast request. From the DHCP server, the cable modem 20 obtains an IP address, other IP related operational parameters, and the address of its configuration file. The configuration file is then downloaded from a trivial file transfer protocol (TFTP) server, using the configuration file address supplied by the DHCP sever. As is well known in the art, TFTP is a simple protocol for transferring files where any error occurring during file transfer typically causes a termination of the file transfer process. TFTP offers limited error correcting capability. A TFTP file consists of multiple 512-byte blocks in succession. The receiver processes the 512 byte blocks until a block having fewer than 512 bytes or zero bytes is received. At this point, the receiving device recognizes that the TFTP file transfer has ended. The configuration file downloaded from the TFTP server includes various modem configuration setting such as access control information, downstream and upstream channel assignments, security configuration information, and the TFTP server address. Because the DHCP server provides only one configuration file address, all the cable modems on the cable system 10 are configured from this file.
A single common configuration file is inappropriate given that many different brands and models of cable modems are available. The file name and location for the cable modem operating software is also included within the configuration file.
Therefore, all cable modems on the system will have to use the same operating software. The contents of the configuration file are governed by the cable modem industry standard referred to as DOCSIS (Data Over Cable Service Interface Standard). In accord with that standard, only a single operating software file name can be included within the configuration file. Disadvantageously, use of the same operating software for the various cable modem brands and models precludes the operation of unique features and characteristics that certain cable modems may offer. However, to support multiple cable modem brands and models, each modem would be required to have a unique configuration file at the TFTP server, from which its unique operating software could be derived. Further, then the DHCP server would be required to maintain a list of configuration files for each cable modem type. Use of multiple configuration files is not deemed practical in a cable system 10. Further, modifying the DHCP servers to accommodate multiple configuration file names violates the spirit of the DHCP standard and is expensive since a large number of DHCP servers in existing cable systems would require modifications.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention can be more easily understood and the further advantages and uses thereof more readily apparent, when considered in view of the description of the preferred embodiments and the following figures in which:
Figure 1 is a block diagram of the prior art components at a subscribers site;
Figure 2 is a block diagram of a prior art cable system; Figure 3 is a flow chart for downloading the latest software configuration information for a cable modem in accordance with the teachings of the present invention; and
Figure 4 illustrates the various fields of the operating software file name.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Before describing in detail the particular method and apparatus for downloading the unique configuration file (and the latest revision thereof) for a cable modem in accordance with the present invention, it should be observed that the present invention resides primarily in a combination of steps and apparatus. Accordingly, the hardware components and method steps have been represented by conventional elements in the drawings, showing only those specific details that are pertinent to the present invention so as not to obscure the disclosure with structural details that will be readily apparent to those skilled in the art having the benefit of the description herein. As discussed above, there remains a need for a method and apparatus to allow a cable modem vendor and thus a cable modem operator to use one configuration file for all cable modem hardware platforms, given the constraints of certain cable modem standards and available hardware and software elements, while providing unique operating software for the various cable modem brands and models. In particular, the DOCSIS standard (Data Over Cable Service Interface Specification) sets forth the mechanism by which configuration information and operating software version information is supplied to 'a cable modem, such as the cable modem 20 of Figure 1. Therefore, the present invention operates within the constraints of these standards.
The process of configuring a cable modem, which must be executed for each power up cycle, is illustrated in the flow chart of Figure 3. The Figure 3 process begins at a start step 70 when the cable modem 20 is powered up. The cable modem 20 then contacts the cable modem termination system 52 at a step 72 to receive a channel assignment (see a step 74) for transmitting data in both the upstream and downstream directions over the cable system 10. At a step 76, the cable modem 20 issues a request to a DHCP server for an IP address and also for the name of the configuration file containing the cable modem configuration parameters. The IP address request is broadcast to all available DHCP servers. The cable modem 20 simply chooses the IP address and configuration file name from the first DHCP server to respond to the broadcast request. The IP address will be used during the interactive session to allow the cable modem 20 to reach and communicate with sites on the Internet or other external network. The IP address is "leased" to the cable modem for a configurable period of time. Upon expiration of the lease period, the cable modem requests a renewal of the IP address from the DHCP server. Generally, the renewal request is granted. At a step 78, the DHCP server sends the name and address (i.e., the TFTP server address) of the configuration file to the cable modem 20.
In the prior art, each DHCP server contains the same configuration file name. Thus, each cable modem in the cable system 10 receives this same configuration file name in response to its request. In the prior art, in accordance with the DOCSIS standard, the configuration file refers to a single operating software file name. Thus, operation of each cable modem is controlled by the same operating software. In accordance with the teaching of the present invention, the contents of the configuration file are used to direct the cable modem to its unique operating software file, which is based on the cable modem brand and model number, or an assigned cable modem class designator. At a step 80, the cable modem 20 uploads the configuration file, using the name supplied at the step 78, from the TFTP server. As is known by those skilled in the art, TFTP transmits data in serial blocks of 512 bytes. At the receiving end, the blocks are processed until a block containing fewer than 512 bytes or a block containing zero bytes is received. Either of the these two conditions is an indication that the TFTP session has concluded.
As is known in the art, in addition to the cable modem operating software file name, which is the subject of the present invention, the configuration file includes many configuration settings including both standard configurations that are universal across all cable systems and vendor-specific configuration settings for a particular cable modem hardware platform. The contents of the configuration file are in a binary (.bin) type/length/value format. The type field is a single byte identifier defining the configuration parameter set forth in the value field. The length field is also a single byte field identifying the length of the immediately subsequent value field. The value field can range from 1 to 254 bytes and contains the specific value for the configuration parameter.
In accordance with the teachings of the present invention, the configuration file downloaded at the step 80 allows the cable system operator to configure all of its cable modems, irrespective of the manufacturer of the cable modem or the model, to operate with the operating software intended specifically for that cable modem. According to the present invention, in place of the operating software file name as taught by the prior art, the configuration file includes the name of a cable modem operating software table. Also, embedded within the table file name is the latest revision number of the table. The table itself contains a modem hardware identifier (e.g., a class designator) and the operating software file name (including the latest revision number) for each modem hardware identifier.
At a step 82, the configuration file is validated. If the configuration file is valid, the operating software field of the configuration file is read at a step 84. In the prior art, this field contains the file name of the relevant cable modem operating software. Disadvantageously this single file name and the single operating software file to which it relates, cannot accommodate the wide variety of cable modems used on a cable system, including cable modems from various manufacturers and also different model numbers from a single manufacturer. For example, when a cable modem manufacturer issues a new cable modem model with a different central processing unit than previous models, the operating software must be upgraded to take advantage of the additional features available from the new processor. If all the modems on a cable system are constrained to operate using the lowest common denominator operating software, certain features and capabilities that are incorporated into the hardware components will not be available Thus it is distinctly advantageous to identify the unique and most optimum operating software for each cable modem.
At a step 86, the operating software table file name read at the step 84 is compared with the software table file name downloaded during a previous power-up process and now stored in the cable modem 20. If the version numbers do not match, then processing moves to a step 88 where the latest version of the operating software table file is downloaded from the TFTP file server. Recall that the TFTP file server address was provided to the cable modem 20 from the DHCP server at the step 78.
Note that since the operating software table file name includes revision information, whenever an operating software file referenced in the table is changed, the file name must be changed also. Such operating software changes could be made, for instance due to a major software revision adding new features, a minor software revision fixing software bugs, or a patch revision wherein only a few code lines are modified. It should be further noted that the cable modem 20 first stores the earlier version of the operating software table file before downloading the new version at the step 88. In the. event that the download process corrupts the file or the file is unusable for whatever reason, the cable modem 20 can continue to utilize the old file version until a new version is successfully downloaded.
If the current revision file stored in the cable modem 20 is in fact the latest version of that file, or once the latest version is downloaded at the step 88, processing continues to a step 90 where the revision table file is consulted using the modem class or other hardware identifier as an index into the table.
An exemplary operating software table file is shown in the table below:
Modem Class Operating Software File Name
32 mot020000t51p5g2.bin 33 mot020000t51p5g2.bin
34 mot030000t51p5g2.bin
35 mot030100t51p5g2.bin
36 mot030001t51p5g2.bin
The left hand column identifies each modem on the cable system 10 by a modem class number. The right hand column identifies the operating software by file name, for each modem class. Figure 4 is an exemplary operating software file name wherein the meaning of the various elements of that file name are identified. A column 110 identifies the cable modem vendor manufacturer. Columns 112, 114 and 116, identify, respectively, major revision numbers, minor revision numbers and patch revision numbers. The two columns identified by reference character 118 are utilized by the modem vendor to internally track various stages of a new software release. The reference character 120 indicates the software generation for the modem. Finally, the document extension 122 indicates that the contents of the file are in binary form.
. Implementation of the present invention requires that each cable modem include a hardware identifier (which in one embodiment would be stored in non- volatile memory during the manufacturing process) so that the operating software table can be used to identify the latest operating software version. Assuming the modem class is identified by class number 34, then the file name for the applicable cable modem operating software is mot030000t51p5g2.bin. Note that each revision to an operating software file is reflected in a change to the file name. Therefore, at a step 92 the cable modem 20 compares the operating software file name from the table with the operating software file name stored in the cable modem memory, as last used for operating the cable modem 20. A match between these two file names indicates that the cable modem 20 is already using the latest operating software. Therefore, it can be concluded that the new revision table file name must have been due to a change in another operating software file name, not a change in the operating software file name for this modem. At a step 94, the cable modem 20 stores the operating software table file name, so that at the next power-up this stored value can be compared with the value in the operating software field of the configuration file (as set forth at the steps 84 and 86) to determine whether any changes have been made in the table.
If the decision step 92 indicates that the cable modem 20 is not using the latest version of the cable modem operating software, then processing proceeds to a step 96 where the cable modem downloads the latest operating software version from the TFTP server using TFTP protocol, where the TFTP server address was obtained from the DHCP server at the step 76. In one embodiment of the present invention, the latest operating software version will always be downloaded, even if the file name reflects only a minor revision or a patch change from the last version. Prior to execution of the download step 96, the cable modem 20 first copies and stores the old software version into another memory location so that when the new download overwrites the old version in memory, the old version will still be available in the event the new operating software is corrupted during the download process or for some reasons is unusable. After the download at the step 96 the table file name is stored at the step 94. The modem then begins its operational state as shown at a step 98.
In accordance with the teaching of the present invention, whenever operating software is revised for a particular cable modem, the operating software file name must be changed to reflect the revision. The operating software table file is then updated with the revised operating software file name in accord with the modem identifier. Finally, the table file name must also be revised to reflect the operating software revision.
In another embodiment of the present invention, the DHCP server can interrogate the. cable modem 20 to determine the cable modem brand and model number, i.e., the modem class. Based on this information, the DHCP server identifies the applicable cable modem operating software file name as shown in the table above. The DHCP server then sends this file name to the cable modem 20 for comparison with the current operating software version stored in the cable modem. If the two software versions are the same, then the cable modem can move to its operational state. If the two versions are different, then the cable modem 20 must download the new operating software version as shown at the step 96 of Figure 3.
In yet another embodiment of the present invention, in lieu of the file name set forth in the operating software table file, (see table above) there can be displayed simply a version number indicative of the latest version of the operating software for the associated cable modem class. In this embodiment, upon retrieving and reading the operating software table, the cable modem determines the version number for the currently used operating software and compares that value with the version value set forth in the table. If the version numbers do not match, the cable modem is not using the latest operating software version and should therefore download that version before proceeding, to ensure that all the capabilities included within the cable modem are utilized during operation. In yet another embodiment of the present invention, the process of version checking as indicated by the steps 86 and 92 of Figure 3, can be deleted and in its place the files can be downloaded each time the Figure 3 process is executed. Thus, in this embodiment, the operating software table and the operating software file are downloaded during each start-up process, as compared with the Figure 3 process where these files are downloaded only if the version number has changed from the last download.
While the invention has been described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes made be made and equivalent elements may be substituted for elements thereof without departing from the scope of the present invention. In addition, modifications may be made to adapt the teachings of the present invention to a particular situation without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.

Claims

WHAT IS CLAIMED IS:
1. In a network including a plurality of network devices, each network device assigned to a class based on device characteristics, a method for providing a software file to the network device, said method comprising: (a) downloading a table to the network device, wherein the table includes a list of software file names, wherein each software file name is associated with a network device class;
(b) determining the network device class;
(c) using the network device class as an index into the table, determining the software file applicable to the network device; and
(d) downloading the software file identified at the step (c).
2. The method of claim 1 wherein the network device is a cable modem operational in a data-over-cable network.
3. The method of claim 1 wherein the network device class is determined by at least one of the network device manufacturer and the network device model number.
4. The method of claim 3 wherein the network device class is stored within the network device.
5. The method of claim 1 wherein the downloaded software file provides certain operational information for the network device.
6. The method of claim 1 wherein the downloaded software file includes the network device operating software.
7. The method of claim 1 wherein step (c) further comprises:
(cl) using the network device as an index into the table, determining the software file applicable to the network device; and
(c2) comparing the version of the software file determined at the step (cl) with the version of the software file used by the network device, wherein if the result of the step (c2) indicates a difference between the compared versions, then the step (d) is executed.
8. The method of claim 7 wherein the version number of the software file is included within the software file name.
9. The method of claim 1 wherein the table is included within a configuration file for the network device.
10. The method of claim 9 wherein the table file name is included within the operating software field of the configuration file, and wherein the table is downloaded using the table file name.
11. In a network including a plurality of network devices, wherein each network device is assigned to a class based on device characteristics, a method for providing operational software to each network device, said method comprising:
(a) downloading a configuration file to the network device, wherein the configuration file includes the file name of a software table;
(b) determining the version of the software table;
(c) comparing the version of the software table with the version stored in the network device;
(d) if the result of the step (c) indicates a difference between the compared versions, downloading the software table identified at the step (b), wherein the software table includes a list of operational software file names, wherein each file name is associated with a network device class;
(e) determining the network device class;
(f) using the network device class as an index into the software table, determining the operational software applicable to the network device;
(g) comparing the version of the operational software determined at the step (f) with the version of the operational software used by the network device; and
(h) if the result of the step (g) indicates a difference between the compared versions, downloading the operational software identified at the step (f).
12. The method of claim 11 wherein the network device is a cable modem operational in a data-over-cable network.
13. The method of claim 11 wherein the network device class is determined by at least one of the network device manufacturer and the network device model number, and wherein the network device class is stored in the network device.
14. The method of claim 11 wherein the version number of the operational software is included within the operational software file name, wherein the file name of the operational software is determined at the step (f), and wherein the step (g) further comprises comparing the file name of the operational software determined at the step (f) with the file name of the operational software used by the network device.
15. The method of claim 11 wherein the version number of the software table is included within the software table file name, wherein the file name of the software table is determined at the step (b), and wherein the step (c) further comprises comparing the file name of the software table determined at the step (b) with the file name of the software table used by the network device.
16. The method of claim 11 further comprising determining the validity of the configuration file prior to downloading the configuration file at the step (a).
17. In a network including a plurality of network devices, wherein each network device is assigned to a class based on one or more device characteristics, a method for providing operational software to each network device, said method comprising:
(a) downloading a configuration file to the network device, wherein the configuration file includes a software table;
(b) determining the version of the software table;
(c) comparing the version of the software table with the version stored in the network device;
(d) if the result of the step (c) indicates a difference between the compared versions, downloading the software table identified at the step (b), wherein the software table includes operational software file names, wherein each operational software file is associated with a network device class;
(e) determining the network device class;
(f) using the network device class as an index into the software table, determining the operational software file applicable to the network device;
(g) comparing the version of the operational software file determined at the step (f) with the version of the operational software file used by the network device; and
(h) if the result of the step (g) indicates a difference between the compared versions, downloading the operational software file identified at the step (f).
18. An article of manufacture comprising: a computer-usable medium having computer-readable program code embodied therein for providing an initialization file to a network device, comprising:
(a) computer-readable program code configured to cause a computer to download a table to the network device, wherein the table includes a list of file names, wherein each file name is associated with a network device class;
(b) computer-readable program code configured to determine the network device class;
(c) computer-readable program code configured to cause a computer to determine the file name applicable to the network device, using the network device class as an index into the table;
(d) computer-readable program code configured to cause a computer to compare the version of the file determined at the step (c) with the version of the file used by the network device; and
(e) computer-readable program code configured to cause a computer to download the file identified at the step (c) if the result of the step (d) indicates a difference between the compared versions.
19. The article of manufacture of claim 18 wherein the computer-readable program code is embodied in a network device.
PCT/US2001/047185 2000-11-17 2001-10-30 Method and apparatus for selecting a download software image for a cable modem WO2002048897A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP01989182A EP1340159A1 (en) 2000-11-17 2001-10-30 Method and apparatus for selecting a download software image for a cable modem
AU2002243294A AU2002243294A1 (en) 2000-11-17 2001-10-30 Method and apparatus for selecting a download software image for a cable modem
KR10-2003-7006681A KR20040004441A (en) 2000-11-17 2001-10-30 Method and apparatus for selecting a download software image for a cable modem
CA002427674A CA2427674A1 (en) 2000-11-17 2001-10-30 Method and apparatus for selecting a download software image for a cable modem

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71553400A 2000-11-17 2000-11-17
US09/715,534 2000-11-17

Publications (1)

Publication Number Publication Date
WO2002048897A1 true WO2002048897A1 (en) 2002-06-20

Family

ID=24874437

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/047185 WO2002048897A1 (en) 2000-11-17 2001-10-30 Method and apparatus for selecting a download software image for a cable modem

Country Status (6)

Country Link
EP (1) EP1340159A1 (en)
KR (1) KR20040004441A (en)
CN (1) CN1474978A (en)
AU (1) AU2002243294A1 (en)
CA (1) CA2427674A1 (en)
WO (1) WO2002048897A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1543428A2 (en) * 2002-08-19 2005-06-22 Symbol Technologies, Inc. System and method for automating firmware maintenance
US7305460B2 (en) * 2000-11-20 2007-12-04 Lg Electronics Inc. Initialization file downloading apparatus and method of cable modem
US8522232B1 (en) * 2009-07-06 2013-08-27 Arris Enterprises, Inc. Decoupling software loads for customer premise equipment
US8839220B2 (en) * 2003-08-08 2014-09-16 Arris Enterprises, Inc. Method for remotely updating software for devices in a broadband network

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385514B (en) * 2011-10-20 2014-10-01 百度在线网络技术(北京)有限公司 Method, equipment and system for conducting management operation on software in centralized way
CN103067632A (en) * 2012-12-18 2013-04-24 北京君正集成电路股份有限公司 Method and device for modem compiling
WO2017031650A1 (en) * 2015-08-21 2017-03-02 华为技术有限公司 Online configuration method, system, and apparatus for cable modem
CN113377418A (en) * 2021-05-10 2021-09-10 宇龙计算机通信科技(深圳)有限公司 File loading method, storage medium and equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819042A (en) * 1996-02-20 1998-10-06 Compaq Computer Corporation Method and apparatus for guided configuration of unconfigured network and internetwork devices
US6012088A (en) * 1996-12-10 2000-01-04 International Business Machines Corporation Automatic configuration for internet access device
US6049826A (en) * 1998-02-04 2000-04-11 3Com Corporation Method and system for cable modem initialization using dynamic servers
US6094679A (en) * 1998-01-16 2000-07-25 Microsoft Corporation Distribution of software in a computer network environment
US6212563B1 (en) * 1998-10-01 2001-04-03 3Com Corporation Method and system for setting and managing externally provided internet protocol addresses using the dynamic host configuration protocol
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819042A (en) * 1996-02-20 1998-10-06 Compaq Computer Corporation Method and apparatus for guided configuration of unconfigured network and internetwork devices
US6012088A (en) * 1996-12-10 2000-01-04 International Business Machines Corporation Automatic configuration for internet access device
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US6094679A (en) * 1998-01-16 2000-07-25 Microsoft Corporation Distribution of software in a computer network environment
US6049826A (en) * 1998-02-04 2000-04-11 3Com Corporation Method and system for cable modem initialization using dynamic servers
US6212563B1 (en) * 1998-10-01 2001-04-03 3Com Corporation Method and system for setting and managing externally provided internet protocol addresses using the dynamic host configuration protocol

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305460B2 (en) * 2000-11-20 2007-12-04 Lg Electronics Inc. Initialization file downloading apparatus and method of cable modem
EP1543428A2 (en) * 2002-08-19 2005-06-22 Symbol Technologies, Inc. System and method for automating firmware maintenance
EP1543428A4 (en) * 2002-08-19 2008-01-23 Symbol Technologies Inc System and method for automating firmware maintenance
US8839220B2 (en) * 2003-08-08 2014-09-16 Arris Enterprises, Inc. Method for remotely updating software for devices in a broadband network
US8522232B1 (en) * 2009-07-06 2013-08-27 Arris Enterprises, Inc. Decoupling software loads for customer premise equipment

Also Published As

Publication number Publication date
CN1474978A (en) 2004-02-11
KR20040004441A (en) 2004-01-13
CA2427674A1 (en) 2002-06-20
EP1340159A1 (en) 2003-09-03
AU2002243294A1 (en) 2002-06-24

Similar Documents

Publication Publication Date Title
KR100672400B1 (en) Apparatus and method for configuration file downloading in cable modem
US6765925B1 (en) Apparatus and method of maintaining state in a data transmission system
EP1182818B1 (en) Communication parameter adjustment system in an Internet compatible bi-directional communication system
CN1679263B (en) Application level gateway and firewall rule set download validation
US20090125958A1 (en) Method of upgrading a platform in a subscriber gateway device
JP4787467B2 (en) Method used in bidirectional communication apparatus and bidirectional communication apparatus
US20040073902A1 (en) Firmware upgrade method for network device through digital subscriber line
CN101682712A (en) Management methods of a video device and corresponding video device
CA2498280C (en) Adaptive communication modes
WO2002048897A1 (en) Method and apparatus for selecting a download software image for a cable modem
US6892229B1 (en) System and method for assigning dynamic host configuration protocol parameters in devices using resident network interfaces
US7334252B1 (en) Rapid cable modem re-provisioning in a cable network
US20090094660A1 (en) Method and apparatus for configuring a device from a network
US20020108120A1 (en) System and method for tuning to an in-band channel and for identification via return-path
KR100582437B1 (en) Method and apparatus for determining the correct operating software version for a network device
Cisco Catalyst Stack Release Note Software Version 1.1.4
Cisco Catalyst Stack Release Note Software Version 1.1.4
WO2004023698A2 (en) Dynamically changing communication modes
KR20000047269A (en) Subscriber software version confirmation system and automatic software upgrade system thereby in multimedia satellite communication system
KR20030031734A (en) Method for upgrading cable modem software and bootrom of a cable modem
KR20020028768A (en) A cable modem for displaying error status and a method thereof
KR20110032723A (en) Software downloading method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001989182

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2427674

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 018189490

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020037006681

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2001989182

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020037006681

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: JP

WWR Wipo information: refused in national office

Ref document number: 1020037006681

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2001989182

Country of ref document: EP