The present invention generally relates to maximizing digital subscriber line (DSL) data rates and, more particularly, relates to methods, computer program products, and systems for adaptively applying a target noise margin to a DSL loop in order to establish a DSL data rate on the DSL loop.
The information age has facilitated an increase in the consumer need for speed when it comes to delivering data to end-users on a DSL loop or transmission line. However, changes in the maximum DSL data rate downstream has caused some end-users to experience increased trouble or errors when their DSL data rate or sync rate is increased, for example, from 1.5 millions of bits per second (Mbps) to 3 Mbps. Research indicates that the bulk of these errors are due to transient, impulse, or non-stationary noise.
Manually handling this increase in troubled lines on a case-by-case basis does not appear to be feasible. Furthermore, a single profile that both allows the maximum data rate on the ‘non-troubled’ lines, and deals effectively with the ‘trouble’ lines has not been developed. Given the amount of variation in noise seen on some of these lines, a profile that could prevent the majority of the problems would have the effect of significantly decreasing the maximum data rate on the shortest loops. It would also have the effect of shutting down many lines that are working fine.
In many cases, DSL technology, such as asymmetric digital subscriber line (ADSL) technology, is employed today without forward error correction. This is probably a preferred way to deploy ADSL for Internet access, but as a consequence of deploying ADSL without forward error correction, the DSL loop is more subject to impulse noise. Further, at higher data rates, impulse noises are particularly acute because these higher data rates require a higher level of signal to noise ratio (SNR) which is another way of saying the DSL loops are more sensitive to lower levels of impulse noise. All transmission systems require some minimum value of SNR in order to limit a Bit Error Ratio (BER) to some acceptable level.
Impulse noise may be generated when some appliances, such as exercise machines, fluorescent lamps, and mixers, are used. When these devices are started, they can generate impulse noise with sufficient amplitude to cause an ADSL line to take errors. If enough errors are taken, the ADSL line will simply reset. Resetting is not particularly bad except that the customer may be out of service for several seconds or even minutes while the DSL line is resetting.
The problem is that many times the noise is so sporadic that it will be on long enough to cause the DSL line to reset, but then subsides while the DSL loop is reinitializing. As a result, the DSL line is reset to its original data rate. This cycle repeats itself until the noise is present during initialization. For extremely bursty noise cases, the cycle may never end.
One way to counter the problem of impulse noise is to turn on forward error correction. However, this approach is only effective when coupled with interleaving. The use of interleaving introduces delay that is problematic for Internet access. Another approach of previous systems is to slowly ramp up the data rate over a period of time, for example a month. Between each step in ramping up the data rate, there is a waiting period of several days to examine customer error rates and make the determination as to whether the error rate is such that the ramping up should cease or whether to return to a previous setting. However, this approach takes a relatively long time.
Accordingly there is an unaddressed need in the industry to address the aforementioned deficiencies and inadequacies.
Embodiments of the present invention provide methods, computer program products, and systems for adaptively applying a target noise margin to a DSL loop to establish a DSL data rate on the DSL loop. An automated, adaptive, approach to applying the target noise margin is disclosed. In such an approach, embodiments of the present invention increase the target noise margin for the DSL loop or line on those lines experiencing trouble until the line runs error-free from the influence from impulse noise. Thus, embodiments of the present invention allow a maximum DSL data rate that can be sustained without an excessive quantity of errors over a period of time.
One embodiment is a computer-implemented method for adaptively applying a target noise margin to a DSL loop to establish a DSL data rate on the DSL loop. The method involves receiving performance data associated with the quantity of errors detected over a period of time on the DSL loop and adjusting the target noise margin for the DSL loop based on the performance data. The target noise margin is adjusted in order to increase the DSL data rate and reduce the quantity of errors detected over the period of time. It should be appreciated that the target noise margin is inversely related to the DSL data rate that can be established.
Another embodiment is a computer program product including a computer-readable medium having control logic stored therein for causing a computer to adaptively apply a target noise margin to a DSL loop to establish a DSL data rate on the DSL loop. The control logic includes computer-readable program code for causing the computer to receive performance data associated with a quantity of errors detected over a period of time on the DSL loop and adjust the target noise margin for the DSL loop based on the performance data. The target noise margin is inversely related to the DSL data rate and is adjusted in order to maximize or increase the DSL data rate and minimize or reduce the quantity of errors detected over the period of time.
Still another embodiment is a computing system for adaptively applying a target noise margin to a DSL loop experiencing errors due to impulse noise in order to establish a DSL data rate on the DSL loop. The computing system includes a processor operative to receive performance data associated with a quantity of errors detected over a period of time on the DSL loop and adjust the target noise margin for the DSL loop based on the performance data. The target noise margin is adjusted in order to increase the DSL data rate and reduce the quantity of errors detected over the period of time.
Other systems, methods, apparatuses, features, and advantages of the present invention will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, apparatuses, and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
As described briefly above, embodiments of the present invention provide methods, systems, and computer program products for adaptively applying a target noise margin to a DSL loop in order to establish a DSL data rate on the DSL loop. In the following detailed description, references are made to accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments or examples. These illustrative embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of the present invention and the illustrative operating environment will be described.
Generally, program modules include routines, operations, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
It is advantageous to describe an illustrative operating environment in which the present invention may operate.
Between the DSLAM 102 and an asynchronous transfer mode (ATM) switch 111 is a high-speed digital line 103. From the ATM switch 111 there is an optical transport 105 to an Internet Service Provider (ISP) 110 as well as a transport 109 over to a DSL maintenance center 112. One or more servers or computing apparatuses, one of which is designated at reference numeral 114, reside at the DSL maintenance center 112 where a number of terminals, different systems, and different processors execute important operations. The servers 114 may each include a noise margin control application (NMCA) 117 operative to adaptively apply a target noise margin to DSL loops, for instance the DSL loop 107, experiencing errors due to impulse noise.
In an illustrative embodiment of the present invention the DSL data rate is initialized, both upstream and downstream, on the DSL loop 107, such as an ADSL line, at a maximum data rate achievable without regard for errors. After a period of time, the server 114 queries the DSLAM 102 (or equivalent network device) serving the DSL loop 107 and obtains an error performance of the DSL loop 107. If the error rate is found to be excessive, beyond a predetermined threshold, the server 114 assigns the DSL loop 107 a different target noise margin via a profile. For example, the server 114 may assign a value of target noise margin of 8 or 9 dB instead of 6 dB. If the error rate does not exceed the predetermined threshold, no changes to the DSL loop 107 are made, but the server 114 still obtains performance data periodically.
After assigning the profile with the higher value of target noise margin, the DSL loop 107 will likely re-initialize to a lower data rate. Again, the server 114 would obtain the error performance after a period of time. If the error performance is again found to be unacceptable, the line would be assigned a profile with an even higher value of target noise margin of, for example, 10-12 dB. In this way, the maximum data rate that can be supported, without excessive errors, is found. Additional details regarding the server computers 114 will be described below with respect to
The MSD 214 is connected to the CPU 208 through a mass storage controller (not shown) connected to the system bus 212. The MSD 214 and its associated computer-readable media, provide non-volatile storage for the server 114. Although the description of computer-readable media contained herein refers to a MSD, such as a hard disk, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed by the CPU 208. An input/output controller 222 may also be included with the server 114 for receiving and processing input from a number of input devices (not shown). The input/output controller 222 communicates with the CPU 208 through the system bus 212.
The CPU 208 may employ various operations, discussed in more detail below with reference to
According to various embodiments of the invention, the server 114 operates in a networked environment, as shown in
A computing apparatus, such as the server 114, typically includes at least some form of computer-readable media. Computer readable media can be any available media that can be accessed by the server 114. By way of example, and not limitation, computer-readable media may include computer storage media.
Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, program modules or other data. Computer storage media includes, but is not limited to, RAM, disk drives, a collection of disk drives, flash memory, other memory technology or any other medium that can be used to store the desired information and that can be accessed by the server 114.
Combinations of any of the above should also be included within the scope of computer-readable media. Computer-readable media may also be referred to as computer program product.
During initialization, the settings for the applied profile are sent to the ATU-R 120. The target noise margin 303a is the minimum noise margin that will be achieved on the DSL loop 107 when the profile 1305a is applied. As this value is increased, the number of bits assigned to a tone (with some specific available SNR) decreases. It can be seen, then, that the achievable data rate is inversely related to the target noise margin.
The maximum noise margin 307a is the value of the noise margin above which the ATU-C 104 or the ATU-R 120 will instruct the far-end transmitter to decrease the transmitted power. In this illustrative embodiment, the maximum data rate 308a set for the profile 1305a is 3 Mbps. When the profile 1305a is applied to the DSL loop 107, and the DSL loop 107 is initialized at 3 Mbps with the target noise margin 303aset at, for example, 6 dB, the DSL loop 107 may experience some errors due to impulse noise.
The noise margin for the DSL loop 107 may be significantly degraded to the point that errors are experienced by the impulse noise. The noise margin may be increased by applying a different profile with a higher target noise margin to the DSL loop 107. When a DSL line, such as the DSL loop 107, is provisioned for a higher data rate, the DSL maintenance center 112, via the server 114, queries the DSLAM 102 for performance data.
If, during these queries, the error rate is found to be excessive, the NMCA applies a profile, for example the profile 2305b or the profile n 305n, with a higher value of target noise margin than the target noise margin 303a to the DSL loop 107. Thus, for instance, at a minimum frequency, the server 114 may query the DSLAM 102 once every eight hours for performance data. The server 114 could also query the DSLAM 102 every 15 minutes, but at a minimum, every eight hours to determine whether the particular DSL line is exhibiting an excessive amount of errors (for example, 500 LCVs in 15 minutes). Additional details regarding adaptively applying a target noise margin will be described below with respect to
Turning now to
The operational flow 400 then continues to operation 404 where the server 114 determines whether the quantity of LCVs exceeds a predetermined threshold value of, for instance, 500, over a designated period of time. If the server 114 detects that the LCVs do exceed the predetermined threshold over a 15 minute time bucket, the routine 400 continues to operation 405.
At operation 405, the server 114 increases the target noise margin for the DSL loop 107. This may be accomplished by changing the profile applied to the DSL loop 107, for example from the profile 1305a at 6 dB to the profile 2305b at 9 dB target noise margin. The operational flow 400 then continues from operation 405 to operation 407 where the server 114 turns off a flag set when the DSL loop 107 was upgraded that identifies the DSL loop 107 as a newly upgraded DSL loop. The server 114 then schedules the DSL loop 107 for performance monitoring and error assessment for the next designated period of time at operation 427.
If at operation 404, the server 114 detects that the LCVs are less than the predetermined threshold, the operational flow 400 continues from operation 404 to operation 408. At operation 408, a determination is made as to whether a modem at the premises 123, for instance the ATU-R 120, has been on for the entire interval of time covering the period of time. When the modem 120 has not been on for the entire time interval, the operational flow returns to operation 427 described above. When the modem 120 has been on the entire period of time, the operational flow 400 continues from operation 408 to operation 410 where the server 114 increments by one a count that keeps track of how many times the DSL loop 107 has been examined or monitored successfully for an LCV count below the predetermined quantity.
Next, at operation 412 the server 114 determines whether the incremented count is less than a predetermined number of, for example, 24 . If at operation 412, the incremented count is less than the predetermined number, the operational flow 400 returns to operation 427 described above. When the incremented count is at or above the predetermined number, the operational flow 400 continues to operation 414.
At operation 414, the server 114 determines whether both the LCVs have been less than the predetermined threshold quantity each time the count has been incremented and the DSL data rate is less than a predetermined value. When either the LCVs were not less than the threshold each time the count was incremented or the DSL data rate is not less than the predetermined value, the operational flow 400 continues to operation 415 where the server 114 turns off a flag indicating that the DSL loop 107 has been newly upgraded. The server 114 then schedules the DSL loop 107 for performance monitoring and error assessment at an interval of time greater than the predetermined period of time thereby scheduling examination on a less frequent basis, for example every 24 hours instead of 15 minutes.
When at operation 414, the server 114 determines that both the LCVs were less than the threshold each time the count was incremented and the DSL data rate is less than the predetermined value, the operational flow 400 continues to operation 420 where the server 114 determines whether the current target margin is greater than a minimum target margin, for example 6 dB. When the current target margin is not greater than the minimum target margin available among the profiles, the operational flow 400 continues from operation 420 to operation 417 described above.
When at operation 420, the server 114 detects that the current target margin is greater than the minimum target margin available, the operational flow 400 continues from operation 420 to operation 422. At operation 422, the server 114 changes the target margin to the minimum target noise margin, for example to 6 dB. This may be accomplished by changing the profile applied to the DSL loop 107. This change is made in an effort to increase the data rate in view of minimal errors at a higher target noise margin and at a lower DSL data rate.
Next at operation 424, the server 114 sets the count to zero, to give the newly adjusted DSL loop 107 a fresh start at error assessment. The operational flow then continues to operation 427 described above.
Turning now to
The operational flow 500 then continues to operation 504 where the server 114 determines whether the quantity of LCVs exceed a predetermined threshold value of, for instance, 500 over a designated period of time. For example, the server 114 may determine whether the LCVs exceeded 500 in any 15-minute period during the 24 hours of data retrieved. If the server 114 detects that the LCVs do exceed the predetermined threshold over any 15-minute time bucket, the routine 500 continues to operation 507.
At operation 507, the server 114 increases the target noise margin for the DSL loop 107. This may be accomplished by changing the profile applied to the DSL loop 107, for example from the profile 1305a at 6 dB to the profile 2305b at 9 dB target noise margin. The operational flow 400 then continues from operation 507 to operation 510 where the server 114 turns on a flag that identifies the DSL loop 107 as a newly upgraded DSL loop. The server 114 then schedules the DSL loop 107 for performance monitoring and error assessment for the next designated period of time at operation 512.
If at operation 504, the server 114 detects that the LCVs are less than the predetermined threshold, the operational flow 500 continues from operation 504 to operation 514. At operation 514, the server 114 schedules the DSL loop 107 for performance data retrieval and error assessment at the same period greater than the designated period of time.
Thus, the present invention is presently embodied as methods, systems, computer program products or computer readable mediums encoding computer programs for adaptively applying a target noise margin to a DSL loop to establish a DSL data rate on the DSL loop.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
This application claims priority to U.S. provisional application entitled, “Automated, Adaptive Target Noise Margin for DSL Sync Rate Establishment,” having Ser. No. 60/564,169, filed Apr. 21, 2004, which is entirely incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5751338 | Ludwig, Jr. | May 1998 | A |
5974139 | McNamara et al. | Oct 1999 | A |
5987061 | Chen | Nov 1999 | A |
6044107 | Gatherer et al. | Mar 2000 | A |
6055268 | Timm et al. | Apr 2000 | A |
6081291 | Ludwig, Jr. | Jun 2000 | A |
6130882 | Levin | Oct 2000 | A |
6219378 | Wu | Apr 2001 | B1 |
6263048 | Nelson et al. | Jul 2001 | B1 |
6292559 | Gaikwad et al. | Sep 2001 | B1 |
6317495 | Gaikwad et al. | Nov 2001 | B1 |
6424657 | Voit et al. | Jul 2002 | B1 |
6445773 | Liang et al. | Sep 2002 | B1 |
6466088 | Rezvani et al. | Oct 2002 | B1 |
6467092 | Geile et al. | Oct 2002 | B1 |
6477238 | Schneider et al. | Nov 2002 | B1 |
6498791 | Pickett et al. | Dec 2002 | B2 |
6498808 | Tzannes | Dec 2002 | B1 |
6507606 | Shenoi et al. | Jan 2003 | B2 |
6532277 | Ulanskas et al. | Mar 2003 | B2 |
6538451 | Galli et al. | Mar 2003 | B1 |
6549568 | Bingel | Apr 2003 | B1 |
6570855 | Kung et al. | May 2003 | B1 |
6597689 | Chiu et al. | Jul 2003 | B1 |
6608835 | Geile et al. | Aug 2003 | B2 |
6614781 | Elliott et al. | Sep 2003 | B1 |
6625255 | Green et al. | Sep 2003 | B1 |
6636505 | Wang et al. | Oct 2003 | B1 |
6640239 | Gidwani | Oct 2003 | B1 |
6643266 | Pugaczewski | Nov 2003 | B1 |
6647058 | Bremer et al. | Nov 2003 | B1 |
6658052 | Krinsky et al. | Dec 2003 | B2 |
6667971 | Modarressi et al. | Dec 2003 | B1 |
6668041 | Kamali et al. | Dec 2003 | B2 |
6674725 | Nabkel et al. | Jan 2004 | B2 |
6674749 | Mattathil | Jan 2004 | B1 |
6678245 | Cooper et al. | Jan 2004 | B1 |
6680940 | Lewin et al. | Jan 2004 | B1 |
6697768 | Jones et al. | Feb 2004 | B2 |
6700927 | Esliger et al. | Mar 2004 | B1 |
6724859 | Galli | Apr 2004 | B1 |
6728238 | Long et al. | Apr 2004 | B1 |
6731678 | White et al. | May 2004 | B1 |
6735601 | Subrahmanyam | May 2004 | B1 |
6751218 | Hagirahim et al. | Jun 2004 | B1 |
6751315 | Liu et al. | Jun 2004 | B1 |
6751662 | Natarajan et al. | Jun 2004 | B1 |
6754283 | Li | Jun 2004 | B1 |
6762992 | Lemieux | Jul 2004 | B1 |
6763025 | Leatherbury et al. | Jul 2004 | B2 |
6765864 | Natarajan et al. | Jul 2004 | B1 |
6765918 | Dixon et al. | Jul 2004 | B1 |
6769000 | Akhtar et al. | Jul 2004 | B1 |
6769024 | Natarajan et al. | Jul 2004 | B1 |
6771673 | Baum et al. | Aug 2004 | B1 |
6775232 | Lemieux | Aug 2004 | B1 |
6775267 | Kung et al. | Aug 2004 | B1 |
6775268 | Wang et al. | Aug 2004 | B1 |
6775273 | Kung et al. | Aug 2004 | B1 |
6778525 | Baum et al. | Aug 2004 | B1 |
6782078 | Posthuma | Aug 2004 | B1 |
6782082 | Rahamim | Aug 2004 | B2 |
6819746 | Schneider et al. | Nov 2004 | B1 |
6914961 | Holeva | Jul 2005 | B2 |
6985444 | Rosen | Jan 2006 | B1 |
7027405 | Khadavi | Apr 2006 | B1 |
7106833 | Kerpez | Sep 2006 | B2 |
7162011 | Kolligs et al. | Jan 2007 | B2 |
7218645 | Lotter et al. | May 2007 | B2 |
7272209 | Jiang et al. | Sep 2007 | B2 |
7295570 | Arnold et al. | Nov 2007 | B1 |
20020021708 | Ishiai | Feb 2002 | A1 |
20020057763 | Sisk et al. | May 2002 | A1 |
20020080886 | Ptasinski et al. | Jun 2002 | A1 |
20020118733 | Frenkel | Aug 2002 | A1 |
20020168054 | Klos et al. | Nov 2002 | A1 |
20030007455 | Kohzuki et al. | Jan 2003 | A1 |
20030033262 | Aoki | Feb 2003 | A1 |
20030095591 | Rekai et al. | May 2003 | A1 |
20030189977 | Sweitzer et al. | Oct 2003 | A1 |
20030218984 | Tanaka | Nov 2003 | A1 |
20040095921 | Kerpez | May 2004 | A1 |
20040136329 | Duvaut et al. | Jul 2004 | A1 |
20040141519 | Greenfield et al. | Jul 2004 | A1 |
20050068891 | Arsikere et al. | Mar 2005 | A1 |
20050141673 | Lunt et al. | Jun 2005 | A1 |
20050163286 | Jiang et al. | Jul 2005 | A1 |
20050172030 | Fay | Aug 2005 | A1 |
20050175117 | Wu et al. | Aug 2005 | A1 |
20060268733 | Rhee et al. | Nov 2006 | A1 |
20080219290 | Cioffi et al. | Sep 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20050237940 A1 | Oct 2005 | US |
Number | Date | Country | |
---|---|---|---|
60564169 | Apr 2004 | US |