Abstract:
A high speed modem is described that implements a scalable data rate ADSL link. The target data rate of the modem is scaled appropriately relative to a maximum available protocol rate by a factor M based on the signal processing capabilities available for performing DMT modulation and demodulation. An upstream transceiver is informed of the proposed scaling factor during a handshaking procedure, and thereafter the data rate of the channel is then scaled down by sending M copies of the same DMT symbol to the upstream transceiver, which effectively reduces the rate by such factor M. A self-executing calibration routine can be used for determining the appropriate scaling factor for such device, or alternatively, in some contexts a user can configure such scaling factor directly through a suitable interface. The invention can be implemented as a stand-alone unit with a self-contained DSP for performing necessary signal processing, or as a software modem located within a personal computer or similar computing device including portable digital devices such as cell phones, personal digital assistants, etc.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     The present application is a continuation-in-part of the following additional applications: 
     Ser. No. 08/884,895, filed Jun. 30, 1997 for a &#34;Forward Compatible And Expandable High Speed Communications System &amp; Method of Operation&#34;; 
     Ser. No. 08/884,956, filed Jun. 30, 1997 for a &#34;Device Driver For Rate Adaptable Modem With Forward Compatible and Expandable Functionality&#34;; 
     Ser. No. 08/884,957, filed Jun. 30, 1997 for &#34;Software Rate Adaptable Modem with Forward Compatible and Expandable Functionality &amp; Method of Operation&#34;; 
     Ser. No. 08/884,958, filed Jun. 30, 1997 for &#34;Modular Multiplicative Data Rate Modem &amp; Method of Operation&#34;; 
     Ser. No. 08/884,959, filed Jun. 30, 1997 for a &#34;User Controllable Applications Program For Rate Adaptable Modem With Forward Compatible and Expandable Functionality.&#34; 
     Ser. No. 08/884,979, filed Jun. 30, 1997 for a &#34;Rate Adaptable Modem With Forward Compatible and Expandable Functionality &amp; Method of Operation.&#34; 
     The above applications are hereby expressly incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     The invention relates generally to an improved high-speed communications system that establishes a data link using only a selectable and scalable portion of the total available bandwidth (potential downstream data transmission) of a channel. In particular, the present invention permits the characteristics (including target data rate) of an ADSL link to be controlled based on the capabilities of the processing power of a host system that is responsible for implementing a software modem. The system is scalable in performance based on the available signal processing power of such processor, and permits a user to increase throughput to the point of achieving full potential of the available channel bandwidth. 
     BACKGROUND OF THE INVENTION 
     In the prior applications noted above, it was pointed out that Asymmetric Digital Subscriber Line (ADSL) is becoming more and more and popular for high-speed modem applications. The ANSI T1.413 ADSL standard uses a technology called Discrete Multi-Tone (DMT) that sends data over 255 separate frequency channels, and each 4 kHz frequency channel can be made to provide a bit rate up to the best present day voice band (33.6 kb/s) modems. This results essentially in overall performance that is equivalent to around two hundred V0.34 modems used in parallel on the same line. Because each channel can be configured to a different bit rate according to the channel characteristics, it can be seen that DMT is inherently &#34;rate-adaptive&#34; and extremely flexible for interfacing with different subscriber equipment and line conditions. 
     A number of problems arise, however, in attempting to implement a full scale ADSL transceiver cost-effectively, especially in a software modem environment where available signal processing power can vary significantly and unpredictably from device to device. For example, a state of the art desktop computer using the latest microprocessor technology may have a potential signal processing capability many times higher than a simple hand-held computing device. The processor within such devices must also tend to a number of additional operating system and application tasks which limits the available computational time for processing DMT received/transmit symbols. Moreover, DMT technology requires advanced analog front end (AFE) devices that can also push current technology limits and imposes both high cost and power consumption. Both of these facts make a full-scale ADSL implementation undesirable for new and contemplated classes of hand-held personal computing devices. Furthermore, requiring a communications device (such as a modem) to fully support the total throughput of a standard such as ADSL may be unnecessary when prospective users of high-speed data links do not need to use all the available bandwidth provided by such standards. 
     As disclosed in the above prior applications, an ADSL implementation that permits users to throttle or scale the data throughput in a manner they can control, based on their particular application needs, hardware cost budget, etc., is far more efficient and desirable. As such, one approach discussed at length in the above applications for controlling data bandwidth or throughput is to initiate a link in which the transmitting spectrum of the ADSL signal is confined to a particular set of frequencies (or sub-channels) so that the overall data rate can be restricted to a range suitable for the user setting up the channel. By informing an upstream transceiver that only a selected set of sub-channels should be used, and controlling this sub-set, a user can also thereafter scalably increase the data rate through suitable hardware adjustments, including by adding additional AFE stages that permit a larger section of the ADSL signal to be processed. In this manner, the data rate is scaled by processing a larger and larger portion of a regular ADSL signal within a given ADSL symbol period. 
     The merits of a scalable data rate ADSL transceiver, therefore, are well known. Nevertheless, the above solution may not be optimal for all possible environments, in the sense that it may not be the simplest, most cost-effective, most flexible, etc. It would also be extremely desirable if it were possible to reduce the effective data rate in other controllable ways which are flexible, easily implementable within the ADSL protocol, and which optimize computational loading on available signal processing circuitry. For example, in an ADSL software modem context, it would be extremely useful if the receive and transmit data rates could be controlled entirely by software updates and modifications, rather than by hardware changes. To date, however, this capability does not exist in prior art ADSL modems. 
     SUMMARY OF THE INVENTION 
     An object of the present invention therefore is to provide a communications system which is fully compatible with high speed, rate adaptable modulation protocols such as used with ADSL, but which system is nevertheless implementable with simpler digital signal processing circuitry and is thus reduced in cost and complexity; 
     Another objective of the present invention is to provide a method for scaling down a data transmission rate in a DMT modulated ADSL channel by processing only a limited number of symbols in a DMT signal; 
     Another objective of the present invention is to provide a high speed communications system having a data throughput that is easily and finely controllable and expandable through software control, so that the performance range of such system can be configured to any fractional percentage of total bandwidth available in a transmission channel, up to and including full bandwidth use of the channel; 
     These objects and others are accomplished by providing a scalable data rate transceiver which includes a channel interface circuit for receiving an analog data signal from an upstream transceiver through a conventional digital subscriber loop channel. The upstream transceiver negotiates with the transceiver on the value of a data rate scaling factor M. Thereafter, the upstream transceiver transmits M identical copies of an analog data signal, which is sampled by a front end receiving circuit and converted into M identical digital signals. In a preferred embodiment, the analog data signals are DMT symbols representing a number of modulated sub-channels of an ADSL signal. A data buffer is coupled to the front end receiving circuit and is loaded with one of the copies of the M signals. A signal processing circuit (either a dedicated DSP or a host processor accessible to the data buffer through a data channel) then need only process one of the M identical digital signals, which results in a controlled, scaled data rate reduction by such factor M. In a preferred embodiment, therefore, a maximum xDSL data rate R available in a digital subscriber loop is scaled to a rate R/M to reduce computational load and processing requirements of a signal processor used in the signal processing circuit. 
     In another embodiment, a separate upstream transmit data rate R&#39; is also scaled by a factor M&#39; as well, resulting in a scaled data rate R&#39;/M&#39; and thus providing yet another measure of control over the computation load on a signal processing circuit. The values of M and M&#39; can be independently controlled so as to effectuate a maximum transmit rate, a maximum receive rate, a minimum amount of data computational load on the signal processing circuit, etc. Such values for M and M&#39; are generally based on signal processing capabilities available to the transceiver and can be determined by a calibration routine or determined by a user of a host processing device based on system parameter options presented to the user by an applications program running on the host processing device. 
     The present invention can be implemented either with a standalone dedicated signal processor in a conventional hardware modem configuration, or, alternatively, as a software modem utilizing the native processing capability of a host processing device for signal processing requirements. In a software modem embodiment, a bus interface circuit is needed for transmitting the digital signals from the data buffer to a host processing device, and for receiving a transmission control signal from the host processing device to cause the upstream transmitter to transmit at a data rate substantially equal to the scaled data rate R/M. 
     Although the inventions are described below in a preferred embodiment implementing the ADSL standard, it will be apparent to those skilled in the art the present invention would be beneficially used in any high speed rate-adaptable applications. 
     It should be noted that while some prior art devices also have limited mechanisms for achieving a reduction of nominal or peak transmission speed in a channel, they only activate or implement such mechanisms as a fallback response to a failure in the channel, or because of a transmission rate reduction in the upstream transceiver. Unlike the present invention, such prior art modems, during an initialization process, attempt to establish the highest possible transmission rate achievable by the channel and the upstream transceiver. In other words, any rate reduction imposed by the downstream modem is typically considered an unintended and undesirable side effect of bad channel characteristics and not a desirable and intentional design target as set forth in the present invention. In addition, the data rate reduction in such modems is accomplished primarily by varying the number of bits per baud (hertz) at a fixed frequency, and not by controlling the number of symbols that can be provided in a downstream data transmission. 
     Similarly, while a fixed 300 baud rate downstream modem can work with an upstream 33 kb/s rate modem this arrangement is also unlike the present invention. This is because, again, the bandwidth reduction in such prior art device is so large that it is considered commercially unusable by today&#39;s standards. Furthermore, the smaller bandwidth modem is not compatible with, and does not support, the higher protocols of the higher bandwidth modem, which is also undesirable from an implementation standpoint. Stated another way, unlike the present invention, the lower end modem limitations of prior art system force the data link to be set up using a low level protocol that does not take advantage of the full capabilities of more advanced protocols. 
     Finally, there is no mechanism for users of either of the prior art systems noted above to expand the functionality of such modems in a controlled, flexible, and modular manner. 
     The present invention therefore further builds on and complements the approach of our earlier-filed channel rate control applications. In particular, the present invention performs a time domain scaling (rather than a frequency domain scaling) of the ADSL signal in order to scale down the available channel data rate. The computational load of an ADSL system employing the present invention can be scaled by negotiating a scaling factor M with the remote transceiver, based on the processing power available in (or to) the user transceiver. By virtue of the fact that software control (rather than fixed hardware performance constraints) is utilized to configure the scaling factor M, more granular control over the channel data rate can be achieved. In this manner, the scaling factor a user can again achieve a link that is entirely compatible with ADSL protocols, and yet is optimized for the particular computing platform initiating the link. Furthermore, the receive and transmit data rates can be controlled entirely by software updates and modifications, rather than by hardware changes, which is an extremely desirable characteristic from the perspective of the user of such device. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a pictorial depiction of the ADSL/DMT bandwidth allocation for upstream and downstream data in a channel based on frequency division multiplexing (FDM) configuration. 
     FIG. 2 is a block diagram of a general implementation of a communications system employing the present invention, adapted for use in an ADSL environment. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     According to the T1E1.4 ADSL standards, data bits are grouped and processed every 250 μsec. The number of bits that can be processed over one such time frame is the summation of the bits allocated for each subchannel determined from the previous channel response measurement. For a given number of bits assigned to a certain subchannel, quadrature amplitude modulation (QAM) is used to convert bits to a complex value, which is then modulated by the subchannel carrier at the corresponding frequency. The general circuits used in prior art ADSL systems are well-known in the art, and will not be discussed at length herein except where such structures or procedures have been modified in accordance with the teachings herein. 
     The full downstream data throughput of a typical prior art ADSL standard transceiver approaches 6 Mbps, which is more than 200 times the speed of conventional analog modem technology. This requirement was imposed since a large part of the initial motivation to implement ADSL was to achieve high speed multimedia communications and video teleconferencing. 
     Nevertheless, a large number of potential users cannot or do not need to achieve such wide bandwidth capability. For example, most contemporary (and contemplated) hand-held computing devices are not likely to include extremely powerful onboard digital signal processing capability even though such devices are expected to be interfaced to some degree with xDSL links. Other potential users of ADSL (or similar high speed loops), including many who are intending to use such links primarily for Internet access, only need to achieve downstream transmission speeds that are in the hundreds of kilobits per second range. This data rate is in fact achievable using only a fraction of the available bandwidth of ADSL. 
     By scaling the data rate in a controlled fashion, the present invention permits a data rate limited ADSL link to be effectuated with significantly less expense and complexity than previously possible. At the same time, because the present invention is flexibly upgraded, the proposed implementation of the present invention affords users an easy path to forward and upward expansion of the overall functionality of their system. The present invention adjusts the data rate of an xDSL link by providing two time scaling factors M and M&#39; in the receive and transmit directions respectively. These two factors are determined by estimating available signal processing power of a communications system to represent the fractional capabilities of the particular transceiver in question compared to a nominal full xDSL data rate implementation. After these factors are determined, they are communicated to an upstream transceiver during a handshaking procedure so that any data link established is data rate constrained to match the downstream transceiver&#39;s signal processing capability. As the signal processing capability available to the transceiver is enhanced (either through an upgraded dedicated processor or additional computation horsepower provided by a host processor), the scaling factor M and M&#39; can be reduced, resulting in an increase in the data rate for the link. 
     GENERAL EMBODIMENT OF PRESENT INVENTION 
     The basic structure of the present invention is depicted generally in FIG. 2. In general, the present invention can be embodied in different combinations of hardware and software. The primary difference between these embodiments is the specific implementation of the DMT core, and this is discussed in more detail below. 
     The structure and operation of ADSL transceivers is well-known in the art, and for that reason the present description primarily details those aspects of such transceivers which are necessary to an understanding of the inventions herein. As seen in FIG. 2, a channel 100 is made of a regular copper wire &#34;loop&#34;, and each such loop may have differing electrical properties, transmission lengths (sizes), varying attenuation characteristics, and a number of impairments or interferences. Splitter 210, a conventional and well-known circuit, separates a DMT signal occupying more than 200 sub-channels from a lower end 4 kHz POTS analog signal. The latter can be used for simultaneous voice or conventional analog modem transmission. It will be appreciated as well by skilled artisans, however, that the present invention is also completely compatible with so-called &#34;splitterless&#34; ADSL solutions. Hybrid circuit 220 is also well-known in the art, and consists primarily of conventional transformers and isolation circuitry used in a wide variety of high-speed devices interfacing to standard telephone lines. A ring detect logic circuit 290 can also be implemented using accepted techniques, to alert a Control Interface 245 to the existence of a transmission signal originating from an upstream transceiver (not shown). 
     The full bandwidth signal is bandpass limited to a frequency width B by suitable, well-known techniques as it passes through bandpass Filter and Analog/Digital Converter 280. The received DMT signal is sampled (using any of a number of well-known techniques) and buffered in Buffer 270, which, in a preferred embodiment, is a FIFO. This FIFO is large enough to hold a single block of samples for one DMT symbol. Alternatively, it may be desirable in some contexts for Buffer 270 to include a larger FIFO that is capable of holding more than one DMT sample at a time. 
     Based on a scaling factor M determined during the handshaking process during the time the xDSL link is established with an upstream transceiver, Buffer 270 stores only one DMT symbol from every set of M symbols received. That is, of the M symbols, M-1 symbols are not stored but simply discarded. This scales down the processing load of Receiver Core 260 by a factor of M. 
     DMT Receiver Core 260 is responsible for extracting the original data stream from the numerous sub-carriers within any specific received DMT symbol block. Based on a scaling factor M negotiated between transceiver 200 and an upstream transceiver, DMT Receiver Core 260 will only process one out of every M received blocks of DMT symbols. The remaining M-1 frames are ignored or dropped as depicted visually in FIG.2. This aspect of the invention results in the fact that the signal processing capability required is reduced correspondingly by a factor M. In a preferred embodiment, M can be practically varied in integral values from 1 to 10, and is preferably an integer between 1 and 6. The additional M-1 frames can be dropped of course since they are merely duplicates of each other transmitted by the upstream transceiver. In this manner, the effective data rate of the xDSL link is scaled down by a factor M. In the limiting case, M=1, and a full xDSL data rate can be achieved. In other words, a reduced received data rate R(Rx)/M is effectuated where R(Rx) is the nominal maximum downstream data rate available in the particular xDSL protocol being used. 
     Again in a preferred embodiment, Control Interface 245 receives system configuration information from a host through bus 201. This information may contain such parameters as target throughput rate R, target error rate, etc. By evaluating the signal processing capability of DMT receive core 260, and taking into consideration a requested target data rate R, Control Interface 245 can determine M prior to data transmission. Again, unlike the prior art, the feedback information concerning M is provided by transceiver 200 based primarily on the limiting factor of signal processing capabilities available at transceiver 200 to implement the DMT Rx and Tx data pumps, and not with regard to the transmitting capacity of the upstream transceiver, or the bandwidth of channel 100. This is because, under typical operating conditions, the upstream transceiver and the channel in an xDSL link are expected to have significantly higher data rates. 
     The DAC 230 and Buffer 240 in the front end transmitting circuit can preferably transmit upstream data using a second frequency bandwidth different from that of the downstream transmission. However, this is not necessary in systems using echo-cancellation. In ADSL applications, the size of this bandwidth is considerably smaller to support a much smaller number of sub-channels. A major modification of this invention to a conventional xDSL transceiver is the fact that Buffer 240 is filled with M&#39; times of the same transmitted DMT symbol. Because of the disparate transmit and receive rates in xDSL systems (such as ADSL), the M and M&#39; values can be different. The scaling factor M&#39; on the transmit side is determined based on the signal processing capability available to process DMT symbols. As such symbols are generated by DMT Tx Core 250, they are stored in Buffer 240 and then converted to analog wave forms by DAC 230. In another preferred embodiment, Buffer 240 only needs to store one DMT block and DAC 230 can be controlled by conventional hardware or software logic to repetitively read Buffer 240 M&#39; times. This scaling reduces the load of DMT Tx core 250 by a factor of M&#39;, and reduces the transmit data rate to R(Tx)/M&#39;, where R(Tx) is the nominal maximum upstream data rate available in the particular xDSL protocol being used. 
     In a preferred mode of operation, therefore, scaling factors M and M&#39; are first determined for transceiver 200. Generally speaking, these factors are determined by measuring the time required for the available digital signal processing to process a complete frame, taking into account other typical overhead requirements. This determination procedure can take the form of a self-test or calibration routine that is entirely embedded within a control routine associated with a DSP onboard such transceiver, or, alternatively, in a software modem application, as part of a control routine executed by an off-board processor associated with a user&#39;s computing system. It may be desirable, in some contexts to permit a user to configure the specific allocation of transmit and receive data rates through a conventional software program running on such user&#39;s personal computer. These routines can be implemented in any number of known ways, and examples are provided in the prior applications noted above. The values for M and M&#39; (which could also include a range of minimum and maximum values for such factors, and/or a relationship between M and M&#39;) can be stored onboard transceiver 200 or within an off-board computing system. 
     When it is desired to establish an xDSL compatible link, standard hand-shaking protocols are utilized such as specified in the T1.413 standard. In addition, however, the upstream transceiver is notified and given information concerning the data rate scaling factors M and M&#39; that transceiver 200 wishes to use for the particular link. Assuming the upstream transceiver contains compatible handshaking processing logic, it can either notify downstream transceiver 200 of the acceptability of such request, or alternatively, in turn request a modification of such factors based on an evaluation of such items as channel characteristics, the target data rates, the processing power available at the upstream transceiver, etc. If the linked transceivers are otherwise able to agree on a set of scaling values M and M&#39;, the resulting link is set up to operate in the manner described above. 
     Some special features of the present invention include the fact that: 
     (i) unlike hardware architectures implementing a full T1.413 ADSL standard, the present invention loads a DMT block in the receive Buffer 270 every M DMT symbols, where M is agreed to during a handshaking procedure between the upstream and downstream transceivers; 
     (ii) DMT Rx core 260 is basically implemented the same way as specified by T1.413, but with some important differences, including the fact that it is only necessary to process one of every M DMT symbol blocks within the standard xDSL time period, the speed of FFT implementation can be slower and more cost-effective; 
     (iii) Control logic 245 permits the system to behave essentially like a conventional analog modem, and is used to support necessary setup tasks such as dialing and handshaking; 
     (iv) The sampling clock rate, the DMT symbol rate, pilot tones, and upstream and downstream frequency bands remain unchanged from a typical xDSL implementation. The number of samples per symbol, as well as the time duration of a symbol, are also kept the same. These facts make the present invention extremely attractive as a flexible adaptation of xDSL technologies. 
     (v) The characteristics of a software xDSL transceiver (as discussed in more detail below), including receive and transmit data rates, can be controlled entirely by software updates and modifications to the DMT Tx and Rx routines, rather than by hardware changes. 
     Other variations which maximize the utility of available signal processing power are apparent. For example, it is conceivable that in some applications it will be desirable to determine a range of values for M and M&#39;, and/or to control the relationship between M and M&#39;. 
     Other variations, which maximize the utility of available signal processing power, are apparent. For example, it is conceivable that in some applications it will be desirable to determine a range of values for M and M&#39; and/or to control the relationship between M and M&#39;. For example, it may be preferable to set M=M&#39; so that the total time spent for each DTM symbol processing is a small fraction of the symbol period. Alternatively, M and M&#39; can be set to maximize either the transmission rate or the receive rate while keeping the total computation time within a small fraction of the overall system load. For example, to maximize the transmission rate, the scaling factor M for the receiver is set to the maximal allowable value and M&#39; for the transmitter is minimized so that the total computation load is within a small fraction of the overall system load. A similar process can be performed when the receive rate needs to maximized. Another possible criterion for setting up the scaling factors is to maintain a certain transmission and receive rate ratio while minimizing the overall load. In this case, the total load ##EQU1## is minimized (L tx  and L rx  are the computation load for the transmitter and receiver, respectively) while the data rate ratio ##EQU2## is maintained at a constant C. 
     The data transmit and receive rates of the transceiver system therefore could be finely controlled and allocated according to the characteristics, needs or desires of any particular user of such system. Moreover, by providing and storing a range of scaling values for M and M&#39;, say 3&lt;M&lt;6, and 4&lt;M&#39;&lt;8, a data link can be flexibly and quickly established without the need for further calibrations or processing power determinations. 
     While DMT Tx Core 250 and DMT Rx Core 260 are shown coupled closely to the front end stages of transceiver 200, in what may be considered a dedicated hardware implementation, it is apparent that they could also be embodied within a host computing system as part of a &#34;software&#34; modem as explained in more detail below and in the previously filed applications mentioned above. Briefly, however, in a dedicated hardware type implementation DMT sub-channel modulation core is implemented completely in dedicated processing hardware. For this application, DMT Receiver Core 260 typically includes a digital signal processor (DSP) (not shown) and including on-board program ROM (or other suitable memory) for storing executable microcode routines for performing bit, energy and SNR measurements of the carriers in the sub-channels. In such cases system 200 is typically incorporated on a printed circuit board. By mounting or packaging the circuits used in such blocks in an accessible fashion, they can be replaced or supplemented much in the same way present users of personal computers can upgrade their motherboards to include additional microprocessing power or DRAM enhancements. One practical alternative, for example, would be to have an available zero insertion force (ZIF) socket for replacing the DSP or additional available slots to accommodate new DSPs so that a greater number of frames can be processed within a particular time period by DMT Rx Core 260 and DMT Tx Core 250. Other practical and simple variations of this approach will be apparent to those skilled in the art. 
     In the above dedicated hardware embodiment, the overall speed (data throughput) can be maximized but with less flexibility for upgrades. This is because upgrades to such a system must take the form of hardware replacements, which can be more costly and difficult for the user to incorporate. On the other hand a number of important functions of a communications system can be completely implemented in software, in an analogous fashion to what is commonly described in the art as a &#34;software&#34; modem. In this case, the overall speed of the system depends on the user&#39;s processor power available to such user, and only the AFE and Buffer portions of the transceiver need be implemented in hardware. Such software modem implementations could be used in a personal computer system, a hand-held personal digital assistant, a cellular telephone, and similar portable devices having available signal processing capability. 
     The primary differences between such embodiments are generally: (1) implementation of DMT modulation; (2) implementation of the control and handshaking functions; and (3) implementation of the control interface. An example of both dedicated hardware and software embodiments of an xDSL transceiver is provided in the above-referenced applications, and either of such embodiments could be used effectively with the present invention. Moreover, a more detailed characterization of preferred embodiments of device drivers and user application programs that could control transceiver 200 are also provided in such applications. 
     Although the present invention has been described in terms of a preferred ADSL embodiment, it will be apparent to those skilled in the art that many alterations and modifications may be made to such embodiments without departing from the teachings of the present invention. For example, it is apparent that the present invention would be beneficial used in any xDSL or high speed multi-carrier application environment Other types of VLSI and ULSI components beyond those illustrated in the foregoing detailed description can be used suitably with the present invention. Accordingly, it is intended that the all such alterations and modifications be included within the scope and spirit of the invention as defined by the following claims.