Abstract:
A two dimensional scheduler integrates the allocation of both the time domain and the channel domain for upstream communication in a broadband wireless access system. This allows for the optimization of system resource usage and allows for dynamic switching between a number of different upstream channels by a modem. Modems are calibrated via a calibration message constructed at the hub by measuring some parameters of communication bursts between the modem to the hub. The modems rotate in using the available upstream channels so that each available channel is fully calibrated using actual communication bursts, keeping the parameters for each channel ready for use when assigned for communicating on any of the available channels.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of Invention  
           [0002]    The present invention relates to broadband wireless access systems, and amongst other things to a method of dynamically scheduling multiple upstream channel transmission in a broadband wireless access system.  
           [0003]    2. Discussion of Background  
           [0004]    Point to multi-point fixed broadband wireless access systems over MMDS networks are known in broadcast situations. These networks operate over licensed bands including the MMDS band (2,150 to 2,162 MHz), the WCS band (2,305 to 2,360 MHz) and the ITFS/MMDS bands (2,500 to 2,686 MHz).  
           [0005]    A known cable based broadband access system, which operates at a range of between 50 MHz and 864 MHz, but not in the MMDS, WCS, or ITFS/MMDS bands, is the data over cable specification system, which is specified in the data over cable system interface specifications (DOCSIS). An overview of the cable based DOCSIS system is depicted in FIG. 1. A CMTS  10  communicates with a wide area network  20 , such as the internet. The CMTS  10  can transmit signals from the wide area network  20  along a cable network  30  through cable modems  40  to CPE  50  (Customer Premise Equipment—intended throughout this document to include a computer and/or all of the equipment at the customer site, such as a LAN—Local Area Network). CPE  50  messages can be transmitted to the wide area network  20  through the cable modem  40  along the cable network  30  to the CMTS  10 .  
           [0006]    In point to multi-point broadband access systems one central end-point, i.e. the head-end, communicates through a bi-directional link or links with multiple end-points, i.e. the nodes. The number of nodes in communication varies in time and can be none, one or two or more at any specific time.  
           [0007]    The link(s) between the head-end and the nodes are combined in one or more channels. The signal path from the central end-point to the nodes is referred to as downstream, while the signal path from the nodes to the central end-point is referred to as upstream.  
           [0008]    A single channel can be used to deliver information from a node to the head-end, and the downstream is used from the head-end to a node or a group of nodes. On any single upstream channel used for communication from the nodes(s) to the central point, then only one end-point can successfully send information on the single upstream channel at any one time.  
           [0009]    If multiple upstream channels are utilized for communication from the nodes(s) to the central point the upstream channels need to be differentiated from one another to prevent interference. Examples of differentiation methods include FDMA, different sub-channels of OFDM, transmission of different polarity or direction of the node antennas, and different subnets in a CATV network.  
           [0010]    To successfully utilize several upstream channels, it is required that no two nodes transmit on the same upstream channel during the same time period, e.g. time slot in a TDMA type scheme. Therefore, a coordination method is required that will allocate to each node a separate channel and/or time interval to prevent interference.  
           [0011]    The performance characteristics, including such factors as capacity and error rate, can be different for each upstream channel and for each node that is using the upstream channel. These performance characteristics generally vary over time, due to environmental conditions. Examples of specific causes of the variations are multi-path fading or external interference, which are both frequency dependent. Different channels can use different parameters, such as modulation scheme and symbol rate, to support more robustness or higher information rate.  
           [0012]    A known upstream channel allocation scheme is defined in DOCSIS. These specifications refer to the case of HFC network. In the DOCSIS system, each upstream channel is assigned a different frequency range. Different channels are used for upstream or downstream directions.  
           [0013]    In the DOCSIS scheme there is no need to coordinate the downstream channel, since only the head-end is transmitting in this direction. Further in DOCSIS, the head-end is responsible for the allocation of the upstream channels. These allocations are performed in two general steps, one for the allocation of an upstream channel and the other for the allocation of time intervals in the upstream channels.  
           [0014]    The head-end periodically transmits information regarding available upstream channels and their parameters on the downstream channel. This information is used during the registration process by the modem to select an upstream channel. Also, the head-end can command a node to change its upstream channel. Changing of an upstream channel is a long procedure, which may take a long period of time, while the service is interrupted. Hence, a node normally maintains the same upstream channel for a long period of time or even the length of its entire communication scheme.  
           [0015]    The allocation of the time intervals on each upstream channel is also performed by the head-end. The head-end transmits the time interval allocations on the downstream channel in a message called MAP. A single MAP message describes time interval allocation on a single upstream channel for a specific period of time.  
           [0016]    The DOCSIS solution uses a fixed upstream channel for each node, which implies that statistical changes to the traffic load may cause a high load on one channel, while not allowing other channels with lower loads to be used to balance higher load channel. Further, if the performance of the current upstream channel of a node becomes unacceptable, e.g. falls below predetermined threshold levels, the node must switch to an alternate channel. This switching process, which includes a search for the best available channel, takes a longtime during which service to the node is interrupted.  
           [0017]    It is desired to make the upstream channel allocations in such a way that will utilize as much of the upstream channel capacity as possible. Further, it is desired that should communication with each node on an upstream channel is maintained as having as high of performance capabilities as possible. Additionally, when multiple services are supported by the broadband access system, some Quality of Service (QoS) requirements need to be defined which add additional limitations on any allocation scheme. Such limitations can include the committed information rate for each node.  
         SUMMARY OF THE INVENTION  
         [0018]    In one embodiment, the present invention provides for a method for scheduling that integrates the allocation of both the time domain and the channel domain to a wireless modem for upstream communication in a broadband wireless access system. This allows for the optimization of system resource usage and allows for dynamic switching between a number of different upstream channels by the modem.  
           [0019]    In another embodiment, the present invention provides for a method for scheduling upstream channel transmission by a wireless modem in communication with a wireless hub in a broadband wireless access system. The method comprises synchronizing the wireless modem with the wireless hub on a downstream channel, receiving at the wireless modem a message comprising information regarding the parameters for communicating over each of a plurality of upstream channels, utilizing one upstream channel of the plurality of upstream channels, transmitting from the wireless hub to the wireless modem a message regarding a change to some of the parameters for communicating over some of a plurality of upstream channels, and utilizing another upstream channel of the plurality of upstream channels to communicate from the wireless modem to the wireless hub.  
           [0020]    In another embodiment, the present invention provides for a method for calibration of upstream parameters by combination of using the transmitted data and special messages for modems that are not transmitting data.  
           [0021]    The present invention may be embodied as a method for scheduling upstream channel transmission by a wireless modem of a plurality of wireless modems in communication with a wireless hub in a broadband wireless access system, comprising, synchronizing the wireless modem with a wireless hub on a downstream channel by synchronizing the symbol timing, forward error correction framing, and recognition of a synchronization message at the wireless modem, receiving at the wireless modem on the downstream channel at least one message comprising information regarding parameters for communicating over each of a plurality of upstream channels, utilizing one upstream channel of the plurality of upstream channels to communicate from the wireless modem to the wireless hub for one burst, transmitting from the wireless hub to the wireless modem on the downstream channel at least one message regarding a change to some of the parameters for communicating over at least some of the plurality of upstream channels, and utilizing another upstream channel of the plurality of upstream channels for another burst to communicate from the wireless modem to the wireless hub based upon the change to some of the parameters for communicating over each of the plurality of upstream channels.  
           [0022]    The present invention includes a method of calibrating a modem in a communication system, comprising the steps of, measuring parameters of messages received by a hub communicating with said modem, sending a correction message from the hub to the modem, and changing the parameters at the modem. In addition the invention may be embodied as a device having parts configured to perform each step of the above described methods.  
           [0023]    Both the device and method may be conveniently implemented on a general purpose computer, or networked computers, and the results may be displayed on an output device connected to any of the general purpose, networked computers, or transmitted to a remote device for output or display. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]    A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:  
         [0025]    [0025]FIG. 1 is an overview of a known data over cable system;  
         [0026]    [0026]FIG. 2 is a block diagram of a wireless hub communicating with a plurality of wireless modems in a broadband wireless access system according to a presently preferred embodiment of the present invention;  
         [0027]    [0027]FIG. 3 is a flow chart of a process for acquiring and allocating a plurality of upstream channels according to the present invention;  
         [0028]    [0028]FIG. 4 is a flow chart of a calibration procedure according to the present invention; and  
         [0029]    [0029]FIG. 5 is a flow chart of a multi-channel calibration procedure according to the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0030]    Referring again to the drawings, wherein like reference numerals designate identical or corresponding parts, and more particularly to FIG. 2 thereof, there is illustrated a presently preferred embodiment of the present invention, including a wireless hub  100  that communicates with a number of wireless modems  110 ,  112  and  114  on a downstream channel  120  and upstream channels  130 ,  132  and  134  respectively. The wireless hub, by determining the load and RF performance characteristics of each upstream channel  130 ,  132  and  134 , can assign any of the wireless modems  110 ,  112  or  114 , on its next burst, to another upstream channel. The newly assigned upstream channel is one of a group of upstream channels assigned by the wireless hub to the wireless modem  110 ,  112  or  114 . This can be an assignment of one of the wireless modems to a same upstream channel as another wireless modem, e.g. assigning wireless modem  110  to upstream channel  132 , or assignment to a completely different upstream channel, e.g. assigning wireless modem  112  to upstream channel  136  (not shown).  
         [0031]    The scheduler, which is presently preferred to be referred to as a two dimensional scheduler, integrates the allocation of both the time domain and the channel domain. This combined approach enables optimization of system resource usage, while also optimizing for the RF capabilities of each modem.  
         [0032]    The wireless hub monitors the alterable parameters of the wireless modem, such as power, frequency offset, timing and delay. This enables the wireless hub to quickly instruct the wireless modem to switch to another upstream channel, if and when, an upstream channel in current use becomes unavailable or suffers from a degradation of performance.  
         [0033]    Referring to FIG. 2, when a wireless modem connects to the network, it will preferably be assigned by the wireless hub to a group of channels that can be used as the upstream channel by that modem. The wireless hub will supply to the nodes all the required parameters, which are needed to communicate over each of the upstream channels in the group. If necessary, that information can be altered during a connection period, based upon any dynamic changes sensed by the wireless hub. The wireless hub continuously assigns resources of each channel group to the modems assigned to the group. The list of allocations is delivered on the downstream channel in messages, which describe, for each allocation, both the time interval and the channel to be used.  
         [0034]    Each node will be able to switch to a different upstream channel in the group between successive transmissions by that node. If there is a minimum switching time that is required by a modem, it will be known at the wireless hub. This can be configured into the hub or can be delivered through the network. The wireless hub will take this minimum switching time into account when making the allocations.  
         [0035]    In addition, the wireless hub monitors the received information on the upstream channel. It employs this information to instruct the modem to correct the ranging parameters. Examples of such parameters are symbol rate and modulation scheme, e.g. QPSK or QAM. This continuous monitoring and parameter correction is done with respect to all the upstream channels in the group to enable the continuous and accurate usage of those channels. The channel monitoring operation enables the wireless hub to follow the performance of each modem on each channel. This information can be used to optimize the allocations, such that a modem will get more allocations on channels where its performance is higher.  
         [0036]    It is also preferred that different channels will typically use different parameters as a tradeoff between throughput and robustness. Modems with transmission paths having transmission problems, resulting in high error rates problems, and therefore cannot use the higher throughput channels, will be allocated a lower throughput but more robust channel. Modems that are providing adequate information rates will be able to use both the high throughput and the lower throughput channels, according to the available resources of those channels.  
         [0037]    A specific implementation of the above described, which is described below, scheme is based on the Data-Over-Cable Service Interface Specifications (DOCSIS) of the Cable Television Laboratories Inc, which are incorporated herein by reference in their entirety as if fully set forth herein. The DOCSIS specifications refer to the case where the transmission medium is a HFC network. However, the PHY that is defined in these specifications can be modified to support wireless networks.  
         [0038]    The following are the changes to DOCSIS protocol and message content and format that are required to implement the scheme:  
         [0039]    A wireless hub will be assigned a group of channels rather than a single channel as in DOCSIS. The Upstream Channel Descriptor (UCD) and Upstream Channel Change (UCC) MAC management messages will be changed to define this group of channels.  
         [0040]    The DOCSIS MAP format will be changed in such a way that it will define, for each allocation, both the time period and the upstream channel for each modem to use. A modem utilized in this scheme will therefore be capable of decoding all of the MAP messages for its channel group and use any allocation in it.  
         [0041]    A modem should be capable to transmit each packet on a different channel, according to the channel that has been assigned in the MAP message. The wireless hub will assure a minimum required interval between consecutive allocations on different channels for the same modem. This interval should be configured in or otherwise maintained by the wireless hub.  
         [0042]    After acquiring a downstream channel, a modem will receive information regarding a group of upstream channels. The group of upstream channels will be defined in the UCD message. The modem will first perform ranging on a single channel from this group, as described in DOCSIS. After successfully ranging on the single channel, the modem will transmit on this single upstream channel, while continuing to range the other channels in the group when it is not transmitting on the single upstream channel. The wireless hub will allocate a modem, for purposes other than ranging, only on channels where it has completed the ranging process. This procedure enables fast initialization with the capability for subsequent connections to all the channels in the channels group.  
         [0043]    A presently preferred two dimensional MAP message, MAP2D, which replaces the DOCSIS MAP message to support two dimensional, channel and time, allocation is described below. Alternatively, the DOCSIS MAP format may be used if a single channel is being used. A MAP that complies with DOCSIS is indicated by a version 1 identity, while the MAP2D message herein is indicated by the version 129 identity.  
         [0044]    For an upstream channel group with more than one channel, a Base Station Indoor Unit (BS IDU) generates MAP2Ds in the format shown in Table 1 below.  
                                               TABLE 1                       MAP2D Message Description                                Bit   0   8   16   24                       31           Mac Management           Message Header           Upstream   UCD Count   Number of   Reserved           Channel       elements           Group ID           Alloc Start Time           Ack Time           Ranging   Ranging   Data Backoff   Data Backoff           Backoff Start   Backoff End   Start   End                Map Information Elements                      
 
         [0045]    The parameters of Table 1 are identified in Table 2 below as follows:  
                         TABLE 2                       MAP Information Element Structure                                Upstream Channel   The identifier of the upstream channel group to       Group ID   which this message refers.       UCD Count   Matches the value of the Configuration Change           Count of the UCD, which describes the burst para-           meters which apply to this map. See Section 9.3.2.       Number Elements   Number of information elements in the map.       Reserved   Reserved field utilized for alignment.       Alloc Start Time   Effective start time from BS IDU initialization           (in mini-slots) for assignments within this map.       Ack Time   Latest time, from BS IDU initialization, (mini-           slots) processed in upstream. This time is used by           the CPE IDUs for collision detection purposes. See           Section 7.4.       Ranging Backoff   Initial back-off window for initial ranging conten-       Start   tion, expressed as a power of two. Values range           0-15 (the highest order bits must be unused and           set to 0).       Ranging Backoff   Final back-off window for initial ranging contention.       End   This is expressed as a power of two. Values range           0-15 (the highest order bits must be unused and set           to 0).       Data Backoff Start   Initial back-off window for contention data and           requests, expressed as a power of two. Values range           0-15 (the highest order bits must be unused and set           to 0).       Data Backoff End   Final back-off window for contention data and           requests. This is expressed as a power of two.           Values range 0-15 (the highest order bits must be           unused and set to 0).       MAP Information   Values for IUCs are defined in Table 6-20 in       Elements   DOCSIS RFIv1.1 and are described in detail in           Section 7.1.2 of DOCSIS RFIv1.1. Changes to the           definitions in DOCSIS are followed.                  
 
         [0046]    It should be noted that, that the lower (26−M) bits of the Alloc Start Time and Ack Time are used as the effective MAP start and Ack times where M is given in Section 6.3.3 of DOCSIS RFIv1.1. The relationship between the Alloc Start/Ack time counters and the timestamp counter is described in Section 7.4 of DOCSIS RFIv1.1.  
                                 TABLE 3                       MAP Information Element Structure                                Bit    0   14   18           13   17   31           Channel ID   IUC = 14   Offset = Initial                   offset for first                   channel       First Interval   SID   IUC   Offset       Second Interval   SID   IUC   Offset           .           .       Last Interval of first   SID   IUC   Offset       channel       End of list for first   SID = 0   IUC = 7   Offset = End of       channel           last allocation + 1           Channel ID   IUC = 14   Offset = Initial                   offset for second                   channel       First Interval of second   SID   IUC   Offset       channel           .           .       Last Interval of second   SID   IUC   Offset       channel       End of list for second   SID = 0   IUC = 7   Offset = End of       channel           last allocation + 1           .           .       End of list for last   SID = 0   IUC = 7   Offset = End of       channel           last allocation + 1           SID   IUC   Offset = Don&#39;t                   care       Acknowledgements   .       and Data Grants   .       Pending           SID   IUC   Offset = Don&#39;t                   care                  
 
         [0047]    The allocation MAP Information Elements (IE) are the same as specified in the DOCSIS RFI specification, except for the following changes. First, the MAP2D may contain allocation instructions for a number of channels of the same channel group. Second, an additional element is added to indicate the upstream channel to be used for subsequent allocations. Third, there is no requirement for the allocations for all the channels to start at the same mini-slot. Hence, a starting offset is added to indicate the start of first allocation of this channel, relative to the Alloc start time.  
                           TABLE 4                           Interval Usage Code   SID           IE Name   (IUC) (4 bits)   (14 bits)   Mini-slot Offset (14 bits)                   Channel   14   Upstream   Starting Offset for this       Indicator       Channel ID   channel                  
 
         [0048]    The Null IE is used to terminate each one of the channels, see Table 4 above. Its offset size refers to the ending offset of the previous allocation and it is not necessarily the same as the map length.  
         [0049]    Acknowledgement and data grants pending are delivered at the end of all the channel allocations. Since the map length may be different for each channel, there is no meaning to this value which is defined in DOCSIS. In this standard, the offset for this IEs is unused and may be set by the BS IDU to any desired value.  
         [0050]    A preferred embodiment of the wireless modem initialization procedure utilizing the functions of the present invention comprises (referring to FIG. 3):  
         [0051]    1. Acquiring a downstream channel (step  300 , see DOCSIS, for example)  
         [0052]    1.1 Scanning to find a downstream channel.  
         [0053]    1.2 Lock onto modulation symbols.  
         [0054]    1.3 Locking onto FEC frames.  
         [0055]    1.4 Locking onto MPEG-2 frames.  
         [0056]    1.5 Receiving SYNC message to acquire the system time reference.  
         [0057]    2. Acquiring an upstream channel (steps  310 - 320 )  
         [0058]    2.1 Receiving the UCD message from the downstream channel (step  310 ). This message defines the upstream channels group with all the needed parameters to use the channels.  
         [0059]    2.2 Waiting for a MAP message that includes an allocation for initial ranging. This message includes an indication to the channel, which should be used for the initial ranging.  
         [0060]    2.3 Sending a Ranging Request Message (RNG-REQ) at the time and on the channel that were defined in the MAP message.  
         [0061]    2.4 Get Ranging Response Message (RNG-RSP). This message may contain corrections to the wireless modem&#39;s parameters such as frequency offset, power level or timing. If at this point there are no corrections, skip to step 4. If there are corrections create them and send again RNG-REQ message on the next allocated channel and timing.  
         [0062]    3. Configuration and Registration (same as DOCSIS).  
         [0063]    3.1 Acquiring IP parameters, using DHCP.  
         [0064]    3.2 Acquiring Time Of Day from the time server.  
         [0065]    3.3 Download configuration file from TFTP server.  
         [0066]    3.4 Send Registration Request (REG-REQ)  
         [0067]    3.5 Get Registration Response (REG-RSP)  
         [0068]    3.6 Send Registration Acknowledgement (REG-ACK)  
         [0069]    4. Acquiring the other channels of the channels group  
         [0070]    After the initialization, the modem continues to acquire the other channels in its channels group (step  330 ). This process is done on the background, while the modem can transmit data in the acquired channels. Acquiring of the other channels is done as the same way of the first one (steps 2.2-2.4).  
         [0071]    The wireless hub should give allocations for data, only on the acquired channels (step  340 ). This procedure enables fast starting with gradual connection to all the channels in the channels group. It should be noted that all the upstream transmissions use the same allocation types as in DOCSIS. The allocations here also include the additional parameters of the upstream channel, which must be used by the modem.  
         [0072]    The scheduler implementation will be based on any scheduler that can be used with a DOCSIS system, with the following modifications:  
         [0073]    1. The available mini-slots to be used for allocations are all the mini-slots on all the upstream channels within a channels group. The wireless hub can assign bandwidth for the wireless modem on any upstream channel on a per burst basis.  
         [0074]    2. Each modem should be assigned a priority for each channel. The priority is based on the performance of the modem on each channel and the load on the channel. These priorities can be dynamically changed.  
         [0075]    3. Allocations for modems will be done according to these priorities. This way, a modem with low information rates or high error rates on one channel will get its allocations on other channels which will be with higher priority for that modem. Modem with high performance on all the channels will get most of its allocations on the less loaded channel.  
         [0076]    4. A minimum allocation rate will be assigned for each modem on each channel, even those with low priority. This assures that the information on the performance and parameters on each channel per each modem is updated (see step  530 , for example).  
         [0077]    5. Periodic calibration of upstream parameters (one or multiple channels)  
         [0078]    Periodic calibration of upstream operational parameters like power, timing, frequency offset and equalizer coefficients is required to be done in the point-to-multipoint BWA systems. Calibration is required to be updated from time to time. Referring now to FIG. 4, calibration of upstream parameters involves measurement of the received parameters by the hub, building a correction message, sending the correction message from the hub to the modem, and correction of the parameters by the modem.  
         [0079]    The periodic calibration is typically done, as in DOCSIS, by periodically special purpose transmissions from the modems to the hub. These messages are used by the hub to measure the parameters and then it returns a message with the needed corrections.  
         [0080]    According to this invention, the calibration of all the modems is done in two ways:  
         [0081]    The active modems can be calibrated by measuring the parameters of the received data.  
         [0082]    The non-active modems will do calibration by polling as defined in the DOCSIS specification. Since these modem are not active, a lower rate may be used.  
         [0083]    Referring now to FIG. 4, the hub waits for a received data message (step  400 ). If not received, the hub sends polling request for ranging the inactive modem (step  405 ), and the inactive modem responds with a ranging message (step  407 ). With either a received data message or a received ranging message, the hub then measures parameters of the received message and calculates correction parameters (step  410 ), sends the correction parameters to the modem (step  420 ), and the modem applies the correction parameters (step  430 ).  
         [0084]    With multiple channels, as described in this patent, the system is required to keep track of the parameters of all the channels. This will cause a large overhead with the DOCSIS polling method. To resolve this, in two dimensional scheduling, allocations are made in such way that modems get allocations in all the channels. There will be at least one allocation for each channel as per pre-configured interval. This way the active modems will be calibrated by measurement of the received data parameters.  
         [0085]    A minimum allocation rate will be assigned for each modem on each channel, even those with low priority. This assures that the information on the performance and parameters on each channel per each modem is updated. If a modem is not transmitting enough data to assure the minimal allocation on all the channel, then special messages (as in DOCSIS) will be transmitted by the modem to achieve the minimum rate. Referring to FIG. 5, the process may be embodied in the steps of receiving an upstream channel allocation(s) from the hub (step  500 ); changing, by the modem, of the upstream channel (step  510 ); calibrating the new upstream channel (see FIG. 4, for example) (step  520 ); and, at the predetermined interval, changing the upstream allocation by the hub (step  530 ).  
         [0086]    While the embodiments, applications and advantages of the present invention have been depicted and described, there are many more embodiments, applications and advantages possible without deviating from the spirit of the inventive concepts described and depicted herein. The invention should only be restricted in accordance with the spirit of the claims appended hereto and is not restricted by the preferred embodiments, specification or drawings.  
         [0087]    The present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art.  
         [0088]    Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.  
         [0089]    The present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to control, or cause, a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, mini disks (MD&#39;s), optical discs, DVD, CD-ROMS, micro-drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices (including flash cards), magnetic or optical cards, nanosystems (including molecular memory ICs), RAID devices, remote data storage/archive/warehousing, or any type of media or device suitable for storing instructions and/or data.  
         [0090]    Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing the present invention, as described above.  
         [0091]    Included in the programming (software) of the general/specialized computer or microprocessor are software modules for implementing the teachings of the present invention, including, but not limited to, synchronizing communication between a modem and hub, calculating calibrating parameters of received transmissions, sending calibration messages on downstream channels, calibrating modems based received calibration messages, selecting upstream channels based on channel and mini-slot allocations, and the display, storage, or communication of results according to the processes of the present invention.  
         [0092]    Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.