Abstract:
A method and system are disclosed for enabling full-service communications between a full-service cable modem termination system (fsCMTS) and a plurality of full-service cable modems (fsCM&#39;s) for a conventional two-way hybrid fiber-coax (HFC) cable television network. Full-service communications include data, voice and video. Video includes broadcast quality MPEG-2 transport packet streams and Internet protocol media streams. A multi-channel full-service media-access-control (fsMAC) coordinates the access to the shared upstream and downstream channels. At lease two downstream channels and at least two upstream channels are provided. Several MAC management messages are defined to enable multi-channel full-service MAC domain to be defined and to enable packet-by-packet true seamless channel change. Multiple upstream channels can be used in various ways to best optimize the use of the spectrum for meeting the quality-of-services needed by different services.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]    The application is a continuation of provisional application filed on Apr. 14, 2001, Ser. No. 60/283,842, which is incorporated herein by reference. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The invention relates to the “last mile” broadband digital communications systems capable of delivering full-service of voice, video and data to residential and commercial premises. More particularly the invention relates to the field of improvements in the media access control (MAC) protocol of a full-service cable modem system that uses multiple downstream and upstream channels.  
         BACKGROUND OF THE INVENTION  
         [0003]    For the last few years, cable modem systems based on data-over-cable service specifications have been accepted as a “last mile” high-speed data solution for the consumers.  
           [0004]    A two-way Hybrid Fiber-Coax (HFC) cable network is an infrastructure capable of supporting multiple overlaying networks, viz. analog or digital video service, high-speed data, and telephony service. These services use different band of the available spectrum in the downstream and upstream directions, and each service has its own operations and provisioning infrastructure. At customer premises, a full-service subscription requiring multiple boxes of customer premises equipment (CPE) such as a set top box, telephone network interface unit, and cable modem. These overlaying services are inefficient in terms increase the cost of operations and cost of consumer ownership.  
           [0005]    Convergent Network  
           [0006]    It has been highly desirable to have a converged network, capable of delivering voice, video and data in a unified communications infrastructure.  
           [0007]    Although later versions of data-over-cable media-access-control (MAC) have quality-of-service (QoS) capability by using polling, the protocol essentially is based on sharing an upstream and a downstream channel. Switching users among channels is complex and slow.  
           [0008]    Moreover, the cable modem has severe limitations when it comes to support digital video services. Conventional digital video (broadcast or video on demand) requiring more stringent bit-error-rate than data services and high bit rate of approximately 20 Mbps per HDTV movie channel, significantly impacting the capacity of the other services since they reside in the same downstream channel.  
           [0009]    Upstream Limitations  
           [0010]    The upstream bandwidth of the HFC network is limited by two factors: first, the amount of available spectrum in the upstream in a “sub-split” HFC cable plant is between 5 to 42 Mhz in the US. Because of ingress interference, a good portion of the spectrum is not suitable for wide-band (e.g. 3.2 Mhz or 6.4 Mhz per channel) and higher-order modulations (e.g. 16, 32, or 64 QAM) to achieve a high capacity for the upstream channel in use. If a 6.4 Mhz channel is used, only 6.4/(42−5)=17% of the upstream spectrum is used. The other 83% of the spectrum (in particular for frequencies below 10 MHz) is often unused. Conventional data-over-cable MAC is quite limited in handling multiple channels, in increasing the capacity, and providing the quality of service (QoS) required by different services.  
           [0011]    Moreover, since each upstream channel must support the packets generated by different services with different QoS requirements, it is very difficult to achieve high channel utilization under dynamically changing traffic conditions. In particular, the overhead of the MAC management packets such as bandwidth request and initial calibration can be significant and complicate the scheduling efficiency of cable modem termination system (CMTS).  
           [0012]    Conventional data-over-cable MAC protocol relies on some form of polling to achieve QoS goal of meeting bandwidth, latency and jitter requirements. For a polling interval of 2 ms, each upstream channel requires about 270 Kbps of downstream bandwidth for the MAC operation. This represents a significant amount of bandwidth from the downstream channel Therefore, scalability of using multiple upstream channels in conventional data-over-cable is quite limited.  
           [0013]    Broadcast Quality Digital Video  
           [0014]    Although the HFC network has sufficient bandwidth to support delivery of a full spectrum of services including data, telephony and video, these services currently are separate infrastructures provisioned by a service provider. As a result, these are sub-optimal uses of the HFC spectrum and costly duplication of equipment at the head end and at customer premises. Recently voice-over-IP using a same IP protocol enables convergence of voice and data. However, video service remains a separate infrastructure.  
           [0015]    Therefore, there is an unmet need for a unified communication system that can provide the full need of providing broadband Internet access, IP telephony, broadcast quality digital video over the same HFC system.  
           [0016]    Therefore, there is an unmet need for a MAC that can be used to implement a full-service cable modem system to fulfill the full potential of a HFC network for delivery voice video and data cost-effectively to the home and business.  
           [0017]    It will be realized after the detailed description of the invention to overcome the limitations of conventional cable modem system by the novel MAC and system architecture that allow a highly efficient and scalable access method that can be used to deliver simultaneously interactive digital video, telephony and high speed internet access as well as interactive gaming shared by large number of users. That the MAC fully utilizes the upstream and downstream spectrum enabling service provider economically deploys the services without a forklift upgrade to the HFC cable plant currently deployed for conventional cable modem service. The unified full service communication system will reduce cost of providing three separate provisioning system for video, data and voice, reduce head end equipment and at the same time reduce the number of on-premises equipment from three to one.  
           [0018]    It is an object of the present invention to overcome the disadvantages of the prior art.  
         BRIEF SUMMARY OF THE INVENTION  
         [0019]    This and other objects are achieved by the present invention. In accordance with the present invention a full-service cable modem (fsCM) system capable of delivering video, data and voice over a two-way hybrid fiber-coaxial cable network is described.  
           [0020]    A high-capacity, high-efficiency multi-channel full-service MAC, capable of supporting multiple upstream and downstream channels, enables the fsCM system  100  to deliver a full spectrum of services presently requiring multiple delivery systems. The video can be a combination of high-quality broadcast MPEG-2 movie or IP video streaming, with the required quality of service.  
           [0021]    Further, multiple channels can be used to multiplex packets of all types, enabled by a true seamless channel change described in this invention, maximizing statistical multiplexing gain. Packet-by-packet channel switching enables fast recovery from a channel failure, as required a high-availability fault-tolerance cable modem system.  
           [0022]    The fsCM system  100  consists of, according to the preferred embodiment, illustratively two downstream channel (DCPC and DPC1), two upstream payload channels (UPC1 and UPC2), three upstream control channels (UCC1, UCC2, UCC3) that connect a fsCMTS in the head-end and a plurality of fsCMs at subscriber sites.  
           [0023]    FsCM uses DCPC for downstream MAC management messages as well as for payloads (MPEG-2 TS or IP packets) and DPC1 for downstream payload channel to deliver high quality MPEG-2 video or IP packets.  
           [0024]    The present invention further includes downstream MAC management messages MMAP  900  and MDCD  1000  to enable fsCMTS to allocate upstream transmission to any of the multiple upstream channels on a packet-by-packet basis, and allow multiple-channel MAC domain to be changed quickly to adapt changing traffic on the network.  
           [0025]    The methods and apparatus described herein implement a novel and unique facility that provides for efficient access of a full-service cable modem network capable of simultaneously servicing the communication needs of internet access, telephony, interactive and on-demand digital video to a large number of users over a conventional HFC network.  
           [0026]    FsCM uses DCPC for downstream MAC management messages as well as for payloads (MPEG-2 TS or IP packets) and DPC1 for downstream payload channel to deliver high quality MPEG-2 video or IP packets).  
           [0027]    The present invention further includes downstream MAC management messages MMAP  900  and MDCD  1000  to enable fsCMTS to allocate upstream transmission to any of the multiple upstream channels on a packet-by-packet basis, and allow multiple-channel MAC domain to be changed quickly to adapt changing traffic on the network.  
           [0028]    The methods and apparatus described herein implement a novel and unique facility that provides for efficient access of a full-service cable modem network capable of simultaneously servicing the communication needs of internet access, telephony, interactive and on-demand digital video to a large number of users over a conventional HFC network. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0029]    [0029]FIG. 1 is a block diagram illustrating an embodiment full-service Cable Modem System;  
         [0030]    [0030]FIG. 2 is a block diagram of a full-service cable modem;  
         [0031]    [0031]FIG. 3 is a diagram illustrating the frequency channel plan for an example full-service cable modem system;  
         [0032]    [0032]FIG. 4 is a block diagram illustrating the structure of SYNC message  500 ;  
         [0033]    [0033]FIG. 5 is a block diagram illustrating the structure of CREQ message  600 ;  
         [0034]    [0034]FIG. 6 is a block diagram illustrating the structure of CRSP message  700 ;  
         [0035]    [0035]FIG. 7 is a block diagram illustrating the structure of BREQ message  800 ;  
         [0036]    [0036]FIG. 8 is a block diagram illustrating the structure of MMAP message  900 ;  
         [0037]    [0037]FIG. 9 is a block diagram illustrating the structure of MDCD message  1000 ; and  
         [0038]    [0038]FIG. 10 is a flow diagram illustrating of the fsCM initialization; and  
         [0039]    [0039]FIG. 11 is a flow diagram illustrating the upstream transmission process using contention BREQ  800 . 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0040]    Refer to FIG. 1 for a preferred embodiment of a multi-channel fsCM system  100 . A fsCMTS  102 , typically located at a head end  101 , is connected to the fiber-part of a two-way HFC network  104  through an electrical to fiber interface (not shown). A remotely located fsCM  106  is connected to the coax  402  part of the HFC  104 . The downstream spectrum (typically 50 to 850 Mhz) is divided into typically 6 Mhz channels in the downstream for NTSC cable systems. The upstream spectrum typically ranges from 5 to 42 Mhz in North America, and the upstream channel bandwidth varies typically from 160 KHz to 6.4 Mhz. The architecture and topology of a modern two-way HFC cable plant are known in the art and will not be repeated here.  
         [0041]    In this example, also referring to FIG. 3, there are two downstream channels: a downstream control and payload channel DCPC  147  and a downstream payload channel DPC1  137 , and five upstream channels: upstream control channels UCC1  174 , UCC2  176 , UCC3  178  and upstream payload channels UPC1  182  and UPC2  184 . The exemplified channel frequencies are illustrated in FIG. 3, in which channel center frequencies for DCPC 147, DPC1  137 , UCC1  174 , UCC2  176 , UCC3  178 , UPC1  182  and UPC2  184  correspond to f1, f2, f3, f4, f5, f6, f7 respectively. The center frequencies for DCPC  147  and DPC1  137  are controlled by the corresponding frequency-agile up-converters  146  and  136 . The UCC&#39;s  174 ,  176  and  178  channel center frequencies and channel bandwidths are controlled by a burst transmitter  194 . The UPC&#39;s  182  and  184  center frequencies and channel bandwidths are controlled by another burst transmitter  196 . Illustratively, the UCC&#39;s use narrower channel bandwidths and robust modulation schemes such as QPSK or BPSK that can be located in the noisier portion of the upstream spectrum. The “cleaner” part of the upstream spectrum are normally used by UPC&#39;s so that higher order of modulations such as 16 to 64 QAM can be used reliably for higher throughput for payloads. In an alternative embodiment, a single upstream frequency-agile programmable burst transmitter can multiplex the transmission of control and payload bursts.  
         [0042]    Through an IP network interface  122 , the fsCMTS  102  is connected to a video server  108  for MPEG-2 digital video services, to a managed Internet backbone  112  for connection to a Public Switched Telephone Network PSTN  113 , or other voice-over-IP networks for telephony services, to an Internet backbone  114  for high-speed data services, and to an Intranet IP network  116  for access to provisioning and network management servers as part of the fsCMTS system operation. The IP network interface is also connected to the video server  108  for providing IP connectivity for video-related network management and illustratively, for upstream traffic generated by set-top boxes  530 .  
         [0043]    Digital video traffics, generated by the video server  108 , packetized into MPEG-2 transport streams TS  150 ,  152  are combined with fsCMTS MAC messages including SYNC  500 , MMAP  900 , MDCD  1000  and IP payload packets  154  in downstream transmitters  132 ,  142 , which are outputted to downstream modulators  134 ,  144 . The intermediate frequency outputs of the modulators  134 ,  144  are up converted to the desired center frequencies by up converters  136  and  146 . The radio frequency RF outputs of the up converters  136  and  146  are then transmitted through the HFC plant  104  into downstream receivers  470 ,  420  of fsCM&#39;s  106  via the coaxial  402  portion of the HFC  104 .  
         [0044]    The downstream modulators  134 ,  144  typically are specified to comply with ITU J83 Annex A, B, or C depending on nationality. Other modulation and forward error correction (FEC) formats are possible.  
         [0045]    IP packets  154  are encapsulated in MPEG2-TS using a unique packet identifier PID (1 FFE hexadecimal for data-over-cable) before transmitting downstream.  
         [0046]    The time base in the fsCMTS  102  and in the remote fsCMs  106  are synchronized by periodically sending a captured time-stamp value of a time-stamp counter  130  driven by a time-stamp frequency source  128 . The time-stamp value is encapsulated in a MAC management message (SYNC  500 ), which is in turn encapsulated into a MPEG2-TS and merged with the other TS before delivering to the downstream modulator  134 . The method of synchronization using time-stamped message is known in the art.  
         [0047]    The SYNC  500  is transmitted in all downstream channels so as to enable seamless switching of downstream channels.  
         [0048]    The DCPC  147  carries MAC management messages including a MMAP  900  and MDCD  1000  which are essential for the multi-channel MAC operation and their significance will be understood when they are described in detail below.  
         [0049]    A full-service MAC (fsMAC) has two parts: a fsMAC-CM  192  and a fsMAC-CMTS  124 , which are located in the fsCM  106  and fsCMTS  102  respectively. The fsMAC&#39;s role is to co-ordinate the dispatch of downstream IP packets and fsMAC management messages; another role is to co-ordinate the efficient and orderly transmission of upstream bursts using the two upstream burst transmitters  194  and  196 .  
         [0050]    One of the transmitters  194  is used for transmitting fsMAC management packets such as calibration and bandwidth requests. The other transmitter  196  is for transmitting payload of IP packets  199  received from a CPE interface  197 .  
         [0051]    More specifically, the transmitter  194  is used to transmit bursts to UCC1  174 , UCC2  176  or UCC3  178  using burst profiles communicated to fsMAC-CM  106  by fsMAC-CMTS  124  by sending down MDCD  1000 . Similarly, the transmitter  196  is used to transmit bursts to UPC1  182  or UPC2  184  using other burst profiles. The fsCM  106  learns the characteristics of burst profiles by listening to the MDCD message  1000  and uses the burst profile and time to transmit by decoding the MMAP message  900 .  
         [0052]    At the fsCMTS  102 , corresponding to these transmitters in the fsCM  106 , there are frequency-agile programmable burst receivers that will receive, demodulate and recover the packets received. These packets (including collision detection information, if any) will be inputted to the fsMAC-CMTS  124 .  
         [0053]    Full-Service Cable Modem Detail  
         [0054]    [0054]FIG. 2 is a block diagram illustrating an embodiment of the fsCM  106 . The RF signal enters the fsCM  106  at the coax  402 . The RF is divided into two paths by RF splitter  404 . Each RF path after the splitter is connected to diplex filters  410 ,  460 . Diplex filer  410  passes high frequency downstream RF signal  412  to DPC1 downstream receiver  420 , whose output is a MPEG-2 transport stream TS1  422  into a packet identifier (PID) de-multiplexing unit  424 . Demux unit  424  separates the data-over-cable TS  426  from the conventional audio/video/data TS  423  by examining the PID value. Data-over-cable TS  426  is identified by a value of 1FFE (hexadecimal). The audio/video/data TS  423  associated with a program (e.g. movie) is directed to a conventional MPEG-2 decoder  428  for generating audio/visual signals. Outputs from the decoder  428  can be of digital television DTV  430 , or standard analog signal  434  (composite video or NTSC modulated RF) for connection to conventional television receivers or video monitors.  
         [0055]    Alternatively, the TS  423  can interface to a digital set-top box using IEEE 1394 (not shown), or other high-speed connections. Another alternative is to send the MPEG-2 audio/video/data TS  476  to FSMAC-CM  192 , where the TS is encapsulated in IP (MPEG-2 over IP) and forwarded to a home network  508  via CPE interface  504 . A digital set-top box  503  attached to the home network  508  can decode the MPEG-2 TS.  
         [0056]    Another RF path  405  passes through diplex filter  460 . Downstream RF signal  462  is tuned to DCPC  147  and processed by a second downstream receiver  470 , whose output is another MPEG-2 transport stream TS  472 , which is inputted to the PID demux unit  424 , which in turn separates the data-over-cable TS  476  from the audio/video/data TS  473 .  
         [0057]    Data-over-cable TS  426  is processed in a downstream processing unit  502  to recover data-over-cable packets, consisting of MAC messages and IP payload packets, before entering a fsMAC-CM. MAC messages are processed by fsMAC-CM  192 . IP payload packets are forwarded to CPE devices attached to the home network  508 , subjected to filtering rules by the CPE interface  504 , which is illustratively, an Ethernet network interface. Specifically. IP packets are subjected to filtering rules in the packet forwarding engine within CPE interface  504  using bridging or routing rules. The IP packets are forwarded to a CPE devices such as a personal computer  514 , an Internet Appliance  512 , Multimedia Terminal Adaptor  516  for voice-over-IP telephony  518 , FAX  522 , video conferencing  520  and other media streaming services using any home networking infrastructure  508  (e.g. 10/100 Base-T Ethernet, USB, HPNA, Wireless LAN, HomePlug etc.)  
         [0058]    Upstream IP packets from CPE devices  512 ,  514 ,  516 ,  530  are subjected to filtering by the packet forwarder within the CPE interface  504 , and then are queued at upstream processing unit  506 . There are two upstream burst transmitters in this embodiment: one for Upstream Control Channel (UCC)  194  and Upstream Payload Channel (UPC)  196 . Each of the two transmitters consists of FEC encoder, modulator, frequency agile digital up converter, RF front-end, etc. to enable upstream burst transmissions in any channel in the upstream spectrum, according to the stored burst profiles sent from the fsCMTS  102 .  
         [0059]    Upstream MAC management burst packets  498  are sent to UCC channel transmitter  194 , which outputted as RF burst signal  490  to the diplex filter  460 . Payload IP packets  488  emerges from upstream processing unit  506 , accordingly processed by the UPC burst transmitter  196 , whose output burst RF signal  480  is coupled to the diplex filter  410  and emerges as a RF signal  405 , which is coupled to the HFC coax  402  by splitter  404 , traveling upstream to the head end where the fsCMTS  102  is located.  
         [0060]    Now the signal flow of the fsCM system  100  between the fsCMTS  102  and fsCM  106  has been described. The following further description will show how the fsMAC-CMTS  124  and fsMAC-CM  192  will coordinate the multiple access transmission of upstream bursts. Essential MAC management messages SYNC  500 , MDCD  1000 , MMAP  900 , CREQ  600 , CRSP  700 , BREQ  800  are described first and then the fsMAC protocol details will follow.  
         [0061]    Full-Service MAC Management Messages  
         [0062]    SYNC Message  
         [0063]    [0063]FIG. 5 is a block diagram of a SYNC MAC message structure  500 . SYNC MAC message structure  500  includes a MAC management header  502 , a time stamp snapshot  502  that captures the value of the sampled value of time stamp counter  130 , a fsMAC domain identifier  506 , and a downstream channel identifier  508 . A description of the fields of SYNC message  500  is shown in Table 1. However, fewer or additional fields could also be used in SYNC message  500 .  
                         TABLE 1                           SYNC MESSAGE 500            Field Parameter   Description of Field Parameter               fsMAC Message Header 502   This field allows fsCM-MAC 192 to           uniquely identify and process the SYNC           management message 500.       Time stamp snapshot 504   This field contains the sampled value of           time stamp counter 130.       FsMAC domain identifier 506   This field uniquely identifies the           fsMAC domain as defined by MMAP           message 900.       Downstream Channel identifier   This field uniquely identifies the       508   downstream channel to which fsMAC           messages are transmitted.                          
 
         [0064]    [0064]FIG. 6 is a block diagram of a calibration request (CREQ) MAC message structure  600 . CREQ MAC message structure  600  includes a MAC management header  602 , fsCM service identifier  604 , fsMAC domain identifier  606 , downstream channel identifier  608 , fsCM Ethernet MAC address  610 , fsCM type  612 , and pre-equalizer training sequence  614 .  
         [0065]    A description of the fields of CREQ message  600  is shown in Table 2.  
         [0066]    However, fewer or additional fields could also be used in CREQ message  600  in other embodiments.  
                         TABLE 2                           CREQ MESSAGE 600            Field Parameter   Description of Field Parameter               fsMAC Message   This field allows fsCM-MAC 192 to uniquely       Header 602   identify and process the CREQ message 600.       fsCM service identifier   This field uniquely identify the service flow       (SID) 604   associated with the fsCM 106 within the           fsMAC domain identified by fsMAC domain           ID 606       fsMAC domain   This field uniquely identifies the fsMAC       identifier (MAC ID) 606   domain as defined by MMAP message 900.       DCPC channel identifier   This field uniquely identifies the downstream       608   control and payload channel (DCPC) into           which fsMAC messages are transmitted       Ethernet MAC address   This field contains the 48-bit Ethernet MAC       610   address associated with the fsCM 106       FsCM type 612   This field contains information about the type           and version of the fsCM 106       Pre-equalizer training   This field contains pre-equalizer training       sequence 614   sequence(s) for the fsCM 106 transmitters           194, 196.                          
 
         [0067]    [0067]FIG. 7 is a block diagram of a calibration response MAC message structure  700 . CRSP MAC message structure  700  includes a MAC management header  702 , fsCM service identifier  704 , fsMAC domain identifier  706 , upstream channel identifier  708 , timing adjustment  710 , frequency adjustment  712 , transmit power adjustment  714 , transmitter pre-equalizer tap coefficients  716 , and re-assigned fsMAC domain identifier  718 .  
         [0068]    A description of the fields of CRSP message  700  is shown in Table 3. However, fewer or additional fields could also be used in CRSP message  700  in other embodiments.  
                         TABLE 3                           CRSP MESSAGE 700            Field Parameter   Description of Field Parameter               fsMAC Message   This field allows fsCM-MAC 192 to uniquely       Header 702   identify and process the CRSP message 700.       fsCM service identifier   This field uniquely identify the service flow       (SID) 704   associated with the fsCM 106 within the fsMAC           domain identified by fsMAC domain ID 706       fsMAC domain   This field uniquely identifies the fsMAC       identifier   domain as defined by MMAP message 900.       (MAC ID) 706       Upstream channel   This field identifies the upstream channel       identifier 708   CRSP 700 is responding to.       Timing adjustment   This field contains information for fsCM 106 to       710   adjust its local clock to synchronize with that           of fsCMTS       Frequency adjustment   This field contains information for fsCM 106 to       712   adjust its upstream transmitter center frequency           to within the receiving frequency range of the           fsCMTS receiver.       Transmit power   This field contains information for fsCM 106 to       adjustment 714   adjust its transmitter power amplifier gain to the           correct level.       Transmit pre-equalizer   This field contains information for fsCM 106 to       tap coefficients   adjust its transmitter pre-equalizer to this       716   new parameters.       Reassigned fsMAC   This field contains information (if present)       domain identifier   about a new fsMAC domain identifier, which       718   fsCM 106 will associate with after receiving           this message.                          
 
         [0069]    [0069]FIG. 8 is a block diagram of a bandwidth request (BREQ  800 ) MAC message structure  800 , which includes a fsMAC message header  802 , a fsCM service identifier  804 , a fsMAC domain identifier  806 , a framing header type  808 , and amount requested  810 .  
         [0070]    A description of the fields of BREQ message  800  is shown in Table 4. However, fewer or additional fields could also be used.  
                         TABLE 4                           BREQ MESSAGE 800            Field Parameter   Description of Field Parameter               FsMAC Message   This field allows fsCM-MAC 192 to uniquely       Header 802   identify and process the BREQ message 800.       fsCM service   This field uniquely identify the service flow       identifier (SID) 804   associated with the fsCM 106 within the fsMAC           domain identified by fsMAC domain ID 806       fsMAC domain   This field uniquely identifies the fsMAC domain as       identifier (MAC ID)   defined by MMAP message 900.       806       Framing header   This field contains the header type information for       type 806   fsCMTS to take into consideration of the MAC           frame header overhead when allocating bandwidth           for the requesting fsCM.       Amount requested   This field contains amount of payload bandwidth       810   (excluding MAC header overhead) requested by           fsCM. E.g. number of bytes or number of time           slots such as mini-slots.                          
 
         [0071]    [0071]FIG. 9 is a block diagram of a multi-channel bandwidth allocation MAC message (MMAP) structure  900 , which includes a fsMAC management message header  902 , a fsMAC domain identifier  904 , a list of broadcast grants, a list of unicast grants, and a list of pending grants  910 .  
         [0072]    A description of the fields of MMAP message  900  is shown in Table 5. However, fewer or additional fields could also be used.  
                         TABLE 5                           MMAP MESSAGE 900            Field Parameter   Description of Field Parameter               fsMAC Message   This field allows fsCM-MAC 192 to uniquely       Header 902   identify and process the MMAP message 900.       fsMAC domain   This field uniquely identifies the fsMAC domain       identifier 904       Broadcast grants 906   This field contains the bandwidth grants for the           contention area that bandwidth requests are           transmitted from any fsCM in the fsMAC domain.           Table 6 gives an example of the broadcast grants       Unicast grants 908   This field contains the bandwidth grants address           to an individual fsCM. Table 7 gives and example           of unicast grants.       Pending grants 910   This field contains a list of pending grants for           those BREQ&#39;s that are successfully received by           the fsCMTS, but the grants are deferred to a           later MMAP 900. Table 8 gives an example of           pending grants                  
 
         [0073]    [0073]                         TABLE 6                           Broadcast grants 906 example            Broadcast Grants   Description of Field Parameter               Number of broadcast   =2 in this example       grants       Service ID   (Start of 1 st  broadcast grant). This field contains           the SID of the broadcast address for all fsCM&#39;s.       Grant type   Bandwidth request BREQ 800       Upstream channel ID   This field contains the channel ID to which the           broadcast grant is allocated       Burst profile ID   This field identifies the burst profile of           BREQ 800       Back-off start and End   This field contains the back-off window of the       values   chosen contention resolution algorithm       Length of payload data   BREQ 800 burst payload data length in bytes       in bytes       Number of bursts   Number of BREQ 800 bursts for this grant       Transmission start   Start transmission time of the first BREQ 800       time   burst       Service ID   (Start of 2 nd  broadcast grant). This field contains           the SID of a broadcast address for a group           of fsCM&#39;s.       Grant type   Bandwidth request BREQ 800       Upstream channel ID   This field contains the channel ID to which the           broadcast grant is allocated       Burst profile ID   This field identifies the burst profile of           the BREQ 800       Back-off start and   This field contains the back-off window       End values   of the chosen contention resolution algorithm           in this example       Length of payload data   BREQ 800 burst payload data length in bytes       in bytes       Number of bursts   Number of BREQ 800 bursts for this grant       Transmission start   Start transmission time of the first BREQ 800       time   burst                    
         [0074]    [0074]                         TABLE 7                           Unicast grants 906 example            Unicast Grants   Description of Field Parameter               Number of   3 in this example       Unicast grants       SID-1   (Start of 1 st  unicast grant). This field contains SID of           fsCM-1.       Grant type   Variable length payload packet       Upstream channel   This field contains the channel ID to which the unicast       ID   grant is allocated       Burst profile ID   This field identifies the burst profile for packet       Burst framing   This field contains framing header type to enable       header type   fsCMTS to calculate the overhead needed for the burst       Length of payload   Burst payload data length in bytes       data in bytes       Transmission start   Start transmission time of the first BREQ 800 burst       time       SID-2   (Start of 2 nd  unicast grant). This field contains SID of           fsCM-2.       Grant type   Constant bit rate (CBR)       Upstream channel   This field contains the channel ID to which the unicast       ID   grant is allocated       Burst profile ID   This field identifies the burst profile for this burst       Burst framing   This field contains framing header type to enable       header type   fsCMTS to calculate the overhead needed for the burst       Length of payload   Burst payload data length in bytes       data in bytes       Grant interval   This field contains the time interval between two           adjacent grants       Transmission start   Start transmission time of the burst       time       SID-3   (Start of 3 rd  unicast grant). This field contains SID of           fsCM-3.       Grant type   Dedicated channel       Upstream channel   This field contains the channel ID to which the unicast       ID   grant is allocated       Length of payload   Burst payload data length in bytes       data in bytes       Grant duration   This field contains the time for which the dedicated           channel can be used       Transmission start   Start transmission time of the first burst       time                    
         [0075]    [0075]                         TABLE 8                           Pending grants 910 example            Pending Grants   Description of Field Parameter               Number of broadcast grants   =2 in this example       SID-a   This field contains the SID of the pending           grant for fsCM-a.       SID-b   This field contains the SID of the pending           grant for fsCM-b.                            
         [0076]    [0076]FIG. 9 is a block diagram of a fsMAC domain channel descriptor (MDCD) MAC message structure  1000 , which includes a MAC message header  1002 , a fsMAC domain identifier  1004 , an accept new fsCM registration flag  1006 , number of downstream channels  1008 , number of upstream channels  1010 , downstream channel change count  1012 , upstream channel change count  1014 , a list of downstream channel identifiers and Type-Length-Values (TLV&#39;s)  1026 , a list of upstream channel identifiers and TLV&#39;s  1028 , and a list of upstream burst profile identifiers and TLV&#39;s  1030 .  
         [0077]    A description of the fields of MDCD message  1000  is shown in Table 9. However, fewer or additional fields could also be used.  
                         TABLE 9                           MDCD MESSAGE 1000            Field Parameter   Description of Field Parameter               fsMAC Message   This field allows fsCM-MAC 192 to uniquely       Header 1002   identify and process the MDCD message 1000.       FsMAC domain   This field uniquely identifies the fsMAC       identifier 1004   domain as defined by MMAP message 900.       Accept-new-fsCM-   This field contains a flag bit which       registration flag 1006   when set, indicating the fsMAC domain is           accepting new fsCM 106 registration.       Number of downstream   This field contains N number of       channels 1008   downstream channels in the fsMAC domain.       Number of upstream   This field contains M number of upstream       channels 1010   channels in the fsMAC domain.       Downstream channel   This field contains a count of changes in       change count 1012   downstream channel configuration. If this           field is different than the count in the previous           MDCD message 1000, fsCM&#39;s 106 in the           fsMAC domain must update its downstream           channel configuration to the current MDCD           message 1000.       Upstream channel change   This field contains a count of changes in       count 1014   upstream channel configuration. If this           field is different than the count in the           previous MDCD message 1000, fsCM&#39;s 106 in           the fsMAC domain must update its upstream           channel configuration to the current MDCD           message 1000.       List of downstream   This field contains a list of N downstream       channel identifiers and   channel identifiers and the associated       TLV&#39;s 1026   TLV&#39;s defining the channel parameters.           Table 10 shows an example of a list of 2           downstream channels.       List of upstream channel   This field contains a list of M upstream channel       identifiers and   identifiers and the associated TLV&#39;s defining       TLV&#39;s 1028   the channel parameters. Table 11 shows an           example of a list of 5 upstream channels.       List of upstream   This field contains a list of X upstream burst       burst profile   profile identifiers and the associated TLV&#39;s       identifiers and   defining the burst parameters. Table 12 shows       TLV&#39;s 1030   an example of a list of 3 burst profiles.                  
 
         [0078]    [0078]                                                   TABLE 10                           Downstream channel identifiers and TLV&#39;s 1026 example            Number               of downstream       channels = 2       downstream   TLV encoding            channel parameter   Type   Length   Value           type   (1 byte)   (1 byte)   (L bytes)   Description               Downstream channel   1   1   01   01 (Channel ID)       identifier       Downstream channel   2   1    1   1 (DCPC)       type       Center frequency   3   4   f1   Hz       Symbol rate   4   1    0   0 (5.056941 M                       symbols/sec)       FEC   5   1    1   1 (J83 Annex B)       Modulation   6   1    0   64 QAM       Interleave depth (I, J)   7   2   16, 8   Latency =                       0.48 ms       Downstream channel   1   1   02   02       identifier       Downstream channel   2   1    2   2 (DPC1)       type       Center frequency   3   4   f2   Hz       Symbol rate   4   1    1   1 (5.360537 M                       symbols/sec)       FEC   5   1    1   1 = J83 Annex B       Modulation   6   1    1   256 QAM       Interleave depth (I, J)   7   2   128, 1   Latency =                       2.8 ms                    
         [0079]    [0079]                                                   TABLE 11                           Upstream channel identifiers and TLV&#39;s 1028 example            Number               of upstream       channels = 5       Upstream   TLV encoding            channel parameter   Type   Length   Value           type   (1 byte)   (1 byte)   (L bytes)   Description               Upstream channel   1   1   10   10       identifier       Upstream channel   2   1    0   0 (UCCI)       type       Center frequency   3   4   f3   Hz       Symbol rate   4   1    0   0 (640K                       symbols/sec)       Upstream channel   1   1   11   Channel ID = 11       identifier       Upstream channel   2   1    1   1 (UCC2)       type       Center frequency   3   4   f4   Hz       Symbol rate   4   1    2   2 (320K                       symbols/sec)       Upstream channel   1   1   12   Channel ID = 12       identifier       Upstream channel   2   1    2   2 (UCC3)       type       Center frequency   3   4   f5   Hz       Symbol rate   4   1    3   3 = 640K                       symbols/sec       Upstream channel   1   1   13   Channel ID = 13       identifier       Upstream channel   2   1    3   3 (UPC1)       type       Center frequency   3   4   f6   Hz       Symbol rate   4   1    6   6 = 5.12 M                       symbols/sec       Upstream channel   1   1   14   Channel ID = 14       identifier       Upstream channel   2   1    4   4 (UPC2)       type       Center frequency   3   4   f7   Hz       Symbol rate   4   1    6   6 = 5.12 M                       symbols/sec                    
         [0080]    [0080]                                                                         TABLE 12                           Upstream burst profile identifiers and TLV&#39;s example            Number of               upstream burst       profiles = 3   TLV encoding            upstream burst   Type   Length   Value           parameter type   (1 byte)   (1 byte)   (L bytes)   Description                    Burst identifier   1   1   11   Burst profile 1       Modulation   2   1   0   0 = QPSK       Preamble length   3   2   64   64 bytes       FEC code word (k)   4   1   78   13 bytes       FEC error correction   5   1   6   T = 2 bytes       (T)       Scramble seed   6   2   35   Seed = 00110101       Inter-burst guard time   7   1   5   5 symbols       burst identifier   1   1   12   Burst profile 2       modulation   2   1   0   0 = QPSK       Preamble length   3   2   64   64 bites       FEC code work (k)   4   1   78   78 bytes       FEC error correction   5   1   6   T = 6 bytes       (T)       Scramble seed   6   2   35   Seed = 00110101       Inter-burst guard time   7   1   5   5 symbols       burst identifier   1   1   13   Burst profile 3       Modulation   2   1   0   0 = 64 QAM       Preamble length   3   2   64   128 bites       FEC code work (k)   4   1   78   256 bytes       FEC error correction   5   1   6   T = 10 bytes       (T)       Scramble seed   6   2   35   Seed = 00110101       Inter-burst guard time   7   1   5   5 symbols                    
         [0081]    Full-Service Cable Modem System Operation  
         [0082]    The fsCMTS sets up the fsCM domain consisting of:  
         [0083]    2 downstream channels  
         [0084]    1. DCPC is a broadcast channel for all fsCM&#39;s within the fsCM domain and is configured to ITU-T J83 Annex B standard with 64 QAM modulation and at center frequency of f1 Hz in the downstream spectrum as shown in FIG. 3. This channel is primarily for data-over-cable MAC management messages, IP traffic and to a less extent, MPEG-2 video delivery.  
         [0085]    2. DPC1 is the a broadcast channel for all fsCM&#39;s within the fsCM domain, is configured to be ITU-T J83 Annex B standard with 256 QAM modulation and at center frequency of f2 Hz in the downstream spectrum as shown in FIG. 3. This channel is primarily for broadcast quality MPEG-2 movie delivery, but also carries IP packets.  
         [0086]    3 upstream control channels  
         [0087]    1. UCC1 for contention bandwidth request for all or a group of fsCM&#39;s, is configured to operate at 640 Ksymbols/sec with QPSK modulation and at center frequency of f3 Hz in the upstream spectrum as shown in FIG. 3.  
         [0088]    2. UCC2 is for contention calibration and maintenance for all or a group of fsCM&#39;s is configured to operate at 320 Ksymbols/sec with QPSK modulation and at center frequency of f4 Hz in the upstream spectrum as shown in FIG. 3.  
         [0089]    3. UCC3 is for Aloha contention, pay-per-view or video-on-demand request burst for all or a group of fsCM&#39;s is configured to operate at 640 Ksymbols/sec with QPSK modulation and at center frequency of f5 Hz in the upstream spectrum as shown in FIG. 3.  
         [0090]    2 upstream payload channels:  
         [0091]    1. UPC1 is intended primarily for voice-over-IP CBR traffic for all or a group of fsCM&#39;s, is configured to operate at 5.12 Msymbols/sec with 16 QAM modulation and at center frequency of f6 Hz in the upstream spectrum as shown in FIG. 3.  
         [0092]    2. UPC2 is intended primarily for high-speed data and media streaming traffic for all or a group of fsCM&#39;s  106  is configured to operate at 5.12 Msymbols/sec with 16 QAM modulation and at center frequency of f7 Hz in the upstream spectrum as shown in FIG. 3.  
         [0093]    When the fsCMTS 102 is operational, the following MAC management messages are broadcast periodically to all fsCMs  106  to establish a fsCM domain, in the HFC  104  via DCPC  147 :  
         [0094]    1. SYNC  500 , typically sent every 150 to 250 ms,  
         [0095]    2. MDCD  1000 , typically sent every 1 to 2 seconds, and  
         [0096]    3. MMAP  900 , typically sent every 2 to 10 ms.  
         [0097]    SYNC  500  establishes network-wide clock synchronization of the fsCMTS  102  and fsCM&#39;s using a conventional time-stamp methodology and is known in the art. MDCD  1000  establishes the fsMAC domain using the fsMAC domain identifier  1004 . MDCD  1000  also contains the parameters needed by fsCM&#39;s to join the fsMAC domain by setting up the channel and burst profiles. MMAP  900  contains information about upstream transmission opportunities on a specific channel, using a specific burst profile, duration of the transmission, and at a specific start time to transmit. MMAP  900  also contains upstream transmission opportunities, typically once every 1 to 2 seconds, for fsCM  106  that wishes to join the network to transmit CREQ  600  to adjust its ranging offset, center frequency, transmitter power level, and transmitter pre-equalizer coefficients as part of the initialization process. Once initialized, fsCM  106  starts to use contention-based CREQ  600  to request transmission of payload packets.  
         [0098]    Full-Service Cable Modem Initialization  
         [0099]    Referring to FIG. 10, a fsCM  106  initialization flow diagram  1100  is entered at block  1102  when the fsCM  106  is powered up or reset. In block  1104 , DCPC receiver  470  at fsCM  106  is continuously searching for a valid DCPC channel. The DCPC is considered as valid if MPEG-2 TS with a valid data-over-cable PID (e.g. 1 FFE hexadecimal) and once found, block  1106  is entered to search for a valid MDCD  1000 . In MDCD  1000 , the flag  1006 , if set, signifies that the DCPC is accepting new fsCM  106  registrations, and block  1110  is entered. If flag  1006  is not set, signifying the MDCD  1000  is not taking in new registrations, fsCM  106  will exit block  1106  and enter block  1104  for searching for another valid DCPC.  
         [0100]    At block  1110 , all the parameters in MDCD  1000  are accepted by the fsCM  106 . The fsMAC domain ID  1004  will be used to match the domain identifier  506  in SYNC  500  in block  13 . If the valid SYNC  500  is received, the fsCM  106  will synchronize its time base with the fsCMTS time base (block  1110 ). The fsCM  106  initializes the other downstream and upstream channels, the burst profiles, based on information received in MDCD  1000  and enters block  1116 .  
         [0101]    In block  1116 , fsCM  106  monitor MMAP  900  for broadcast calibration grant as shown in Table 6. In this example, the second broadcast grant is for CREQ  600  (block  15 ). If a CREQ grant is received, fsCM  106  will construct a calibration burst based on the burst profile, and length of payload information in broadcast grant  906  (block  1118 ).  
         [0102]    In block  1120  the CREQ  600  burst will then be transmitted at the specified upstream channel at the specified transmission start time (subject to back-off based on the back-off start and end values specified in the grant using exponential back-off algorithm). If a calibration response CRSP  700  is received by fsCM  106  in block  1122 , the initial calibration is successful and fine calibration block  1124  is entered. If no CRSP  700  is received in block  1122 , after a pre-determined time-out, block  1116  will be entered and the CREQ  600  process will be retried.  
         [0103]    In block  1124 , fsCMTS will do fine calibration on each of the upstream channels in the fsCM domain by sending a periodic unicast fine calibration grant to the fsCM  106  for each upstream channel. In block  1124  the fine-calibration process is complete after receiving fine CRSP  700  from fsCMTS and after fsCM  106  adjusts its upstream channel parameters ranging offset, frequency, power level, and pre-equalizer coefficients. These parameters will be saved in the fsCM  106  upstream channel profiles and they will be used to configure the channel before burst transmission. After fine calibration, block  1126  is entered. fsCM  106  completes the modem registration process and becomes operational in block  1128 .  
         [0104]    Transmission Using Bandwidth Request  
         [0105]    Referring to FIG. 11, which is a flow diagram of transmission using contention-based bandwidth request  1200 . In block  1204 , one or more packets are queued up at fsCM  106 . In block  1206  fsMAC-CM  192  chooses one or more of packets to transmit. The number of bytes of payload and header type (e.g. short, long or concatenated) is determined. In block  1208 , fsCM  106  waits until MMAP  900  is received with BREQ  800  broadcast grant  906  (example in Table 6). Entering block  1210  fsCM  106  uses the back-off start and end values to calculate the initial back-off of burst transmission (any back-off algorithm will work and is well-known in the art). If the back-off algorithm determines the transmission opportunity is beyond the current grant, fsCM  106  will defer the transmission to the next MMAP  900 ; otherwise, referring to Table 6, 1 st  broadcast grant, fsCM  106  calculates the CREQ  600  burst transmission start time according to:  
         [0106]    (Transmission start time)+ 
         [0107]    (Burst duration calculated and based on the length of payload and header in bytes and burst profile)×(number of burst deferred calculated by the back-off algorithm).  
         [0108]    BREQ  800  will be transmitted at the calculated time at the channel specified by the upstream channel ID. Block  1212  is entered and fsCM  106  waits for a unicast grant or a pending grant in the next MMAP  900 . The next MMAP  900  is received in block  1218  and is checked for a unicast grant with a SID corresponding to the one in the original BREQ  800  (block  1220 ). The unicast grant will have the necessary information (burst profile, header type, and burst profile) to assemble a burst (block  1226 ) and transmit at the specified upstream channel at the specified transmission start time (block  1228 ). If in block  1220 , no unicast grant is received for the BREQ  800 , MMAP  900  is checked for existence of a pending grant.  
         [0109]    In block  1224 , if there is a pending grant, block  1218  is entered to wait for the next MMAP  900 . If in block  1224 , there is no pending grant in the MMAP  900 , the CREQ  600  is considered as lost or collided, and block  1208  is entered to retry the BREQ  800  transmission.  
         [0110]    True Seamless Channel Change  
         [0111]    In a conventional data-over cable system, a conventional cable modem termination system (CMTS) may direct a cable modem (CM) to change its upstream channel for traffic load balancing, noise avoidance, or failed channel backup. The procedure for performing a channel change is as follows. When the CMTS determines to move a CM from the currently assigned upstream channel to another, it sends a channel change request message to the CM. In response, the CM transmits a channel change response message on the currently assigned channel to signal its readiness to use the new channel. After switching to the new channel, the CM typically performs recalibration of transmitter parameters such as ranging offset, power level, frequency and pre-equalizer coefficients before the CM can use the new channel. Such a channel switching mechanism can be very time-consuming and can take seconds or more because a complete re-calibration is often required.  
         [0112]    According to this invention, a true seamless channel change can be achieved in the fsCM system  100 . True seamless channel change means on a packet-by-packet basis, each CMTS-directed cable modem burst transmission can be at any one of the upstream channel, configured with any one of the burst profiles as defined by the fsCMTS domain in the fsMAC message MDCD  1000 .  
         [0113]    The fsCM  106  joins a fsCM domain accepting new registrations in the MDCD message  1000 , which also contains fields for a list of downstream channels with channel profile parameters, a list of upstream channel parameters and channel profile parameters, and a list of burst profile parameters. These profile parameters are uniquely identified within the fsMAC domain using downstream, upstream and burst ID&#39;s. These parameters are stored in the fsCM, together with the channel calibration parameters for each channel as a result of calibration request/response process.  
         [0114]    When an upstream transmission grant is received from the MMAP message  900 , the grant contains sufficient information about transmission channel ID, burst profile, size of granted and header type to form an upstream burst to be transmitted at the exact start time specified in the same MMAP message  900 . Thus the channel change is immediate and truly seamless.  
         [0115]    Alternative Embodiments  
         [0116]    One skilled in the art can take advantage of the multi-channel fsMAC in different variations for further optimization. Examples are:  
         [0117]    Use all downstream channels for IP packet streams, if MPEG-2 video is not needed, to further boost downstream capacity for additional users, or can be for IP media streaming.  
         [0118]    Use a single upstream control channel for channel calibration and bandwidth requests.  
         [0119]    Define different upstream payload channels, such as CBR channel, dedicated channels to achieve quality of service and capacity goals.  
         [0120]    Although the teachings of the invention have been illustrated herein in terms of a few preferred and alternative embodiments, those skilled in the art will appreciate numerous modifications, improvements and substitutions that will serve the same functions without departing from the true spirit and scope of the appended claims. All such modifications, improvement and substitutions are intended to be included within the scope of the claims appended hereto.