METHOD AND APPARATUS FOR SCALING MODEM TRANSFER CAPACITY BASED ON RESOURCE AVAILABILITY

Abstract: A modem (305) for communicating data using a plurality of tones includes a negotiation unit (45), a modulator (65), and a demodulator (90). The negotiation unit (45) is adapted to receive resource availability data and determine an available tone range based on the resource availability data. The modulator (65) is adapted to receive the available tone range and modulate a first plurality of the tones to generate outgoing data. The number of tones in the first plurality is based on the available tone range. The demodulator (90) is adapted to receive the available tone range and demodulate a second plurality of the tones to generate incoming data. The number of tones in the second plurality is based on the available tone range.

Description: METHOD AND APPARATUS FOR SCALING MODEM TRANSFER CAPACITY BASED ON RESOURCE AVAILABILITY TECHNICAL FIELD ι The present invention relates generally to modem communications and more particularly, to the scaling of modem transfer capacity based on resource availability BACKGROUND ART As the complexity of onlme content grows, many users find that typical connections, such as a 28 8 KBPS 0 modem, are simply not fast enough Even newer modems allowing communication speeds of 56 6 KBPS seem slow in some applications A common bottleneck in onlme applications such as the Internet, is telecommunications bandwidth Projected demand for additional services, such as video-on-demand teleconferencmg, mteractive TV, and the like is likely to exacerbate the bandwidth problem One telecommunications protocol designed to alleviate the bandwidth problem is described m the 5 asymmetric digital subscriber line (ADSL) standard, ANSI Tl 413 Issue 2, entitled, 'Interface Between Networks and Customer Installation - Asvmmetπc Digital Subscriber Line (ADSL) Metallic Interface, Rev Rl , dated 5/4/97 The technology employed m Tl 413 type modems is termed discrete multi-tone The standard defines 256 discrete tones Each tone represents a carrier signal that can be modulated with a digital signal for transmitting data The specific frequency for a given tone is 4 3125 kHz times the tone number Tones 1-7 are reserved for voice band 0 and guard band (z e , tone 1 is the voice band and tones 2-7 are guard bands) Data is not transmitted near the voice band to allow for simultaneous voice and data transmission on a single line The guard band helps isolate the voice band from the ADSL data bands Typically, a splitter may be used to isolate anv voice band signal from the data tones Tones 8-32 are used to transmit data upstream (/ e , from the user), and tones 33-256 are used to transmit data downstream (/ e , to the user) Alternatively, all the data tones 8-256 may be used for downstream data, and -- upstream data present on tones 8-32 would be detected using echo cancellation Because more tones are used for downstream communication than for upstream communication, the transfer is said to be asynchronous Through a training procedure, the modems on both sides of the connection sense and analyze which tones are clear of impairments in the telephone Ime Each tone that is clear is used to carry information Accordmgly, the maximum capacity is set bv the quality of the telephone connection The data rate defined by the ADSL 0 specification, assummg all tones are clear of impairments, is about 8 MBPS downstream and about 640 KBPS upstream Figure 1 illustrates the bandwidth requirements for an ADSL modem using these parameters To support the frequency bandwidth shown in Figure 1 , the ADSL modem must have an analog sampling rate of at least 2 2E+6 samples per second 5 The ADSL modem descπbed above has a high bandwidth for transmitting data, but is inflexible All potential installations might not require the same bandwidth Also, some users may require a more balanced bandwidth ratio In addition, due to the algorithm processing requirements, storage requirements, power consumption, gate count, analog sample converter rate, and physical size required to support the bandwidth shown in Figure 1 , the modem is costh which may preclude its use for certain applications The present invention is directed to overcoming, or at least reducing the effects of one or more of the problems set forth above DISCLOSURE OF INVENTION In one aspect of the present mvention, a modem for communicating data usmg a plurality of tones is provided The modem mcludes a negotiation unit, a modulator, and a demodulator The negotiation unit is adapted to receive resource availability data and determine an available tone range based on the resource availability data The modulator is adapted to receive the available tone range and modulate a first plurality of the tones to generate outgomg data The number of tones m the first plurality is based on the available tone range The demodulator is adapted to receive the available tone range and demodulate a second plurality of the tones to generate mcommg data The number of tones m the second plurality is based on the available tone range In another aspect of the present mvention, a method is provided for scaling the bandwidth spectrum of a modem capable of communicating data using a plurality of tones The method includes determining an amount of available processmg resources Resource availability data is generated based on the amount of available processmg resources A first subset of a\ ailable tones is determined from the plurality of tones based on the resource availability data A tone range is negotiated based on the first subset of available tones The tone range includes at least one downstream tone and at least one upstream tone Data is delivered over at least one of the downstream tone and the upstream tone BRIEF DESCRIPTION OF DRAWINGS The mvention mav be understood by reference to the following description taken m conjunction with the accompanying drawings, in which like reference numerals identify like elements, and m which Figure 1 is a graph of the bandwidth spectrum for a prior art ADSL modem, Figure 2 is a block diagram of a communications system of the present mvention, Figure 3 is a block diagram of a mid-band modem of the present invention, Figure 4 is a flow chart of a method for scaling the bandwidth of a modem in accord with the present invention, Figures 5-9 are graphs of exemplary bandwidth spectrums for a mid-range modem of the present invention, Figure 10 is a block diagram of a central office for distributing data, Figure 1 1 is a block diagram of an alternative embodiment of the central office of Figure 10, Figure 12 is a block diagram of a user installation, and Figure 13 is a flow diagram of a method for selecting the operatmg mode of the user modem of Figure 12 While the mvention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example m the drawings and are herem descπbed in detail It should be understood, however, that the description herem of specific embodiments is not mtended to limit the mvention to the particular forms disclosed, but on the contrary, the mtention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the mvention as defined by the appended claims . i MODES FOR CARRYING OUT THE INVENTION Illustrative embodiments of the invention are described below In the interest of clarity, not all features of an actual implementation are described in this specification It will of course be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and busmess-related constraints, which will vary from one implementation to another Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routme undertaking for those of ordmary skill in the art havmg the benefit of this disclosure Referring to Figure 2, a block diagram of a communications system 10 is provided The communications system 10 includes a host modem 15 coupled to a user modem 20 by a connection 22 In the illustrated embodiment, the connection is an ordinary twisted pair connection, as is common m present day telephone networks However, other connection types are contemplated, depending on the specific implementation The host and user modems 15, 20 are each capable of usmg only a certain number of tones for data transmission, up to and including the 256 tones described above A modem 15 20 m accordance with the present mvention uses less tones than the full bandwidth modem (not shown) described above and is referred to as a mid- band modem 25, which is descnbed in greater detail below in reference to Figure 3 The mid-band modem 25 is capable of usmg the same ADSL protocols and algorithms as a full-band modem (not shown), with the exception of the number of tones For example, the mid-band modem 25 may use the same rate adaptive features as a full-band modem (not shown) Also the mid-band modem 25 may operate m a smgle latency mode (; e , all data allocated either the fast path or the mterleaved path) or a dual latency path ( * e , data allocated to both paths) Scaling the maximum transport capacity of the modems 15, 20 by reducmg the number of tones has numerous advantages For example, an application in which the user modem 20 is used may not require the full bandwidth capacity of the host modem 15 Accordmgly, the user modem 20 mav be manufactured less expensively, thus increasmg its range of installation environments and consumer applications Also, it may be desirable for the host modem 15 to intentionally scale the transfer capacity of the user modem 20 to regulate maximum throughput based on some program parameter For example, the host modem 15 may set the maximum allowable speed of the user modem 20 based on the rate paid by the user Referring to Figure 3 a simplified block diagram of the mid-band modem 25 is provided For clarity and ease of illustration, not all functional blocks are illustrated in detail, because these items are known to one of ordmary skill in the art, and are further defined in documents such as the Tl 413 Issue 2 standard The mid-band modem 25 may function as the host modem 15 or the user modem 20, dependmg on its configuration As descnbed above, the host modem 15 typically mcludes a larger number of tones dedicated for transmitting data (downstream tones) and less tones for receivmg data (upstream tones) Conversely, the user modem 15 typically mcludes a larger number of tones dedicated for receivmg data and less tones for transmitting data The mid-band modem 25 mcludes transmit, receive, and control functional blocks 30, 35, 40 In the control block 40, a negotiation unit 45 identifies the greatest common tone set supportable by the modem 25 and the interfacing modem (not shown) to which the modem 25 is connected The upstream and downstream tone sets of the mid-band modem 25 are mtersected with the corresponding upstream and downstream tone sets for the interfacing modem (not shown) to determine the greatest common tone set As descnbed above, the negotiation unit 45 may limit the usable tones to a subset of the greatest common tones for some predetermined reason (e g , rate paid) A training unit 50 trains the supported tones to identify those free of impairments The negotiation unit 45 and training unit 50 configure the other elements in the transmit and receive blocks 30. 35, however, for claπty, all physical connections between these elements are not shown The transmit block 30 includes a formattmg and mterfacmg circuit 55 adapted to receive outgoing digital data over a data-out lme 60 The formatting and mterfacmg circuit 55 performs functions such as cyclic redundancy checkmg (CRC), scrambling, forward error correction, and mterleavmg As stated above, these functions are known to those of ordmary skill in the art (Tl 413 Issue 2) The transmit block 30 also includes a modulator 65 The modulator 65 has a control mput 70 adapted to receive tone range information from the negotiation unit 45 The tone range information specifies the tone ranges for upstream and downstream data transfer The tone ranges may be less than or equal to the total tone capabilities of the mid-band modem 25 depending on the charactenstics of the mterfacmg modem (not shown) For example, the mid-band modem 25 may be a user modem 20 connected to a host modem 15 havmg full bandwidth capabilities For some reason (e g , rate paid time-of-day, etc ), the host modem 15 limits the number of tones available to the mid-band modem 25 The negotiation unit 45 communicates with the mterfacmg modem (not shown) to determine the maximum allowable tone ranges The negotiation unit 45 provides the negotiated tone ranges to the modulator 65 as the control mput 70 In the illustrated embodiment, the negotiation unit 45 may provide the maximum downstream tone, the maximum upstream tone and the first usable tone, or simply the lowest and highest tones available for transmitting data It is contemplated that the tone ranges may be specified usmg other conventions, depending on the specific configuration The negotiation unit 45 has a control mput adapted to receive negotiation data over line 71 The negotiation data may be provided by an external device, such as a computer (not shown) coupled to the modem 25 The negotiation data provides parameters to the negotiation unit 45 related to the number of allocable tones The number of allocable tones mav be less than the number of tones supported by the modem 25 The number of allocable tones may be reduced tor various reasons, mcludmg rate paid by the user available host resources, available user resources, etc Examples where the negotiation data is used to limit the number of allocable tones are described in greater detail below The modulator 65 receives data from the formattmg and interfacing circuit 55, performs tone ordering, constellation encodmg, and gam scalmg functions m accordance with the number of available tones, and modulates the tone carriers with the data A. second data formattmg and mterfacmg circuit 72 in the transmit block 30 mserts a cyclic prefix to the output of the modulator 65 ( * e , a portion of the output samples from the modulator 65 is replicated and appended to the existing output samples to provide an overlap and allow for better frame alignment when the output from the modem 25 signal is ultimately received by an mterfacmg modem (not shown) The formattmg and mterfacmg circuit 72 also buffers the output samples The digital to analog (D/A) converter and filter 75 converts digital output samples from the formattmg and mterfacmg circuit 72 to an analog waveform suitable for transmission over a phone connection 80 The receive block 35 mcludes an analog to digital (A D) converter and filter 85 that receives an analog waveform over the phone connection 80 and samples the analog waveform to generate a digital signal A formattmg and mterfacmg circuit 87 performs the functions known m the art such as frame alignment and time domain equalization In time domain equalization, because the tones are at different frequencies, certain frequencies travel faster than others and as such all the tones do not arrive at same time The time αomain equalization function of the formatting and interfacing circuit 87 delays the faster tones to compensate tor the propagation speed differences There is a performance trade off between the frame alignment and time domain equalization functions in that a higher degree of frame alignment accuracy allows a lesser degree of accuracy m time domain equalization The cyclic prefix insertion performed by the mterfacmg modem (not shown) improves frame alignment accuracy The formattmg and mterfacmg circuit 72 also performs gam control to increase the amplitude of the received signal A demodulator 90 receives digital signal data from the formattmg and mterfacmg circuit 87 and converts the time domam data from the lormatting and mterfacmg circuit 87 to frequenc\ domam data to recover the tones The demodulator 90 includes a control mput 95 that receives the negotiated tone ranges available for receivmg data The demodulator 90 performs a slicmg function to determme constellation points from the constellation encoded data, a demappmg function to map the identified constellation pomt back to bits and a decodmg function (e g , Viterbi decodmg if trellis constellation coding is employed) The demodulator 90 also performs tone deordermg to reassemble the serial bytes that were divided among the available tones A second formatting and mterfacmg circuit 92 in the receive block 35 peπorms forward error correction, CRC checkmg, and descrambling functions on the data received from the demodulator 90 The reconstructed data provided by the formatting and mterfacmg circuit 92 represents the sequential brnan data that was sent by the mterfacmg modem (not shown) The reconstructed data is provided to a data-m lme 100 The negotiation unit 45 is illustrated as part of the mid-band modem 25 however, it is contemplated that only one of the host or user modems 15, 20 may contam a negotiation unit 45 Information regarding the available tone ranges may be stored m a register (not shown) on the modem 15, 20 not havmg the negotiation unit 45 and transmitted to the modem 15 20 havmg the negotiation unit 45 Alternatively, the negotiation unit 45 may reside m additional hardware (not shown) external to both the host and user modems 15 20 Referring to Figure 4 a method for scalmg the bandwidth of the user modem 20 is provided As stated above, the user modem 20 only support a limited number of the tones, or the host modem 15 may limit the usable tones of the user modem 20 for various reasons The method includes negotiatmg the maximum upstream tone and the maximum downstream tone The maximum upstream and downstream tones define the bandwidth available for transmitting downstream data The method also mcludes negotiatmg the first usable tone The first usable tone and the maximum upstream tone define the bandwidth available for transmitting upstream data The available tones m the defined tone ranges are framed to identify those tones that are free of impairments After training, the available, unimDaired tones can be used to transmit data The steps mvolved m negotiatmg the tone ranges may be performed m anv order It is contemplated that negotiatmg the tone ranges ma\ be performed usmg a handshaking procedure during the initialization of the connection between the host modem 15 and the user modem 20 It is also contemplated that the negotiation may be conducted before or after trammg the tones to identify impairments The negotiation may mclude transmitting a parameter mdicative of the tone ranges, or the negotiation may be conducted by default durmg the trammg process (e g , the maximum downstream tone is evident from the trammg procedure failing to tram the higher tones) Either the host modem 15 or the user modem 20 may initiate the negotiatmg and trammg procedure The following examples illustrate how the host modem 15 and the user modem 20 may negotiate the tone ranges to vary the bandwidth charactenstics of the connection Figure 5 illustrates the bandwidth spectrum for a maximum downstream tone of 96 Because of the reduced bandwidth, the user modem 20 can use an analog samplmg frequency of 1 1 E+6 samples per second, which is half that of the full-band modem (not shown) characterized by Figure 1 Also the algorithm processmg requirements of the user modem 20 characterized by Figure 4 are reduced by 50% due to the decreased bandwidth Figure 6 illustrates the bandwidth spectrum for a maximum downstream tone of 64 The analog samplmg frequency for the user modem 20 is 0 56E+6 samples per second The analog samplmg frequency and the algonthm processing requirements are 25% of the full-band modem (not shown) Figure 7 illustrates the bandwidth spectrum for a maximum downstream tone of 64 and a maximum upstream tone of 24 Eight tones are shifted from the typical upstream band (tones 8-32) to the downstream band, thus maintaining the same ratio between upstream and downstream tones as the full-band modem (not shown) Figure 8 illustrates the bandwidth spectrum for a maximum downstream tone of 128 and a maximum upstream tone of 64 The balanced or symmetric split of data bandwidth illustrated in Figure 8 may be useful m applications such as a small busmess Web server or other such situation where downstream throughput is not significantly higher than upstream throughput This configuration could also be modified to move the upstream data further away from the voice band for increased isolation without losmg upstream throughput Figure 9 illustrates the bandwidth spectrum for a maximum downstream tone of 64 and a maximum upstream tone of 24 The first available upstream tone is tone 1 The voice and guard tones are used as upstream tones for an application where no POTS (plam old telephone system) band is necessary Some installations are not mtended for dual POTS/data use Accordmgly, the lower tone bandwidth can be recaptured and used for data transfer, resultmg m lower cost ( * e , less total bandwidth) or mcreased bandwidth (; e , for the same maximum downstream tone) In some applications, a splitter is sometimes required to isolate the voice band from the data bands It would reduce the cost and complexity of the installation if the use of a splitter could be avoided In cases where crosstalk or other interference precludes a sp tterless installation, the data bands could be shifted to higher tones, thus providmg a greater guard band and better isolating the voice signals from the data signals It may not be possible m all applications to remove the splitter without introducing m-line filters, because some phones may malfunction m the presence of ADSL spectrum energy However, the added flexibility provided by movmg the tone bands may reduce the number of applications requiring additional filters Another option for reducing the problem of mterference m a sphtterless application is to reduce the power level of the upstream signals, as shown m Figures 5-7 and 9 It is also contemplated that the available tone range could be renegotiated based on the present state of the POTS band For example, if the POTS band has not been used for a specified time interval, the tones could be renegotiated to take advantage of the unused bandwidth If a user subsequently wanted to place a voice call, renegotiation could be conducted to preclude use of the voice band tones In the descnption above, the host modem 15 is a full-band ADSL modem It is contemplated that both the host and the user modem 15. 20 may have mid-band tone ranges, and the mid-band ranges may be the same or different The negotiatmg process allows the modems 15, 20 to establish their individual bandwidth capabilities and establish a greatest common set of available tones Accordingly, any mid-band modem could mteroperate with any other mid-band or full-band modem Varying the upstream and downstream tone ranges provides enhanced flexibility for adaptmg to different user requirements Numerous advantages are achievable by manipulating the ranges The added flexibility allows the bandwidth to be tailored to small business, work-at-home, and consumer reαuirements The user modem 20 with mid-band capability provides a higher bandwidth than conventional modems, but less than a full-band ADSL modem (not shown) Reducmg the maximum throughput of the user modem 20 (; e by usmg a mid-band configuration) will reduce the processmg requirements, analog samplmg rates, and gate counts These reductions allow for reduced complexity, higher degree of silicon integration, denser equipment configurations, and power savmgs Referring to Figure 10. a block diagram of a central office 200 for distπbuting data is provided A plurality of Imes 205 (e g , telephone Imes) are present for communicating with a pluralir. of user modems (not shown) The lines 205 are coupled to A/D converters 210 The A/D converters 210 are coupled to a processmg unit 215 The processmg unit 215 is coupled to a communication network 220 (e g , the Internet a local area network, a wide area network etc ) The processmg unit 215 mcludes a modulator/demodulator 225 and a negotiation unit 230 The processing unit 215 provides processing resources to support the modulator/demodulator 225 functions (e g , cyclic redundancy checkmg (CRC), scrambling, forward error correction, mterleavmg. tone ordering, constellation encoding, and gam scalmg) The negotiation unit 230 negotiates tone ranges v ith the connected user modems (not shown) The negotiation unit 230 may be separate from the processmg unit 215 or may be implemented by hardware or software withm the processmg unit 215 The processmg unit 215 is a shared resource that supports communication over the Imes 205 To reduce hardware costs, the processmg unit 215 is capable of supporting only a certain number of full bandwidth connections less than the total number of lines 205 For example, if six Imes 205 are received mto the central office 200. it is statistically unlikely that all six Imes 205 will be active at a given time Therefore, rather than providmg sufficient resources (e g , number of processors, processor speed, bus bandwidth memory, electrical power, etc ) m the processing unit 215 to support all six lines 205, it is possible to provide only resources for a lesser number of Imes 205 (e g , 4 Imes) Without bandwidth scaling it would be necessary to refuse connections to a fifth caller if four Imes 205 are m use By scalmg the bandwidth of the connected user modems (not shown), it is possible to support more than the four users that can be supported using full bandwidth connections The amount of resources may be approximately measured m resource units where the number of resource units approximately equals the number of full bandwidth connections the processmg unit 215 can support Resource units are used to illustrate how the resources of the processmg unit 215 may be shared In an actual implementation, the resources of the processmg unit 215 may be shared with or without defining resource units When a user modem (not shown) initiates a connection over one of the line 205, the processmg unit 215 determines the maximum processmg capability, maximum throughput, and minimum latency that can be supported for the connection Based on this determination, the processmg unit 215 instructs the negotiation unit 230 to provide a full bandwidth connection or to scale the bandwidth by limiting the number of tones available The following example illustrates how the processmg resources of the processmg unit 215 may be shared In the illustrated example the processmg unit 215 has sufficient resources to support four full bandwidth connections ( * e , four processmg units) A first user modem (not shown) may be allocated a full bandwidth connection, thus using one of the four available resource units available to the processing unit 215 The negotiation unit 230 in cooperation with the processing unit 215 recognizes that four resource units (; e , resources to support lour full bandwidth connections) are available The negotiation unit 230 negotiates with the first user modem (not shown) and allows the first user modem (not shown) to use all of its available tones A second user modem (not shown) connecting to the central office 200 may also be allocated a full bandwidth connection, thus employmg tne second resource unit When a i third user modem (not shown) establishes a connection, the processing unit 215 realizes that it only has two remaining resource units To retam a processing resource reserve the processmg unit 215 instructs the negotiation unit 230 to negotiate a half bandwidth connection with the third user modem (not shown) T e negotiation unit 230 limits the maximum downstream tone of the third user modem (not shown) to 96 as illustrated in Figure 5 If desired, the negotiation unit 230 could also limit the maximum upstream tone to reduce the upstream bandwidth A 10 fourth user modem (not shown) could also be limited by the negotiation unit 230 to a 50% connection, or the negotiation unit 230 could further reduce the bandwidth to a 33% connection to retam an additional resource reserve Subsequent user modems (not shown) could also be limited by the negonation unit 230 such that all six Imes 205 could be used concurrently, albeit with less than full bandwidth capabilities Many different allocation policies for pooling resource units of the processmg unit 215 are contemplated l- The negotiation unit 230 in cooperation with the processing unit 215 could use simple percentages to scale additional user modems (not shown), as described above, or alternatively, the degree of bandwidth scalmg could be affected by other variables such as usage history For example, use data related to the likelihood of havmg n connections at any particular time of the dav could be factored into the amount ot bandwidth allocated to any particular user modem (not shown) By pooling the resources of the processmg unit 215, hardware costs and the 20 amount of unused or rarely used processmg resources are reduced It is also contemplated that the central office 200 could renegotiate am or all of the current connections m response to a new connection For example, if the user trying to establish a new connection pays a higher rate to guarantee a minimum bandwidth the existing connections could be renegotiated to make that bandwidth available The central office 200 may renegotiate connections at any time to reallocate bandwidth 25 The central office 200 is illustrated as a shared modem resource, however as illustrated m Figure 1 1, it is contemplated that an alternative embodiment of the central office 250 may include stand-alone host modems 255 with a shared processmg unit 215 and/or negotiation unit 230 The processmg unit 215 and negotiation unit 230 cooperate as descnbed above in reference to Figure 10 to allocate processmg resources (i e , by scalmg bandwidth) to the host modems 255 Referring back to Figure 3, the negotiation unit 230 provides negotiation data to the 30 internal negotiation unit 45 of the mdividual host modem 255 based on the amount of resources available to the processmg unit 215 Referring to Figure 12 a block diagram of a user installation 300 is provided A user modem 305 is coupled to a computer 310 The computer 310 may comprise a desktop computer notebook computer, mmicomputer, or the like For purposes of illustration, the computer 310 is descnbed hereinafter as a personal 35 computer runnmg an operatmg svstem, such as Wmdows® 95, sold by Microsoft® Corporation The user modem 305 is a high bandwidth ADSL modem such as the type described m reference to Figure 3 The high bandwidth of the user modem 305 presents a significant load to the operatmg system of the computer 310 Certain interactions with the operatmg system, mcludmg processmg load, maximum throughput, and minimum latency, determme the ability of the operating system and computer 310 to support the modem 305 bandwidth If sufficient resources do not exist to support the modem 305, the operatmg system mav function poorly, or the operatmg system mav fault and cease functioning Operatmg parameters, such as the speed of the central processing unit (CPU) (not shown) of the computer 310, the bandwidth of various buses (not shown) withm the computer 310, the amount of memory (not shown), and the amount of available memory (; e , based on the number of applications and/or drivers executmg on the computer 310), affect the amount of total resources available to the computer 310 for supporting the modem 305 Figure 13 illustrates a flow diagram of a method for determining the operatmg mode of the user modem 305 The modem 305 is capable of operating usmg different parameter sets For example, the modem 305 may be capable of operating in one or all of the modes illustrated by Figures 1 and 5-9 Each parameter set, ; e , operatmg mode, has an associated processmg load, maxunum throughput, and average and worst case latency that the modem 305 can withstand These parameter sets may be stored m a memory device (not shown) in the modem 305, in a program storage device (not shown) on the computer 310, or may be mtegrated with the modem 305 driver or operating software The computer 310 evaluates the parameter sets as possible operatmg modes for the modem 305 The computer 310 evaluates each parameter set agamst the resources available to the computer 310 and identifies those parameter sets that can be supported The supportable parameter sets may be a subset of the possible operatmg modes The modem 305 (or associated software application) will choose one of the supportable operating modes and communicate the selected operating mode to the computer 310 In choos g the selected operating mode, the modem 305 (or associated software application) may be influenced by parameters specified by the user (e g , the user may wish to maximize throughput, minimize CPU (not shown) usage, minimize interactivity, minimize power consumption, or some other parameter) The choice of the selected operatmg mode may also be influenced by factors such as the cost of bandwidth In a situation where higher bandwidths cost higher rates, the user may select a lower cost operatmg mode If the computer 310 is a notebook or portable computer, the user may select an operatmg mode having a smaller bandwidth The lower bandwidth requires less power consumption because the CPU (not shown) usage is decreased The lower power consumption may increase the operatmg time of the battery (not shown) After choosing the operatmg mode, the negotiation unit 45 (as shown m Figure 3) communicates with the mterfacmg host modem (not shown) to establish a greatest common tone set within the determined operatmg mode The computer 310 can request re-negotiation if the operatmg environment changes For example, if the user changes the number of executing applications, the resources of the computer 310 may increase or decrease, accordmgly The computer 310 can re-evaluate the possible operating modes of the modem 305 and choose a new mode more compatible with the current operatmg environment Limiting the bandwidth of the user modem 300 has numerous advantages Basmg the operatmg mode of the modem 300 on the resources available to the computer 310 reduces the likelihood of the modem 305 overloading the computer 310 and causmg operatmg problems, such as degraded performance, corruption of data, loss of connection, etc Limiting the connection rate of the modem 305 based on the minimum latency that can be provided by the computer 310, reduces the likelihood of real-time software problems in the modem algorithm processmg The particular embodiments disclosed above are illustrative only, as the mvention may be modified and practiced m different but equivalent manners apparent to those skilled m the art havmg the benefit of the teachmgs herem Furthermore, no limitations are intended to the details of construction or design herein shown, other than as described in the claims below It is therefore evident that the particular embodiments disclosed above may be altered or modified and all such variations are considered within the scope and spiπt of the invention Accordmgly, the protection sought herein is as set forth in the claims below

Claims: CLAIMS 1 A modem (305) for communicating data using a plurality of tones CHARACTERIZED IN THAT the modem mcludes a negotiation unit (45) adapted to receive resource availability data and determine an available tone range based on the resource availability data, a modulator (65) adapted to receive the available tone range and modulate a first plurality of the tones to generate outgomg data, the number of tones m the first plurality bemg based on the available tone range, and a demodulator (90) adapted to receive the available tone range and demodulate a second plurality of the tones to generate mcommg data, the number of tones m the second plurality bemg based on the available tone range 2 The modem (305) of claim 1 , wherem the available tone range mcludes at least one of a maximum downstream tone, a maximum upstream tone, and a first usable tone 3 A communication system (300), compπsmg a computer (310) havmg an amount of available processmg resources and bemg adapted to generate resource availability data based on the amount of available processmg resources, a modem (305) coupled to the computer (310) and capable of communicating data usmg a plurality of tones, wherem the modem (305) mcludes, a modulator (65) adapted to transmit data usmg a first plurality of tones, a demodulator (90) adapted to receive data usmg a second plurality of tones, and a negotiation unit (45) adapted to receive the resource availability data and determme a first subset of available tones from the first plurality of tones based on the resource availability data and a second subset of available tones from the second plurality of tones based on the resource availability data 4 The communications system (300) of claim 3, wherem the modulator (65) is further adapted to transmit data usmg the first subset of available tones and the demodulator (90) is further adapted to receive data usmg the second subset of available tones 5 The communications system (300) of claim 3 wherem the modem (305) is capable of operatmg m a plurality of operatmg modes, and the computer (310) is adapted to select one of the operatmg modes based on the resource availability data 6 The communications system (300) of claim 5, wherem the computer (305) is further adapted to identify a change m the amount of available processmg resources, generate changed resource availability data based on the change in the amount of available processing resources, and select one or the operating modes based on the changed resource availability data 7 The communications system (300) of claim 3, wherein the resource availability data is based on at -i least one of available memory, free memory, bus bandwidth, maximum throughput, minimum latency, and processmg speed 8 A method for scalmg the bandwidth spectrum of a modem (305) capable of communicating data using a plurality of tones, the method compπsmg 10 determining an amount of available processmg resources, generatmg resource availability data based on the amount of available processmg resources, determining a first subset of available tones from the plurality of tones based on the resource availability data, negotiatmg a tone range based on the first subset of available tones the tone range mcludmg at least one I > downstream tone and at least one upstream tone, and delivering data over at least one of the downstream tone and the upstream tone 10 The method of claim 9, wherem negotiatmg the tone range mcludes negotiatmg at least one of a maximum downstream tone, a maximum upstream tone, a maximum upstream tone, and a first usable upstream 20 tone 11 A method for scalmg the bandwidth of a modem (305) capable of communicating data usmg a plurality of tones, the method compnsmg providmg a plurality of operatmg modes supportable by the modem (305) each operating mode mcludmg a 75 predetermined available tone range based on a subset of the plurality of tones, determining an amount of available processmg resources, generatmg resource availability data based on the amount of available processmg resources, and selectmg one of the operatmg modes based on the resource availability data 30 12 The method of claim 1 1, further comprising identifying a change m the amount of available processmg resources generatmg changed resource availability data based on the change m the amount of available processmg resources selectmg one of the operatmg modes based on the changed resource availability data 35 13 The method of claim 11 , further compnsmg providmg at least one of cost information and user preference information, and selectmg one of the operatmg modes based on the resource availability data and at least one of the cost information and the user preference information 40 14 The method of claim 1 1 wherein providing the plurality of operating modes supportable by the modem (305) includes providmg a parameter set for each of the operating modes, the parameter set including at least one of processmg load, maximum throughput, average latency, and worst case latency

Inventors: COLE TERRY L, KAPLOWITZ DAVID M, COLE, TERRY, L., KAPLOWITZ, DAVID, M.
Applicants: ADVANCED MICRO DEVICES INC, ADVANCED MICRO DEVICES, INC.
Application year: 1998
Main classification: H04M11
IPC codes: H04J11, H04L5, H04M11