|Publication number||US7697568 B1|
|Application number||US 10/378,760|
|Publication date||13 Apr 2010|
|Filing date||3 Mar 2003|
|Priority date||3 Mar 2003|
|Publication number||10378760, 378760, US 7697568 B1, US 7697568B1, US-B1-7697568, US7697568 B1, US7697568B1|
|Inventors||Yulin Zhang, Dany Ah Sue|
|Original Assignee||Cisco Technology, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (26), Non-Patent Citations (1), Classifications (19), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This invention relates to the field of computer system networking. More particularly, the present invention relates to an improved, easy to implement, router-to-modem interface suited for use for residential or commercial network access.
The widespread deployment of large, interconnected computer system networks has transformed the nature of communication. The largest such network, the Internet, is a general purpose, public computer network which allows millions of computers all over the world, connected to the Internet, to communicate and exchange digital data with other computers also coupled to the Internet. As new technologies emerge, the speed at which one can connect onto the Internet is ever increasing. Now, users on the Internet have the bandwidth to participate in live discussions in chat rooms, play games in real-time, watch streaming video, listen to music, shop and trade on-line, etc. In the future, it is imagined that the bandwidth will be such that video-on-demand, HDTV, IP telephony, video teleconferencing, and other types of bandwidth intensive applications will soon be possible.
One method of increasing the speed of a network connection involves the use of a “broadband” connection. Broadband refers to the characteristic that a connection has much greater access bandwidth than a traditional telephone modem (e.g., 28.8 kbps, 56 kbps, etc.). The most commonly implemented broadband connections are generally cable modem and DSL modem connections.
Modems are electronic devices used to connect computer systems to a wide area network connection, generally, a twisted pair telephone line (e.g., a DSL modem) or coaxial cable television line (e.g., a cable modem). With respect to cable modems, cable modems are used to connect a computer to a cable TV service that provides Internet access. Cable modems dramatically increase the bandwidth between the user's computer and the Internet service provider, taking advantage of the increased communications bandwidth capabilities of the cable television line. With respect to DSL modems, DSL modems are used to connect a computer to a twisted pair telephone line (e.g., digital subscriber line). DSL technology dramatically increases the digital capacity of ordinary telephone lines (the local loops) into the home or office.
Routers are typically used in conjunction with the modems and the broadband connections. The router is connected to the modem (e.g., cable modem or DSL modem) and is used to share the broadband connection among multiple computer systems or devices. Generally, the computer systems access the broadband connection via the router. Traffic destined for the wide area network (e.g., the Internet) is transmitted from the router to the modem and then on to the wide area network. The router also provides additional services to users, such as, for example, firewall protection, QoS (quality of service) support, VPN (virtual private network) supported network access, IP (Internet protocol) phone support, and the like.
There exists a problem, however, with the connection speed of the router and the devices of the local area network with respect to the connection speed of the modem to the wide area network. The modem for the broadband connection typically couples to the router via an Ethernet connection. The bandwidth of the Ethernet connection (e.g., WAN port) of the router is 10/100 Mbps, which is much higher than the maximum upstream speed of most types of broadband access modems currently available. If traffic is forwarded to the modem from the router at Ethernet speeds, packets could be indiscriminately discarded at the modem and significantly impair applications that are dependent on latency and data throughput (e.g., voice over IP applications, etc.).
One prior art solution to this problem involves the use of two important QoS techniques. Traffic shaping is used to control the output of the router to the modem and to the broadband connection by matching the data output speed of the router to the speed of attached modem. LLQ (low latency queuing) is used to make sure important high priority packets (e.g., voice packets) will get the highest bandwidth priority and won't be dropped even when the output stream exceeds the target traffic shaping threshold. As known by those skilled in the art, the target speed of traffic shaping should be the physical upstream speed after modem gets trained. Most of the time, this speed will be less than the maximum modem speed (e.g., approximately 800 kbps with ADSL modems and 2 Mbps with cable modems) due to cable or DSL line transmission conditions (e.g., distance, interference, etc.).
Prior art traffic shaping and LLQ techniques are not sufficient due to fact that there is no way for the router to know the exact trained speed of the modem since there is no such information exchange between the router and the modem. In order for traffic shaping to work correctly, the user has to find out the trained speed for the modem (e.g. by calling the service provider) and then manually configure the trained speed on the router (e.g., through a configuration utility, etc.).
Thus, what is required is a solution for configuring a router to function with a coupled modem in view of the upstream speed of a broadband connection. The required solution should not require manual intervention of the user in order to function properly. The required solution should function correctly in different configuration environments and with different types of modems. The present invention provides a novel solution to these requirements.
Embodiments of the present invention provide a method and system for configuring a router to function with a coupled modem in view of the upstream speed of a broadband connection. Embodiments of the present invention do not require manual intervention of the user in order to function properly. Additionally, embodiments of the present invention function correctly in different configuration environments and with different types of modems.
In one embodiment, the present invention is implemented as a method for automatic modem bandwidth detection process. The method is implemented using the functionality of a router. The method includes the step of transmitting a plurality of probe packets from the router to an aggregator via a modem. A plurality of reply packets are the detected wherein the reply packets are transmitted from the aggregator to the router via the modem in response to the probe packets. An upstream data transmission rate of the modem is then determined based on a relative rate of transmission of the probe packets transmitted by the router to the reply packets received by the router.
In one embodiment, the router is further configured to determine whether the modem connected to the router is a cable modem or a DSL modem. This determination can be made by detecting whether PPPoE (point to point protocol over Ethernet) is used, where PPPoE is associated with DSL modem implementations.
In another embodiment, the router is further configured to determine an overhead for transmitting packets from the router to the aggregator via the modem. The overhead is then accounted for in the determination of the upstream data transmission rate of the modem.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Embodiments of the present invention provide a method and system for configuring a router to function with a coupled modem in view of the upstream speed of a broadband connection. Embodiments of the present invention do not require manual intervention of the user in order to function properly. Additionally, embodiments of the present invention function correctly in different configuration environments and with different types of modems. The present invention and its benefits are further described below.
Generally, the LAN 101 comprises a distributed computer network for implementing digital communications between a variety of different computer systems (e.g., desktop computer systems, printers, etc.). The LAN 101 is typically an Ethernet based network (e.g., Intranet, Extranet, etc.). Accordingly, communication between devices comprising the LAN 101 occurs at typical Ethernet speeds (e.g., 10 Mbps or 100 Mbps Ethernet). Connection 111 to the router 102 is typically an Ethernet connection (e.g., 10/100 Mbps) to a “LAN port” of the router 102, and also operates at typical Ethernet speeds.
In this embodiment, the modem 103 functions by implementing a broadband connection 113 to the aggregator 104 and the Internet 105. In the system 100 embodiment, the router 102 functions by routing packets from the LAN 101 onto the Internet 105. To reach the Internet 105, the packets are transmitted from the router 102 to the modem 103 via a connection 112. The modem 103 then modulates the data comprising the packets onto the connection 113, thereby transmitting them to the aggregator 104. The aggregator 104 is typically at the head-end or central office of a cable TV company or a telephone company. The aggregator 104 functions by receiving a plurality of connections from a plurality of different modems (e.g., one such modem 103 is shown) and concentrating them onto a connection 114 to the Internet 105.
Referring still to the system 100 embodiment, as known by those skilled in the art, the bandwidth of connection 112 between the router 102 and the modem 103 is typically a 10/100 Mbps Ethernet connection. Accordingly, the connection 112 has a much higher data transfer bandwidth than the maximum upstream speed of any of the currently available technologies (e.g., cable modem over cable TV coaxial cable, any of the various forms of DSL technology, etc.) for implementing the broadband connection 113. If data packets are forwarded from the router 102 to the modem 103 without taking into account the speed difference (e.g., without traffic shaping), data packets could be indiscriminately discarded at the modem 103 and applications that depend upon low latency and high data throughput will suffer. For example, in a voice over IP application, voice quality will deteriorate as the data packets comprising the voice information are dropped indiscriminately.
Thus, the transmission speed from the router 102 to the modem 103 needs to match the upstream data transfer rate of the modem 103 across the connection 113. Embodiments of the present invention automatically determine the upstream data transfer rate of the modem 103, thereby allowing the matching of the data transfer rate from the router 102 to the modem 103 in accordance with the upstream data transfer rate of the connection 113.
The system 200 embodiment graphically depicts the upstream data transfer bandwidth detection process in accordance with one embodiment of the present invention. In one embodiment, the method is implemented using the functionality of a router (e.g., the internal embedded processor of the router executing software code that implements the functionality of the present invention). The method includes the step of transmitting a plurality of probe packets at “m” pps (packets per second) rate upstream from the router 102 to the modem 103 and through the upstream communications path 221 to the aggregator 104. Once the probe packets are received by the aggregator 104, the aggregator 104 transmits a plurality of reply packets back at “n” pps through the downstream communications path 222 to the modem 103 and to the router 102 where they are detected.
The router then determines an upstream data transmission rate of the modem, and thus, the trained upstream data transmission rate of the connection, based on a relative rate of transmission of the m pps probe packets transmitted by the router 102 to the n pps reply packets received by the router 102.
Referring still to the system 200 embodiment of
The system 200 embodiment determines whether it is operating with a cable modem or a DSL modem by detecting whether PPPoE (point to point protocol over Ethernet) is used by the modem 104 or DHCP (Dynamic Host Configuration Protocol) is used. As is well known, PPPoE is used in xDSL installations and DHCP is used in cable modem installations. Once a PPPoE configuration or a DHCP configuration is up, the router 102 will get an assigned IP address from the ISP (Internet service provider) and the aggregator 104's IP address should be also exposed to the router 102.
In the system 200 embodiment, when modem bandwidth discovery process is started, the router 102 will send out probe packets (the actual packet type could either be ping packets or self-addressed IP packets) to the aggregator 104. The probe packets are transmitted at a certain rate, m pps, the packet size is p, the overhead for transmitting each packet is “o” (e.g., for ADSL packets include the headers of PPPoE and AAL5 frame), and the maximum possible upstream bandwidth is B.
In order to fully utilize B, we have the following formula to calculate m:
(k=53/48 for ADSL, k=1 for a cable modem)
While m pps probe packets are being sent to the aggregator, the echo packet return rate is continually counted until it stabilizes at a constant value n pps. According to equation (1) above, the relationship between n and the modem trained speed T should be:
Then equation (3) is defined by equations (1) and (2) as:
To be in accordance with deployment conventions, T should be rounded to a multiple of 64 k.
Once the modem trained speed T is determined (e.g., the upstream data transfer rate), intelligent traffic shaping can be performed by the router 102 to optimize high QoS applications such as VoIP, and the like. The algorithm of the present invention enables the router 102 to determine the exact modem trained speed without requiring any specialized configuration messages or information from the modem 103 or requiring any manually input configuration information from the user.
A router in accordance with one embodiment of the present invention can be provided with a standardized configuration that implements the bandwidth determination process described above. This standardized configuration would allow the router to function in a variety of different environments with a variety of different modems and broadband connections. With each case, the router would be able to automatically detect the upstream trained modem speed and optimally configure its traffic shaping functions.
Process 300 begins in step 301, where the router 102 determines the IP address of the ISP's aggregator. As described above, once a PPPoE or DHCP session is initiated, the IP address of the aggregator should be exposed and obtainable by the router. In step 302, the router 102 determines whether the modem is a DSL modem or a cable modem. If PPPoE is in use, then the modems is a DSL modem. Otherwise, if DHCP is configured, the modem should be a cable modem. In step 303, a plurality of probe packets are transmitted to the aggregator from the router at a measured rate. In step 304, a plurality of reply packets are received by the router from the aggregator. As described above, the reply packets are transmitted by the aggregator in response to the probe packets. The reply packets are received at a measured rate. In step 305, the router determines the upstream data transfer speed of the modem by comparing the transmission rate of the probe packets to the reception rate of the reply packets. As described above, this rate corresponds to the actual trained modem speed for the broadband connection.
Specific aspects of the present invention are operable within a programmed computer system which can function as IP network device, such as a home router, broadband router, or IP gateway, or other devices that can implement routing functionality, such as a desktop computer system or server computer system. A generalized example of such a router operable to implement the elements and functions of the present invention is shown in
In general, the router 400 of the present invention includes one or more central processor(s) 401 for processing information and instructions, a computer readable memory unit 402 (e.g., random access memory, static RAM, dynamic RAM, etc.) for storing information and instructions for the central processor(s) 401 and for storing routing table(s) 403. The processor 401 executes software instructions stored in the memory 402 and controls the router 400 in accordance with the software instructions and implements the functionality described above. The router 400 includes a packet switch 404 for routing data packets from a LAN port 405 to a WAN port 406 in accordance with the addressing information within the packets.
Thus, embodiments of the present invention provide a method system for configuring a router to function with a coupled modem in view of the upstream speed of a broadband connection. Embodiments of the present invention do not require manual intervention of the user in order to function properly. Additionally, embodiments of the present invention function correctly in different configuration environments and with different types of modems.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order best to explain the principles of the invention and its practical application, thereby to enable others skilled in the art best to utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5048054 *||12 May 1989||10 Sep 1991||Codex Corporation||Line probing modem|
|US5528591 *||31 Jan 1995||18 Jun 1996||Mitsubishi Electric Research Laboratories, Inc.||End-to-end credit-based flow control system in a digital communication network|
|US5867483 *||12 Nov 1996||2 Feb 1999||Visual Networks, Inc.||Method and apparatus for measurement of peak throughput in packetized data networks|
|US5886643 *||17 Sep 1996||23 Mar 1999||Concord Communications Incorporated||Method and apparatus for discovering network topology|
|US5903558 *||28 Jun 1996||11 May 1999||Motorola, Inc.||Method and system for maintaining a guaranteed quality of service in data transfers within a communications system|
|US6058102 *||6 Nov 1998||2 May 2000||Visual Networks Technologies, Inc.||Method and apparatus for performing service level analysis of communications network performance metrics|
|US6075769 *||26 Nov 1997||13 Jun 2000||Cisco Systems, Inc.||Method and apparatus for network flow control|
|US6215772 *||26 Nov 1997||10 Apr 2001||International Business Machines Corporation||Dynamic parameter estimation for efficient transport of HPR data on IP|
|US6314516 *||29 Dec 1999||6 Nov 2001||Compaq Computer Corporation||Method and apparatus for configuring communications settings in a computer system|
|US6363056 *||15 Jul 1998||26 Mar 2002||International Business Machines Corporation||Low overhead continuous monitoring of network performance|
|US6366563 *||22 Dec 1999||2 Apr 2002||Mci Worldcom, Inc.||Method, computer program product, and apparatus for collecting service level agreement statistics in a communication network|
|US6400686 *||1 Jun 2000||4 Jun 2002||Cisco Technology, Inc.||Method and apparatus for network flow control|
|US6456651 *||4 Feb 2000||24 Sep 2002||Motorola, Inc.||Method and apparatus for adjustment of the sampling phase in a PCM modem system using a dual-phase probing signal|
|US6498783 *||22 Jun 1999||24 Dec 2002||Lucent Technologies Inc.||Traffic monitoring system and service differentiation in a dynamic channel assignment system for TCP/IP data transmitted via cable television channels|
|US6748435 *||28 Apr 2000||8 Jun 2004||Matsushita Electric Industrial Co., Ltd.||Random early demotion and promotion marker|
|US6912200 *||29 Nov 2000||28 Jun 2005||Stonesoft Oy||Data transmission control method|
|US7180858 *||27 Dec 2001||20 Feb 2007||Adara Networks, Inc.||Tool for measuring available bandwidth in computer networks|
|US7403477 *||24 Jun 2003||22 Jul 2008||Hitachi, Ltd.||Packet communicating apparatus|
|US20020083233 *||21 Dec 2000||27 Jun 2002||Owen Jonathan M.||System and method of allocating bandwith to a plurality of devices interconnected by a plurality of point-to-point communication links|
|US20020152303 *||17 Oct 2001||17 Oct 2002||Steve Dispensa||Performance management system|
|US20030189977 *||5 Dec 2002||9 Oct 2003||Sweitzer Ralph F.||DSL auto baud|
|US20030198235 *||9 Nov 2001||23 Oct 2003||Mci Worldcom, Inc.||Method, computer program product, and apparatus for collecting service level agreement statistics in a communication network|
|US20040044789 *||11 Mar 2003||4 Mar 2004||Seabridge Ltd.||Dynamic service-aware aggregation of PPP sessions over variable network tunnels|
|US20040062582 *||23 Sep 2003||1 Apr 2004||Dobbertin Michael T.||Apparatus for a pre-registration speed and timing adjust system|
|US20070005804 *||12 Nov 2003||4 Jan 2007||Neil Rideout||Multicast videoconferencing|
|US20080034414 *||9 Oct 2007||7 Feb 2008||Juniper Networks, Inc.||Method and apparatus for implementing a layer 3/layer 7 firewall in an l2 device|
|U.S. Classification||370/468, 370/495|
|Cooperative Classification||H04L12/2859, H04L43/10, H04L43/12, H04L47/115, H04L47/225, H04L47/10, H04L12/2898, H04L43/0894|
|European Classification||H04L43/10, H04L47/10, H04L47/11A, H04L47/22A, H04L43/12, H04L43/08G3, H04L12/28P1B1, H04L12/28P1D3|
|3 Mar 2003||AS||Assignment|
Owner name: CISCO TECHNOLOGY, INC.,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, YULIN;SUE, DANY AH;REEL/FRAME:013844/0115
Effective date: 20030224
|31 May 2011||CC||Certificate of correction|
|15 Oct 2013||FPAY||Fee payment|
Year of fee payment: 4