US7113479B2 - Aggregated rate control method and system - Google Patents

Aggregated rate control method and system Download PDF

Info

Publication number
US7113479B2
US7113479B2 US10/157,867 US15786702A US7113479B2 US 7113479 B2 US7113479 B2 US 7113479B2 US 15786702 A US15786702 A US 15786702A US 7113479 B2 US7113479 B2 US 7113479B2
Authority
US
United States
Prior art keywords
rate control
data
recited
network device
input data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US10/157,867
Other versions
US20030223414A1 (en
Inventor
David Wong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Priority to US10/157,867 priority Critical patent/US7113479B2/en
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WONG, DAVID
Publication of US20030223414A1 publication Critical patent/US20030223414A1/en
Application granted granted Critical
Publication of US7113479B2 publication Critical patent/US7113479B2/en
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: BROADCOM CORPORATION
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROADCOM CORPORATION
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Assigned to AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED reassignment AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED MERGER (SEE DOCUMENT FOR DETAILS). Assignors: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Assigned to AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED reassignment AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Assignors: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/21Flow control; Congestion control using leaky-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Definitions

  • This invention relates to systems and methods for rate control within a digital communications network.
  • this invention is related to systems and methods of adjusting the rate control of a digital data within a digital communications network based upon content or type.
  • ISPs Internet Service Providers
  • SLAs service level agreements
  • ISPs make at least a portion of their income on service fees such as subscription fees, on-demand provisioning of services, etc.
  • One technique employed by ISPs is to regulate the amount of Internet bandwidth (i.e., data speed) that a customer is entitled based upon how much they pay. By regulating the amount of bandwidth available to each customer, ISPs may provide different levels or qualities of service at different rates. At the network level, this type of rate control usually is enforced via some sort of device configuration.
  • one standard device configuration for controlling the data rate of network access involves controlling the data flow at a network device, such as a switch, between the Internet and World Wide Web (WWW) and a customer.
  • a network device may be configured to use a rate control method often referred to as the “leaky bucket.”
  • the leaky bucket method involves configuring a network device to restrict the amount of data (i.e., data packets) that a customer may receive (e.g., via a port of the network device), by tokenizing the data and setting a threshold. Data packets are assigned a number of tokens by the device based on their size, and once a customer meets the threshold assigned for a period of time, all further packets are dropped during that same period.
  • the amount of data equal to a token, and the amount of tokens a customer is afforded maybe set by the ISP.
  • a token may be considered to be 10 Kbits.
  • a customer may be set to 200 tokens/second, or 2 Mbits/second (Mbps).
  • the device drops any data packets, which are received into the network to be routed to the customer and exceed this limitation.
  • the leaky bucket method is one well known way for an ISP to control the data rate (bandwidth) that a customer receives.
  • data rate bandwidth
  • an ISP may limit a group of its lower paying customers to 1 Mbps bandwidth.
  • the bandwidth may be regulated by a network device, such as a switch in the ISP's network, physically close to and/or connected to the customer's PC.
  • a network device such as a switch in the ISP's network
  • the ISP must provision the network to provide the necessary bandwidth to deliver the HDTV. That is, if the customer is currently limited to data at a rate of 1 Mbps, then certain devices must be reconfigured to provide an increased bandwidth sufficient to provide HDTV without dropped packets.
  • to configure a switch might include physically interfacing with the switch and programming the switch to provide the necessary bandwidth. Then, after the HDTV has been provided, interfacing with the switch again in order to reset the bandwidth to 1 Mbps for that customer.
  • a network device which includes a plurality of network ports, a switching unit, a data classification unit, and a rate control unit.
  • the plurality of network ports is configured to send and receive input data packets.
  • the switching unit is coupled to the plurality of network ports and is configured to switch input data packets from a first port to a second port.
  • the rate control unit is coupled to the switching unit and configured to control a data rate provided to each port of the plurality of network ports.
  • the data classification unit is coupled to the switching unit and to the rate control unit.
  • the data classification unit is configured to classify data packets based on their contents and output a classification to the rate control unit.
  • the rate control unit is configured to perform rate control for input data packets based on the classification of each data packet.
  • a method of rate controlling data within a network includes receiving a data packet destined for a customer; classifying the data packet; rate controlling the data packet based on results of the classification step; and switching the packet to the customer based on the rate controlling step.
  • the network device includes a plurality of ports, a switching means, a rate control means, a data classification means, and a rate control stop means.
  • the plurality of ports is for sending a receiving input data.
  • the switching means is for switching input data to a first port of the plurality of ports to a second port of the plurality of ports.
  • the rate control means is for applying rate control to the input data received at the plurality of ports into the device.
  • the data classification means is for classifying the data input.
  • the rate control stop means is for stopping the rate control means from applying rate control to the data input based on a classification by the data classification means.
  • FIG. 1 is a block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention
  • FIG. 2 is a block diagram of an exemplary network device according to an embodiment of the present invention.
  • FIG. 3 is second block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention
  • FIG. 4 is a third block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention.
  • FIG. 5 is flowchart of a method for aggregated rate control according to an embodiment of the present invention.
  • FIG. 1 is a block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention.
  • FIG. 1 shows a network 100 which may include the Internet and World Wide Web 102 .
  • An ISP 104 (shown as a single device, but may include an entire network) is connected to the Internet 102 and may provide Internet service to a client 106 via an Ethernet link.
  • Client 106 may be connected to a switch 108 configured and/or controlled by ISP 104 .
  • Internet content is provided to client 106 via switch 108 .
  • ISP 104 may provide a designated amount of bandwidth to client 106 according to a service level agreement (SLA).
  • SLA service level agreement
  • This bandwidth may be regulated at switch 108 via built-in rate control.
  • One standard method of rate control is the “leaky bucket” method.
  • client 106 may connect to a content server 110 and download some content.
  • Switch 108 assigns a number of tokens to each data packet frame destined for client 106 (i.e., to the port connected to the client).
  • the bandwidth is regulated in terms of the number of tokens client 106 is allowed to receive over a period of time, and the number of tokens may correspond to the size of the packet.
  • FIG. 2 is a block diagram of an exemplary network device according to an embodiment of the present invention.
  • Device 200 may be, but is not limited to, a network switch, such as switch 108 or 304 , for example, and may be used within a network to control the flow of data communications to a customer.
  • Device 200 may include a number of network ports 202 (e.g., P 0 –P 7 ), which may be well known PHYs or tranceivers and perform Ethernet layer one functions.
  • Network ports 202 are connected to network devices on one end, such as client 106 , and to MAC 204 internally.
  • MAC 204 represents an Ethernet layer two system, which interfaces the layer one systems with the upper layers of the device.
  • MAC 204 may perform standard layer two functions in addition to those described herein.
  • Device 200 may also include a CPU 210 which may perform certain network functions, and which may communicate with, configure and control other systems and subsystems of device 200 .
  • Device 200 may include memory 208 , which may be any number of registers, SRAM, DRAM or other memory as necessary to perform networking functions.
  • device 200 may include Address Resolution Logic (ARL) 206 for performing networking functions, such as rate control, fast filter processing (FFP) congestion control, routing, learning, etc. Accordingly, ARL 206 is connected to and may communicate with MAC 204 , CPU 210 and memory 208 .
  • ARL may also be configured to pre-read (“snoop”) network ports 202 in order to perform in order to support rate control according to the present invention.
  • Device 200 also may include a number of interfaces for directly controlling the device. These interfaces may provide for remote access (e.g., via a network) or local access (e.g., via a panel or keyboard). Accordingly, device 200 may include external interface ports, such as a USB or serial port, for connecting to external devices, or CPU 210 may be communicated with via network ports 202 . In this example, interfaces are shown connected to device 200 via the CPU 210 .
  • FIG. 2 shows an exemplary, yet very basic structure of a network device, such as a network switch.
  • a network device such as a network switch.
  • network devices may be used to implement the present invention.
  • a more detailed example of an exemplary switch is shown and described in U.S. Pat. No. 6,104,696, which is hereby incorporated by reference. It should be noted that the switch described in the patent is a specific switch implementation to which the present invention is not meant to be limited. One having ordinary skill in the art will readily understand that the present invention is applicable to many other switch and device configurations.
  • FIG. 3 shows another block diagram of a network according to an embodiment of the present invention.
  • Network 300 includes a plurality of subscribers 306 – 310 each connected to a switch 304 .
  • Switch 304 may be connected to the Internet via an ISP network 302 .
  • ISP 302 may be connected to a number of servers via the Internet or another network, such as to a video server 312 and data server 314 .
  • subscribers 306 and 310 each are restricted to data at a rate of 1 Mbps.
  • Subscriber 308 is allocated data at a rate of 10 Mbps. Accordingly, subscriber 308 would be allowed 10 times as many tokens as subscribers 306 and 310 in the case when rate control is performed via the leaky bucket method.
  • bandwidth may be allocated via the “leaky bucket” method, but is also modified as described below.
  • the present invention may be described in terms of a number of operational examples. Take the case where subscriber 306 wants to connect to data server 314 to download music. Subscriber 306 may navigate, such as through a browser, to a website to download music. An Ethernet connection may be made to switch 304 , which routes the connection through the ISP 302 to data server 314 to request the download. Then the download is initiated, and a stream of data packets are routed back to subscriber 306 through switch 304 . Subscriber 306 has a SLA with the ISP that limits its bandwidth to 1 Mbps. Accordingly, the download from data server 314 may be at a rate of no more than 1 Mbps.
  • the ARL of switch 304 may allocate tokens based on the number and size of data packets during predetermined intervals. If the data exceeds 1 Mbps, then additional data packets over the limit are dropped. Although this performance may be acceptable in some instances, it may be desirable to modify the amount of bandwidth allocated to increase performance.
  • Subscriber 308 may receive the download at the required rate under his SLA without any configuration changes to the network, but subscribers 306 and 310 cannot. If it is desired for subscribers 306 and 310 to receive the download at 4 Mbps, then the switch may automatically recognize this and provide the additional bandwidth based on the type of service requested.
  • Subscriber 306 may order a movie which is downloaded from video server 312 .
  • the ARL of switch 304 may be configured to “snoop” the ports of the switch to determine the type of data being routed. The type of data may be determined from the data packet itself or from a VLAN tag which may be inserted. If the data is video or some other high bandwidth data, the switch 304 may be configured to eliminate rate control for this entire data stream. For example, if data is rate controlled via a “leaky bucket” method, the ARL may be configure to allocate zero tokens to video data, and accordingly, the “leaky bucket” will not overflow and the HDTV packets will not be dropped. Alternatively, the ARL may be configured to completely skip any steps of rate control and directly switch the packet.
  • An additional function may be performed to authenticate the request.
  • the ISP may wish to rate control traffic to a subscriber unless the subscriber pays additionally for bandwidth (e.g., on-demand video).
  • bandwidth e.g., on-demand video
  • the subscriber may have paid separately for the HDTV.
  • switch 304 once it determines that the data type is one, which requires additional bandwidth, may be configured to connect to video server 312 , or to an authentication system (not shown), to authenticate that subscriber 306 has paid for the service requiring the additional bandwidth. Based on the results of the authentication, switch 304 may either rate control the data or terminate rate control for the delivery of the HDTV movie. Also, switch 304 may determine the duration of the service purchased and may resume rate control after the movie has been delivered.
  • the authentication may be done by the CPU of switch 304 or, the ARL may be configured to initiate authentication. Once rate control is terminated for a specific service, switch 304 may identify each packet based on the source address. Therefore, data packets with a different source address may be treated separately.
  • FIG. 4 is a block diagram of an exemplary network device according to an embodiment of the present invention.
  • Network device 400 may be a switch, hub, repeater, or any other network device which may be configurable to perform a network functions as defined herein.
  • Device 400 includes a plurality of network ports 402 which are configured to send and receive signals to other network devices over a network, such as via fiber optics, copper wiring, etc. Accordingly, network ports 402 may be well known PHYs or transceivers.
  • the invention is not limited to any particular physical connection. For instance, the invention may be used in a Digital Subscriber Line Access Multiplexer (DSLAM) application, an Ethernet PHY application, (which may be limited to 100 meters) or a Fiber Ethernet application.
  • DSLAM Digital Subscriber Line Access Multiplexer
  • Ethernet PHY which may be limited to 100 meters
  • Fiber Ethernet application which may be limited to 100 meters
  • Device 400 also includes a switching unit 404 , a rate control unit 406 , a data classification unit 408 , and a rate control stop unit 410 .
  • Switching unit 404 is connected to ports 402 and is configured to perform various switching functions in relation to signals received at port 402 .
  • switch unit 404 may contain the necessary hardware and software in order to switch data packets from one port of ports 402 to another port. If on the other hand, that network device 400 is a repeater, switching unit 404 contains the necessary hardware and software in order to repeat a signal received at one port of ports 402 to all the ports 402 .
  • Rate control unit 406 is coupled with ports 402 and switching unit 404 , and is configured to perform rate control functions in relation to data packets which are received at ports 402 and being switched, repeated, networked, etc. by switching unit 404 .
  • rate control may be performed in relation to data packets being switched to a particular subscriber in order to limit the bandwidth that the subscribers receive in connection with a subscribers SLA.
  • Such rate control may be performed by the leaky bucket method or any other known rate control means.
  • Rate control unit 406 may include any necessary hardware and software in order to perform rate control functions.
  • Data classification unit 408 is coupled with ports 402 and with rate control stop unit 410 , and is configured to “snoop” data packets being received at any of ports 402 . Data classification unit 408 is also configured to classify the type of data being received at each port and transmit this classification to rate control stop unit 410 . In response to the classification of any data packet received, rate control stop unit 410 is configured to terminate rate control or modify rate control being performed by rate control unit 406 in connection with the data stream. For example, as described above, rate control can be prevented in relation to data packets which are video or application packets. If rate control is being performed via the leaky bucket method, tokens may be eliminated for such packets, or data packets can be directly switched or routed via switching unit 404 . Accordingly, rate control stop unit 410 may be coupled to both rate control unit 406 and switching unit 404 and configured to communicate with rate control unit 406 and switching unit 404 .
  • FIG. 4 is an exemplary block diagram of a network device in accordance with an embodiment of the present invention.
  • switching unit 404 , rate control unit 406 , data classification unit 408 , and rate control stop unit 410 may be separate circuits or discrete components, or instead may be logical sub systems within a single IC.
  • ARL 206 , MAC 204 , and CPU 210 may individually or collectively each perform the functions of switching unit 404 , rate control unit 406 , data classification unit 408 , and rate control stop unit 410 .
  • the present invention is not meant to be limited to the exemplary configurations shown and described with reference to the drawing figures. Accordingly, the present invention may be applied to other network devices and configurations.
  • FIG. 5 is a flow chart of a method of providing aggregated rate control according to an embodiment of the present invention. Processing begins at step S 5 - 1 and proceeds to step S 5 - 2 .
  • a packet is received at a device performing rate control, such as a network switch as described above.
  • the packet may be destined for a subscriber of an ISP, for example, and rate control may be applied to send traffic to that subscriber.
  • rate control may be applied a number of ways, such as by the leaky bucket method, and may be in accordance with an SLA.
  • the type of data is identified. For example, as described above, the port of a switch may be snooped by the ARL of the switch, and the header of the packet may be read to determine the type of data. Certain types of data, such as application data or video data, may require additional bandwidth, or may require additional payments or authentication. Accordingly, the data packet is classified by type.
  • the classification may be compared against a list of data types that may be given increased bandwidth.
  • the list may be stored in memory, may be accessed via the network, or the ARL may configured to perform the comparison.
  • video or application data may be types of data that may be given increased bandwidth.
  • the service may be authenticated. For example, if the data is video, then the ISP may want to contact the video server to authenticate the service, to ensure that it has been paid for by the subscriber. In the case that it has, the authentication need only be done at the beginning of the data stream, and it can be determined when the service is terminated. If the results of authentication are negative, then rate control may be applied normally at step S 5 - 5 .
  • rate control is applied to the data packet if it is not of a category receiving increased bandwidth or if authentication fails.
  • Rate control may be applied by any normal means. For example, in a leaky bucket rate control system, the ARL of the switch may calculate a token based on the size of the packet and add it to the bucket.
  • step S 5 - 4 the packet is determined to be the kind of data to be afforded increased bandwidth, and if the results any optional authentication performed is successful, then at step S 5 - 6 , the data packet is not rate controlled and may be routed directly to the subscriber. For example, in a leaky bucket system, zero tokens are assigned to the packet and processing may proceed to step S 5 - 7 (not shown). Alternatively, the packet may be directly switched to the subscriber at step S 5 - 9 . Processing ends at step S 5 - 10 .
  • the above-described method may be performed for each packet received at a switch prior to switching. Once a data packet is assigned higher bandwidth, then the switch may recognize each subsequent packet based on its source address and automatically switch those packets to the customer, in order to increase performance of the switch.
  • a network device may be configured to perform the above-described method either in silicon or in software. Accordingly, one will understand that the switching configurations described herein are merely exemplary. Accordingly, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skilled in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention. In order to determine the metes and bounds of the invention, therefore, reference should be made to the appended claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A network device, which includes a plurality of network ports, a switching unit, a data classification unit, and a rate control unit, is provided. The plurality of network ports is configured to send and receive input data packets. The switching unit is coupled to the plurality of network ports and is configured to switch input data packets from a first port to a second port. The rate control unit is coupled to the switching unit and configured to control a data rate provided to each port of the plurality of network ports. The data classification unit is coupled to the switching unit and to the rate control unit. The data classification unit is configured to classify data packets based on their contents and output a classification to the rate control unit. The rate control unit is configured to perform rate control for input data packets based on the classification of each data packet.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to systems and methods for rate control within a digital communications network. In particular, this invention is related to systems and methods of adjusting the rate control of a digital data within a digital communications network based upon content or type.
2. Description of the Related Art
Data networks are well known. Over the last several years, the proliferation of the Internet has had a significant impact on many industries, especially the computer industry. The Internet has grown into such an enormous structure to which virtually any large or small computer network may be connected. In fact, it is now common place for the vast majority of people to have access to the Internet, either through their business or work and/or through personal accounts. This connectivity has allowed many businesses, universities, governments, etc. to expand to provide their services via the Internet.
Most people or businesses obtain Internet access via an Internet Service Providers (ISP). ISPs provide access to the Internet for their customers usually through membership subscriptions in conjunction with service level agreements (SLAs). ISPs make at least a portion of their income on service fees such as subscription fees, on-demand provisioning of services, etc. One technique employed by ISPs is to regulate the amount of Internet bandwidth (i.e., data speed) that a customer is entitled based upon how much they pay. By regulating the amount of bandwidth available to each customer, ISPs may provide different levels or qualities of service at different rates. At the network level, this type of rate control usually is enforced via some sort of device configuration.
For example, one standard device configuration for controlling the data rate of network access (bandwidth) involves controlling the data flow at a network device, such as a switch, between the Internet and World Wide Web (WWW) and a customer. A network device may be configured to use a rate control method often referred to as the “leaky bucket.” The leaky bucket method involves configuring a network device to restrict the amount of data (i.e., data packets) that a customer may receive (e.g., via a port of the network device), by tokenizing the data and setting a threshold. Data packets are assigned a number of tokens by the device based on their size, and once a customer meets the threshold assigned for a period of time, all further packets are dropped during that same period. The amount of data equal to a token, and the amount of tokens a customer is afforded maybe set by the ISP. For example, a token may be considered to be 10 Kbits. A customer may be set to 200 tokens/second, or 2 Mbits/second (Mbps). The device drops any data packets, which are received into the network to be routed to the customer and exceed this limitation.
The leaky bucket method is one well known way for an ISP to control the data rate (bandwidth) that a customer receives. However, there are several drawbacks to the leaky bucket method. Today, Internet users may order and purchase a variety of different services, such as HDTV, video on demand, music, applications, etc. Some of these services often require a large amount of bandwidth. For example, HDTV may require 12–20 Mbps of data. Dropped packets can significantly reduce the quality of such services as video. As a result, there are problems associated with implementing rate control for Internet subscribers.
For example, an ISP may limit a group of its lower paying customers to 1 Mbps bandwidth. The bandwidth may be regulated by a network device, such as a switch in the ISP's network, physically close to and/or connected to the customer's PC. Take the case where one such customer may order HDTV. In order to provide HDTV to the customer, the ISP must provision the network to provide the necessary bandwidth to deliver the HDTV. That is, if the customer is currently limited to data at a rate of 1 Mbps, then certain devices must be reconfigured to provide an increased bandwidth sufficient to provide HDTV without dropped packets. This usually entails physically configuring the network device already regulating the customer's bandwidth, such as a switch, to provide the necessary bandwidth to the customer. However, to configure a switch might include physically interfacing with the switch and programming the switch to provide the necessary bandwidth. Then, after the HDTV has been provided, interfacing with the switch again in order to reset the bandwidth to 1 Mbps for that customer.
Manually configuring a network device to change the bandwidth provided is a time consuming task, which reduces performance (i.e., delays in delivering the network service) and costs more (i.e., time=money). Accordingly, there is a need for new and improved systems and methods for controlling the data access rate of Internet customers that are more flexible in providing higher bandwidth on-demand, inexpensively.
SUMMARY OF THE INVENTION
According to an embodiment of the present invention, provided is a network device, which includes a plurality of network ports, a switching unit, a data classification unit, and a rate control unit. The plurality of network ports is configured to send and receive input data packets. The switching unit is coupled to the plurality of network ports and is configured to switch input data packets from a first port to a second port. The rate control unit is coupled to the switching unit and configured to control a data rate provided to each port of the plurality of network ports. The data classification unit is coupled to the switching unit and to the rate control unit. The data classification unit is configured to classify data packets based on their contents and output a classification to the rate control unit. The rate control unit is configured to perform rate control for input data packets based on the classification of each data packet.
According to another embodiment of the present invention, provided is a method of rate controlling data within a network. The method includes receiving a data packet destined for a customer; classifying the data packet; rate controlling the data packet based on results of the classification step; and switching the packet to the customer based on the rate controlling step.
According to another embodiment of the present invention, provided is a network device. The network device includes a plurality of ports, a switching means, a rate control means, a data classification means, and a rate control stop means. The plurality of ports is for sending a receiving input data. The switching means is for switching input data to a first port of the plurality of ports to a second port of the plurality of ports. The rate control means is for applying rate control to the input data received at the plurality of ports into the device. The data classification means is for classifying the data input. The rate control stop means is for stopping the rate control means from applying rate control to the data input based on a classification by the data classification means.
BRIEF DESCRIPTION OF THE DRAWINGS
The objects and features of the invention will be more readily understood with reference to the following description and the attached drawings, wherein:
FIG. 1 is a block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention;
FIG. 2 is a block diagram of an exemplary network device according to an embodiment of the present invention;
FIG. 3 is second block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention;
FIG. 4 is a third block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention; and
FIG. 5 is flowchart of a method for aggregated rate control according to an embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is a block diagram of a network including a network device supporting aggregated rate control in accordance with an embodiment of the present invention. FIG. 1 shows a network 100 which may include the Internet and World Wide Web 102. An ISP 104 (shown as a single device, but may include an entire network) is connected to the Internet 102 and may provide Internet service to a client 106 via an Ethernet link. Client 106 may be connected to a switch 108 configured and/or controlled by ISP 104. Internet content is provided to client 106 via switch 108.
In a typical configuration, ISP 104 may provide a designated amount of bandwidth to client 106 according to a service level agreement (SLA). This bandwidth may be regulated at switch 108 via built-in rate control. One standard method of rate control is the “leaky bucket” method. According to the “leaky bucket” method, client 106 may connect to a content server 110 and download some content. Switch 108 assigns a number of tokens to each data packet frame destined for client 106 (i.e., to the port connected to the client). The bandwidth is regulated in terms of the number of tokens client 106 is allowed to receive over a period of time, and the number of tokens may correspond to the size of the packet. When client 106 meets its token threshold, the rest of the packets routed to client 106 are dropped by switch 108. In this manner, the bandwidth of client 106 is regulated by switch 108. However, to cure the deficiencies in the prior art, the system and method of rate control is modified as described below.
FIG. 2 is a block diagram of an exemplary network device according to an embodiment of the present invention. Device 200 may be, but is not limited to, a network switch, such as switch 108 or 304, for example, and may be used within a network to control the flow of data communications to a customer. Device 200 may include a number of network ports 202 (e.g., P0–P7), which may be well known PHYs or tranceivers and perform Ethernet layer one functions. Network ports 202 are connected to network devices on one end, such as client 106, and to MAC 204 internally. MAC 204 represents an Ethernet layer two system, which interfaces the layer one systems with the upper layers of the device. MAC 204 may perform standard layer two functions in addition to those described herein.
Device 200 may also include a CPU 210 which may perform certain network functions, and which may communicate with, configure and control other systems and subsystems of device 200. Device 200 may include memory 208, which may be any number of registers, SRAM, DRAM or other memory as necessary to perform networking functions. Also, device 200 may include Address Resolution Logic (ARL) 206 for performing networking functions, such as rate control, fast filter processing (FFP) congestion control, routing, learning, etc. Accordingly, ARL 206 is connected to and may communicate with MAC 204, CPU 210 and memory 208. ARL may also be configured to pre-read (“snoop”) network ports 202 in order to perform in order to support rate control according to the present invention.
Device 200 also may include a number of interfaces for directly controlling the device. These interfaces may provide for remote access (e.g., via a network) or local access (e.g., via a panel or keyboard). Accordingly, device 200 may include external interface ports, such as a USB or serial port, for connecting to external devices, or CPU 210 may be communicated with via network ports 202. In this example, interfaces are shown connected to device 200 via the CPU 210.
FIG. 2 shows an exemplary, yet very basic structure of a network device, such as a network switch. One having ordinary skill in the art will readily understand that many network devices may be used to implement the present invention. A more detailed example of an exemplary switch is shown and described in U.S. Pat. No. 6,104,696, which is hereby incorporated by reference. It should be noted that the switch described in the patent is a specific switch implementation to which the present invention is not meant to be limited. One having ordinary skill in the art will readily understand that the present invention is applicable to many other switch and device configurations.
FIG. 3 shows another block diagram of a network according to an embodiment of the present invention. Network 300 includes a plurality of subscribers 306310 each connected to a switch 304. Switch 304 may be connected to the Internet via an ISP network 302. ISP 302 may be connected to a number of servers via the Internet or another network, such as to a video server 312 and data server 314. In this embodiment, it is shown that subscribers 306 and 310 each are restricted to data at a rate of 1 Mbps. Subscriber 308 is allocated data at a rate of 10 Mbps. Accordingly, subscriber 308 would be allowed 10 times as many tokens as subscribers 306 and 310 in the case when rate control is performed via the leaky bucket method. As described above, bandwidth may be allocated via the “leaky bucket” method, but is also modified as described below.
The present invention may be described in terms of a number of operational examples. Take the case where subscriber 306 wants to connect to data server 314 to download music. Subscriber 306 may navigate, such as through a browser, to a website to download music. An Ethernet connection may be made to switch 304, which routes the connection through the ISP 302 to data server 314 to request the download. Then the download is initiated, and a stream of data packets are routed back to subscriber 306 through switch 304. Subscriber 306 has a SLA with the ISP that limits its bandwidth to 1 Mbps. Accordingly, the download from data server 314 may be at a rate of no more than 1 Mbps.
As data is routed from ISP 302 to subscriber 306 via switch 304, the ARL of switch 304 may allocate tokens based on the number and size of data packets during predetermined intervals. If the data exceeds 1 Mbps, then additional data packets over the limit are dropped. Although this performance may be acceptable in some instances, it may be desirable to modify the amount of bandwidth allocated to increase performance.
In the present case, consider that the music download requires a data rate of 4 Mbps. Subscriber 308 may receive the download at the required rate under his SLA without any configuration changes to the network, but subscribers 306 and 310 cannot. If it is desired for subscribers 306 and 310 to receive the download at 4 Mbps, then the switch may automatically recognize this and provide the additional bandwidth based on the type of service requested.
Take the case where subscriber 306 orders an on-demand high definition video. Assume, for example, that HDTV requires 12 Mbps bandwidth. Under each subscriber's SLA, none of the subscribers can receive HDTV at a data rate other than the required data rate. However, if subscriber 306 purchases a video on-line, it may be desired to allow the subscriber to receive the HDTV at the required rate. Therefore, the system must allow for a bandwidth of 12 Mbps. The present invention automatically detects this need and increases the bandwidth to subscriber 306 to provide the HDTV.
Subscriber 306 may order a movie which is downloaded from video server 312. When the data packets carrying the HDTV video are received at switch 302 for routing to subscriber 306, the ARL of switch 304 may be configured to “snoop” the ports of the switch to determine the type of data being routed. The type of data may be determined from the data packet itself or from a VLAN tag which may be inserted. If the data is video or some other high bandwidth data, the switch 304 may be configured to eliminate rate control for this entire data stream. For example, if data is rate controlled via a “leaky bucket” method, the ARL may be configure to allocate zero tokens to video data, and accordingly, the “leaky bucket” will not overflow and the HDTV packets will not be dropped. Alternatively, the ARL may be configured to completely skip any steps of rate control and directly switch the packet.
An additional function may be performed to authenticate the request. For example, the ISP may wish to rate control traffic to a subscriber unless the subscriber pays additionally for bandwidth (e.g., on-demand video). In the last example, the subscriber may have paid separately for the HDTV. In such a case, switch 304, once it determines that the data type is one, which requires additional bandwidth, may be configured to connect to video server 312, or to an authentication system (not shown), to authenticate that subscriber 306 has paid for the service requiring the additional bandwidth. Based on the results of the authentication, switch 304 may either rate control the data or terminate rate control for the delivery of the HDTV movie. Also, switch 304 may determine the duration of the service purchased and may resume rate control after the movie has been delivered. The authentication may be done by the CPU of switch 304 or, the ARL may be configured to initiate authentication. Once rate control is terminated for a specific service, switch 304 may identify each packet based on the source address. Therefore, data packets with a different source address may be treated separately.
FIG. 4 is a block diagram of an exemplary network device according to an embodiment of the present invention. Network device 400 may be a switch, hub, repeater, or any other network device which may be configurable to perform a network functions as defined herein. Device 400 includes a plurality of network ports 402 which are configured to send and receive signals to other network devices over a network, such as via fiber optics, copper wiring, etc. Accordingly, network ports 402 may be well known PHYs or transceivers. The invention is not limited to any particular physical connection. For instance, the invention may be used in a Digital Subscriber Line Access Multiplexer (DSLAM) application, an Ethernet PHY application, (which may be limited to 100 meters) or a Fiber Ethernet application. The invention may also be used with a Very high bit rate Digital Subscriber Line (VDSL) PHY to establish an Ethernet connection using VDSL or EFM (Ethernet in the First Mile). Device 400 also includes a switching unit 404, a rate control unit 406, a data classification unit 408, and a rate control stop unit 410. Switching unit 404 is connected to ports 402 and is configured to perform various switching functions in relation to signals received at port 402. For example, if device 400 is a network switch, switch unit 404 may contain the necessary hardware and software in order to switch data packets from one port of ports 402 to another port. If on the other hand, that network device 400 is a repeater, switching unit 404 contains the necessary hardware and software in order to repeat a signal received at one port of ports 402 to all the ports 402.
Rate control unit 406 is coupled with ports 402 and switching unit 404, and is configured to perform rate control functions in relation to data packets which are received at ports 402 and being switched, repeated, networked, etc. by switching unit 404. For example, as described above, rate control may be performed in relation to data packets being switched to a particular subscriber in order to limit the bandwidth that the subscribers receive in connection with a subscribers SLA. Such rate control may be performed by the leaky bucket method or any other known rate control means. Rate control unit 406 may include any necessary hardware and software in order to perform rate control functions.
Data classification unit 408 is coupled with ports 402 and with rate control stop unit 410, and is configured to “snoop” data packets being received at any of ports 402. Data classification unit 408 is also configured to classify the type of data being received at each port and transmit this classification to rate control stop unit 410. In response to the classification of any data packet received, rate control stop unit 410 is configured to terminate rate control or modify rate control being performed by rate control unit 406 in connection with the data stream. For example, as described above, rate control can be prevented in relation to data packets which are video or application packets. If rate control is being performed via the leaky bucket method, tokens may be eliminated for such packets, or data packets can be directly switched or routed via switching unit 404. Accordingly, rate control stop unit 410 may be coupled to both rate control unit 406 and switching unit 404 and configured to communicate with rate control unit 406 and switching unit 404.
FIG. 4 is an exemplary block diagram of a network device in accordance with an embodiment of the present invention. One having ordinary skill in the art would readily understand that switching unit 404, rate control unit 406, data classification unit 408, and rate control stop unit 410 may be separate circuits or discrete components, or instead may be logical sub systems within a single IC. For example, referring to FIG. 2, ARL 206, MAC 204, and CPU 210 may individually or collectively each perform the functions of switching unit 404, rate control unit 406, data classification unit 408, and rate control stop unit 410. It should also be understood that the present invention is not meant to be limited to the exemplary configurations shown and described with reference to the drawing figures. Accordingly, the present invention may be applied to other network devices and configurations.
FIG. 5 is a flow chart of a method of providing aggregated rate control according to an embodiment of the present invention. Processing begins at step S5-1 and proceeds to step S5-2. At step S5-2, a packet is received at a device performing rate control, such as a network switch as described above. The packet may be destined for a subscriber of an ISP, for example, and rate control may be applied to send traffic to that subscriber. As described above, rate control may be applied a number of ways, such as by the leaky bucket method, and may be in accordance with an SLA.
Next, at step S5-3, the type of data is identified. For example, as described above, the port of a switch may be snooped by the ARL of the switch, and the header of the packet may be read to determine the type of data. Certain types of data, such as application data or video data, may require additional bandwidth, or may require additional payments or authentication. Accordingly, the data packet is classified by type.
Next, at step S5-4, the classification may be compared against a list of data types that may be given increased bandwidth. The list may be stored in memory, may be accessed via the network, or the ARL may configured to perform the comparison. For example, video or application data may be types of data that may be given increased bandwidth. If the data received is the type of data that may be given increased bandwidth, then optionally, the service may be authenticated. For example, if the data is video, then the ISP may want to contact the video server to authenticate the service, to ensure that it has been paid for by the subscriber. In the case that it has, the authentication need only be done at the beginning of the data stream, and it can be determined when the service is terminated. If the results of authentication are negative, then rate control may be applied normally at step S5-5.
At step S5-5, rate control is applied to the data packet if it is not of a category receiving increased bandwidth or if authentication fails. Rate control may be applied by any normal means. For example, in a leaky bucket rate control system, the ARL of the switch may calculate a token based on the size of the packet and add it to the bucket. At step S5-7, it is determined whether the bucket is full (or if the imposed bandwidth is exceeded). If the bucket is full or if bandwidth is exceeded, then the data packet may be dropped at step S5-8. Otherwise, the packet is delivered (switched) to the subscriber at step S5-9.
If at step S5-4 the packet is determined to be the kind of data to be afforded increased bandwidth, and if the results any optional authentication performed is successful, then at step S5-6, the data packet is not rate controlled and may be routed directly to the subscriber. For example, in a leaky bucket system, zero tokens are assigned to the packet and processing may proceed to step S5-7 (not shown). Alternatively, the packet may be directly switched to the subscriber at step S5-9. Processing ends at step S5-10.
The above-described method may be performed for each packet received at a switch prior to switching. Once a data packet is assigned higher bandwidth, then the switch may recognize each subsequent packet based on its source address and automatically switch those packets to the customer, in order to increase performance of the switch.
One having ordinary skill in the art will understand that a network device may be configured to perform the above-described method either in silicon or in software. Accordingly, one will understand that the switching configurations described herein are merely exemplary. Accordingly, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skilled in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention. In order to determine the metes and bounds of the invention, therefore, reference should be made to the appended claims.

Claims (31)

1. A network device comprising:
a plurality of network ports, said plurality of network ports configured to send and receive input data packets;
a switching unit coupled to said plurality of network ports and configured to switch said input data packets from a first port of said plurality of network ports to a second port of said plurality of network ports;
a rate control unit coupled to said switching unit and configured to control a data rate provided to each port of said plurality of network ports; and
a data classification unit coupled to said switching unit and said rate control unit, said data classification unit configured to classify said data packets based on the contents of said input data packets and output a classification to said rate control unit;
wherein said rate control unit is configured to perform rate control for said input data packets based on said classification of each data packet.
2. The network device as recited in claim 1, wherein said rate control unit comprising a leaky bucket classification system.
3. The network device as recited in claim 2, wherein said data classification unit is configured to extract a tag from said input data packets and classifies said input data packets based on said tag.
4. The network device as recited in claim 3, wherein tag is a VLAN tag.
5. The network device as recited in claim 4, wherein said switching unit is configured to insert a tag into said input data packets if no tag exists in said input data packets.
6. The network device as recited in claim 1, wherein said switch unit comprises an address resolution logic (ARL) configured to determine a destination address based on a content of said input data packets, and switch said input data packets to a destination port of said plurality of ports based on said destination address.
7. The network device as recited in claim 1, further comprising a rate control stop unit coupled to said classification unit and said rate control unit, said rate control stop unit is configured to stop said rate control unit from rate controlling said input data packets based on said classification.
8. The network device as recited in claim 7, wherein said data classification unit is configured to classify said input data packets based on a type of said data, said type being video, application, or data, and
said rate control stop unit is configured to stop said rate control unit from rate controlling said input data packets, if said input data packets are classified as at least one of video data and application data.
9. The network device as recited in claim 7, wherein said rate control unit is configured to calculate an amount of tokens for each of said input data packets.
10. The network device as recited in claim 7, wherein said rate control unit is configured to apply rate control based on a customer service level agreement.
11. The network device as recited in claim 9, wherein said rate control unit is configured to drop data packets of said input data packets that are received during a predetermined period of time which, when tokens for each data packet is summed, exceed a predetermined amount of tokens.
12. The network device as recited in claim 7, wherein said rate control unit corresponds a number of tokens to said input data packets based on a size of said input data packets, sums a number of tokens corresponding to said input data packets in a predetermined period of time, and drops any data packets corresponding to tokens which exceed a predetermined number for said predetermined period of time.
13. The network device as recited in claim 12, wherein said rate control stop unit is configured to control said rate control unit to apply zero tokens to data packets classified as at least one of video or application data.
14. The network device as recited in claim 1, wherein said network device comprises a network switch.
15. The network device as recited in claim 14, wherein said network switch comprises a router.
16. The network device as recited in claim 14, wherein said network switch comprises a hub or repeater.
17. A method of rate controlling data within a network, said method comprising:
receiving a data packet destined for a customer,
classifying said data packet;
rate controlling said data packet based on results of said classification step;
switching said packet to said customer based on said rate controlling step; and
wherein said rate controlling step includes applying rate control to said data packet if said results of said classifying step are a predetermined classification;
and not applying rate control to said data packet if said results of said classifying step are not said predetermined classification.
18. The method as recited in claim 17, wherein said classifying step includes reading said data packet to determine a type of said data packet, and classifying said data packet based on said type.
19. The method as recited in claim 18, wherein said classifying step includes classifying said data packet as at least one of data, application, and video.
20. The method as recited in claim 18, wherein said rate controlling step includes applying rate control to said data packet if said results of said classifying step are not video or application, and not applying rate control to said data packet if said results of said classifying step are one of video and application.
21. The method as recited in claim 19, wherein said rate controlling step further includes associating a number of tokens with said data packet when rate control is to be applied,
summing a number of tokens over a period of time for a plurality of data packets, and
dropping any data packets of said plurality of data packets for which the sum of the number of tokens exceeds a predetermined number of tokens.
22. A network device comprising:
a plurality of ports for sending a receiving input data;
a switching means for switching input data to a first port of said plurality of ports to a second port of said plurality of ports;
a rate control means for applying rate control to said input data received at said plurality of ports into said device;
a data classification means for classifying said data input;
a rate control stop means for stopping said rate control means from applying rate control to said data input based on a classification by said data classification means.
23. The network device as recited in claim 22, wherein said data classification means classifies said input data based on a type of said data, said type being video, application, or data, and
said rate control stop means is configured to stop said rate control means from applying rate control to said input date, if said input data is classified as one of video data and application data.
24. The network device as recited in claim 22, wherein said rate control means is configured to apply tokenized rate control to said input data.
25. The network device as recited in claim 22, wherein said rate control means includes a priority rate control unit.
26. The network device as recited in claim 22, wherein said rate control means applies rate control based on a customer service level agreement.
27. The network device as recited in claim 22, wherein said rate control means drops packets of said input data that are received during a predetermined period of time which exceed a predetermined amount.
28. The network device as recited in claim 23, wherein said rate control means applies tokenized rate control to said input data.
29. The network device as recited in claim 28, wherein said rate control means corresponds a number of tokens to said input data based on a size of said input data, counts a number of tokens corresponding to said input data in a predetermined period of time, and drops any packets corresponding to tokens which exceed a predetermined number for said predetermined period of time.
30. The network device as recited in claim 29, wherein said rate control stop means controls said rate control means to apply zero tokens to data packets classified as one of video or application data.
31. The network device as recited in claim 22, wherein said classification means reads said input data at said plurality of ports before said input data is switched by said switching means, and provides said classification to said rate control stop means.
US10/157,867 2002-05-31 2002-05-31 Aggregated rate control method and system Active 2025-03-22 US7113479B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/157,867 US7113479B2 (en) 2002-05-31 2002-05-31 Aggregated rate control method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/157,867 US7113479B2 (en) 2002-05-31 2002-05-31 Aggregated rate control method and system

Publications (2)

Publication Number Publication Date
US20030223414A1 US20030223414A1 (en) 2003-12-04
US7113479B2 true US7113479B2 (en) 2006-09-26

Family

ID=29582552

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/157,867 Active 2025-03-22 US7113479B2 (en) 2002-05-31 2002-05-31 Aggregated rate control method and system

Country Status (1)

Country Link
US (1) US7113479B2 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230678A1 (en) * 2003-05-15 2004-11-18 Huslak Nicholas S. Methods, systems and computer program products for proactively offering a network turbo boost service to end users
US20040228356A1 (en) * 2003-05-15 2004-11-18 Maria Adamczyk Methods of providing data services over data networks and related data networks, data service providers, routing gateways and computer program products
US20040255154A1 (en) * 2003-06-11 2004-12-16 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus
US20050002335A1 (en) * 2003-05-15 2005-01-06 Maria Adamczyk Methods of implementing dynamic QoS and/or bandwidth provisioning and related data networks, data service providers, routing gateways, and computer program products
US20050021739A1 (en) * 2003-05-15 2005-01-27 Carter Sharon E. Methods, systems and computer program products for communicating the expected efficacy of invoking a network turbo boost service
US20050025125A1 (en) * 2003-08-01 2005-02-03 Foundry Networks, Inc. System, method and apparatus for providing multiple access modes in a data communications network
US20050055570A1 (en) * 2003-09-04 2005-03-10 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US20050240671A1 (en) * 2004-04-23 2005-10-27 Loraine Beyer IP-based front-end web server
US20060015651A1 (en) * 2004-07-14 2006-01-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
US20060015618A1 (en) * 2004-07-14 2006-01-19 International Business Machines Corporation Apparatus and method for supporting received data processing in an offload of network protocol processing
US20060031770A1 (en) * 2004-08-05 2006-02-09 Mcmenamin Marie Methods, systems, and storage mediums for providing multi-media content storage and management services
US20060031524A1 (en) * 2004-07-14 2006-02-09 International Business Machines Corporation Apparatus and method for supporting connection establishment in an offload of network protocol processing
US20060039381A1 (en) * 2004-08-20 2006-02-23 Anschutz Thomas Arnold Methods, systems, and computer program products for modifying bandwidth and/or quality of service in a core network
US20060114896A1 (en) * 2004-11-30 2006-06-01 Alcatel Flow-aware ethernet digital subscriber line access multiplexer DSLAM
US20090059912A1 (en) * 2007-08-27 2009-03-05 At&T Bls Intellectual Property, Inc. Methods, systems and computer products to incentivize high speed internet access
US20090254973A1 (en) * 2003-05-21 2009-10-08 Foundry Networks, Inc. System and method for source ip anti-spoofing security
US20090260083A1 (en) * 2003-05-21 2009-10-15 Foundry Networks, Inc. System and method for source ip anti-spoofing security
US7774833B1 (en) 2003-09-23 2010-08-10 Foundry Networks, Inc. System and method for protecting CPU against remote access attacks
US8204042B2 (en) 2003-05-15 2012-06-19 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for establishing VoIP service in a network
US8521889B2 (en) 2003-05-15 2013-08-27 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network
US8528071B1 (en) 2003-12-05 2013-09-03 Foundry Networks, Llc System and method for flexible authentication in a data communications network

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627675B2 (en) * 2003-05-01 2009-12-01 Cisco Technology, Inc. Methods and devices for regulating traffic on a network
WO2006118398A1 (en) * 2005-04-29 2006-11-09 Lg Electronics Inc. Method for changing service quality of a content adaptively
KR101152954B1 (en) 2008-12-12 2012-06-08 한국전자통신연구원 Ethernet switching apparatus and method for saving energy therefor
JP5692367B2 (en) * 2010-09-16 2015-04-01 日本電気株式会社 Network system and frame communication method
JP5344382B2 (en) 2010-11-02 2013-11-20 日本電気株式会社 Network system and frame communication method
US9860188B2 (en) * 2011-12-22 2018-01-02 International Business Machines Corporation Flexible and scalable enhanced transmission selection method for network fabrics
US9485154B2 (en) * 2013-06-26 2016-11-01 Ciena Corporation Multiple-pipe techniques and multiple optical streams for managing over-the-top traffic
US11271846B2 (en) 2018-10-22 2022-03-08 Oracle International Corporation Methods, systems, and computer readable media for locality-based selection and routing of traffic to producer network functions (NFs)
US11159359B2 (en) 2019-06-26 2021-10-26 Oracle International Corporation Methods, systems, and computer readable media for diameter-peer-wide egress rate limiting at diameter relay agent (DRA)
US10819636B1 (en) * 2019-06-26 2020-10-27 Oracle International Corporation Methods, systems, and computer readable media for producer network function (NF) service instance wide egress rate limiting at service communication proxy (SCP)
US11252093B2 (en) 2019-06-26 2022-02-15 Oracle International Corporation Methods, systems, and computer readable media for policing access point name-aggregate maximum bit rate (APN-AMBR) across packet data network gateway data plane (P-GW DP) worker instances
US11082393B2 (en) 2019-08-29 2021-08-03 Oracle International Corporation Methods, systems, and computer readable media for actively discovering and tracking addresses associated with 5G and non-5G service endpoints
US11323413B2 (en) 2019-08-29 2022-05-03 Oracle International Corporation Methods, systems, and computer readable media for actively discovering and tracking addresses associated with 4G service endpoints
US11425598B2 (en) 2019-10-14 2022-08-23 Oracle International Corporation Methods, systems, and computer readable media for rules-based overload control for 5G servicing
US11224009B2 (en) 2019-12-30 2022-01-11 Oracle International Corporation Methods, systems, and computer readable media for enabling transport quality of service (QoS) in 5G networks
US11528334B2 (en) 2020-07-31 2022-12-13 Oracle International Corporation Methods, systems, and computer readable media for preferred network function (NF) location routing using service communications proxy (SCP)
US11570262B2 (en) 2020-10-28 2023-01-31 Oracle International Corporation Methods, systems, and computer readable media for rank processing for network function selection
US11496954B2 (en) 2021-03-13 2022-11-08 Oracle International Corporation Methods, systems, and computer readable media for supporting multiple preferred localities for network function (NF) discovery and selection procedures
US11895080B2 (en) 2021-06-23 2024-02-06 Oracle International Corporation Methods, systems, and computer readable media for resolution of inter-network domain names

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0859492A2 (en) 1997-02-07 1998-08-19 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
US5828653A (en) 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
WO1999000949A1 (en) 1997-06-30 1999-01-07 Sun Microsystems, Inc. A system and method for a quality of service in a multi-layer network element
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
US20030065809A1 (en) * 2001-10-03 2003-04-03 Adc Telecommunications, Inc. Scheduling downstream transmissions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828653A (en) 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
EP0859492A2 (en) 1997-02-07 1998-08-19 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
WO1999000949A1 (en) 1997-06-30 1999-01-07 Sun Microsystems, Inc. A system and method for a quality of service in a multi-layer network element
US20020188732A1 (en) * 2001-06-06 2002-12-12 Buckman Charles R. System and method for allocating bandwidth across a network
US20030065809A1 (en) * 2001-10-03 2003-04-03 Adc Telecommunications, Inc. Scheduling downstream transmissions

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120265885A1 (en) * 2003-05-15 2012-10-18 At&T Intellectual Property I, L.P. Methods, systems and computer program products for proactively offering a network turbo boost service to end users
US20040228356A1 (en) * 2003-05-15 2004-11-18 Maria Adamczyk Methods of providing data services over data networks and related data networks, data service providers, routing gateways and computer program products
US20040230678A1 (en) * 2003-05-15 2004-11-18 Huslak Nicholas S. Methods, systems and computer program products for proactively offering a network turbo boost service to end users
US20050002335A1 (en) * 2003-05-15 2005-01-06 Maria Adamczyk Methods of implementing dynamic QoS and/or bandwidth provisioning and related data networks, data service providers, routing gateways, and computer program products
US20050021739A1 (en) * 2003-05-15 2005-01-27 Carter Sharon E. Methods, systems and computer program products for communicating the expected efficacy of invoking a network turbo boost service
US20100195666A1 (en) * 2003-05-15 2010-08-05 Maria Adamczyk Methods of Operating Data Networks To Provide Data Services and Related Methods of Operating Data Service Providers and Routing Gateways
US7684432B2 (en) 2003-05-15 2010-03-23 At&T Intellectual Property I, L.P. Methods of providing data services over data networks and related data networks, data service providers, routing gateways and computer program products
US9350795B2 (en) * 2003-05-15 2016-05-24 At&T Intellectual Property I, L.P. Methods, systems and computer program products for proactively offering a network turbo boost service to end users
US9294414B2 (en) 2003-05-15 2016-03-22 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network
US8174970B2 (en) 2003-05-15 2012-05-08 At&T Intellectual Property I, L.P. Methods of implementing dynamic QoS and/or bandwidth provisioning and related data networks, data service providers, routing gateways, and computer program products
US8918514B2 (en) 2003-05-15 2014-12-23 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network
US8204042B2 (en) 2003-05-15 2012-06-19 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for establishing VoIP service in a network
US8239516B2 (en) * 2003-05-15 2012-08-07 At&T Intellectual Property I, L.P. Methods, systems and computer program products for proactively offering a network turbo boost service to end users
US8521889B2 (en) 2003-05-15 2013-08-27 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network
US20090254973A1 (en) * 2003-05-21 2009-10-08 Foundry Networks, Inc. System and method for source ip anti-spoofing security
US7979903B2 (en) 2003-05-21 2011-07-12 Foundry Networks, Llc System and method for source IP anti-spoofing security
US20090307773A1 (en) * 2003-05-21 2009-12-10 Foundry Networks, Inc. System and method for arp anti-spoofing security
US20090260083A1 (en) * 2003-05-21 2009-10-15 Foundry Networks, Inc. System and method for source ip anti-spoofing security
US8533823B2 (en) 2003-05-21 2013-09-10 Foundry Networks, Llc System and method for source IP anti-spoofing security
US8245300B2 (en) 2003-05-21 2012-08-14 Foundry Networks Llc System and method for ARP anti-spoofing security
US8918875B2 (en) 2003-05-21 2014-12-23 Foundry Networks, Llc System and method for ARP anti-spoofing security
US8006304B2 (en) 2003-05-21 2011-08-23 Foundry Networks, Llc System and method for ARP anti-spoofing security
US20040255154A1 (en) * 2003-06-11 2004-12-16 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus
US8681800B2 (en) 2003-08-01 2014-03-25 Foundry Networks, Llc System, method and apparatus for providing multiple access modes in a data communications network
US20050025125A1 (en) * 2003-08-01 2005-02-03 Foundry Networks, Inc. System, method and apparatus for providing multiple access modes in a data communications network
US20100325700A1 (en) * 2003-08-01 2010-12-23 Brocade Communications Systems, Inc. System, method and apparatus for providing multiple access modes in a data communications network
US8249096B2 (en) 2003-08-01 2012-08-21 Foundry Networks, Llc System, method and apparatus for providing multiple access modes in a data communications network
US8239929B2 (en) 2003-09-04 2012-08-07 Foundry Networks, Llc Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US20050055570A1 (en) * 2003-09-04 2005-03-10 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US7735114B2 (en) * 2003-09-04 2010-06-08 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US20100223654A1 (en) * 2003-09-04 2010-09-02 Brocade Communications Systems, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US7774833B1 (en) 2003-09-23 2010-08-10 Foundry Networks, Inc. System and method for protecting CPU against remote access attacks
US20100333191A1 (en) * 2003-09-23 2010-12-30 Foundry Networks, Inc. System and method for protecting cpu against remote access attacks
US8893256B2 (en) 2003-09-23 2014-11-18 Brocade Communications Systems, Inc. System and method for protecting CPU against remote access attacks
US8528071B1 (en) 2003-12-05 2013-09-03 Foundry Networks, Llc System and method for flexible authentication in a data communications network
US20050240671A1 (en) * 2004-04-23 2005-10-27 Loraine Beyer IP-based front-end web server
US8332531B2 (en) 2004-07-14 2012-12-11 International Business Machines Corporation Supporting memory management in an offload of network protocol processing
US8316109B2 (en) 2004-07-14 2012-11-20 International Business Machines Corporation Supporting memory management in an offload of network protocol processing
US20060015651A1 (en) * 2004-07-14 2006-01-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
US20090222564A1 (en) * 2004-07-14 2009-09-03 International Business Machines Corporation Apparatus and Method for Supporting Connection Establishment in an Offload of Network Protocol Processing
US20060015618A1 (en) * 2004-07-14 2006-01-19 International Business Machines Corporation Apparatus and method for supporting received data processing in an offload of network protocol processing
US7533176B2 (en) 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US7930422B2 (en) 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
US7962628B2 (en) 2004-07-14 2011-06-14 International Business Machines Corporation Apparatus and method for supporting connection establishment in an offload of network protocol processing
US7493427B2 (en) * 2004-07-14 2009-02-17 International Business Machines Corporation Apparatus and method for supporting received data processing in an offload of network protocol processing
US20110161456A1 (en) * 2004-07-14 2011-06-30 International Business Machines Corporation Apparatus and Method for Supporting Memory Management in an Offload of Network Protocol Processing
US20110167134A1 (en) * 2004-07-14 2011-07-07 International Business Machines Corporation Apparatus and Method for Supporting Memory Management in an Offload of Network Protocol Processing
US20060031524A1 (en) * 2004-07-14 2006-02-09 International Business Machines Corporation Apparatus and method for supporting connection establishment in an offload of network protocol processing
US7444588B2 (en) 2004-08-05 2008-10-28 At&T Intellectual Property, I.L.P. Methods, systems, and storage mediums for providing multi-media content storage and management services
US20090048940A1 (en) * 2004-08-05 2009-02-19 At&T Intellectual Property I, L.P. F/K/A Bellsouth Intellectual Property Corporation Methods, systems, and storage mediums for providing multi-media content storage and management services
US20060031770A1 (en) * 2004-08-05 2006-02-09 Mcmenamin Marie Methods, systems, and storage mediums for providing multi-media content storage and management services
US8583557B2 (en) * 2004-08-05 2013-11-12 At&T Intellectual Property I, L.P. Methods, systems, and storage mediums for providing multi-media content storage and management services
US20060039381A1 (en) * 2004-08-20 2006-02-23 Anschutz Thomas Arnold Methods, systems, and computer program products for modifying bandwidth and/or quality of service in a core network
US7545788B2 (en) 2004-08-20 2009-06-09 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service in a core network
US20060114896A1 (en) * 2004-11-30 2006-06-01 Alcatel Flow-aware ethernet digital subscriber line access multiplexer DSLAM
US7599366B2 (en) * 2004-11-30 2009-10-06 Alcatel Flow-aware ethernet digital subscriber line access multiplexer DSLAM
US20090059912A1 (en) * 2007-08-27 2009-03-05 At&T Bls Intellectual Property, Inc. Methods, systems and computer products to incentivize high speed internet access
US7742945B2 (en) 2007-08-27 2010-06-22 At&T Intellectual Property, I,L.P. Methods, systems and computer products to incentivize high speed internet access

Also Published As

Publication number Publication date
US20030223414A1 (en) 2003-12-04

Similar Documents

Publication Publication Date Title
US7113479B2 (en) Aggregated rate control method and system
US20040003069A1 (en) Selective early drop method and system
US10367748B2 (en) Systems and methods for dynamic data transfer management on a per subscriber basis in a communications network
US7328274B2 (en) Quality of service in a gateway
US6292465B1 (en) Linear rule based method for bandwidth management
US20020116488A1 (en) System and method for delivery and usage based billing for data services in telecommunication networks
US20030031178A1 (en) Method for ascertaining network bandwidth allocation policy associated with network address
US20080065772A1 (en) Dynamic Configuration of Network Devices to Enable Data Transfers
US9667758B2 (en) Dynamic modification of a subscriber connection
US20010044845A1 (en) Method and apparatus to change class of service levels
US20030099199A1 (en) Bandwidth allocation credit updating on a variable time basis
US20030099200A1 (en) Parallel limit checking in a hierarchical network for bandwidth management traffic-shaping cell
US11146838B2 (en) Captive portal by packetcable multimedia
WO2002035374A1 (en) Utilization of connection admission control check on physical interface connections bearing traffic from multiple internet service providers
KR20030055695A (en) Service Management System and Method for supporting Differentiated Service on the Internet
US20050286491A1 (en) Methods, systems, and computer program products for processing communication traffic in a router to manage quality of service in a transport network

Legal Events

Date Code Title Description
AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WONG, DAVID;REEL/FRAME:012945/0471

Effective date: 20020530

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001

Effective date: 20170119

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE

Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047196/0097

Effective date: 20180509

AS Assignment

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:048555/0510

Effective date: 20180905