WO2003028274A2 - System and method for dropping lower priority packets that are slated for transmission - Google Patents

System and method for dropping lower priority packets that are slated for transmission Download PDF

Info

Publication number
WO2003028274A2
WO2003028274A2 PCT/US2002/030523 US0230523W WO03028274A2 WO 2003028274 A2 WO2003028274 A2 WO 2003028274A2 US 0230523 W US0230523 W US 0230523W WO 03028274 A2 WO03028274 A2 WO 03028274A2
Authority
WO
WIPO (PCT)
Prior art keywords
packets
priority
packet
queues
communication medium
Prior art date
Application number
PCT/US2002/030523
Other languages
French (fr)
Other versions
WO2003028274A3 (en
Inventor
Shane Lansing
Niki Pantelias
Young Vu
Francisco J. Gomez
Original Assignee
Broadcom Corporation
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 Corporation filed Critical Broadcom Corporation
Priority to EP02778342A priority Critical patent/EP1440540A4/en
Publication of WO2003028274A2 publication Critical patent/WO2003028274A2/en
Publication of WO2003028274A3 publication Critical patent/WO2003028274A3/en

Links

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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Definitions

  • the present invention is generally related to increasing the efficiency of memory space by dropping lower priority packets that are slated for transmission via a communication medium.
  • Rapid data access and exchange is partly dependent upon how efficiently bandwidth is allocated to a data provider in order for the data provider to transfer the requested data to a user via one of the communication mediums mentioned above.
  • Cable modems provide communications on cable networks.
  • a user connects a cable modem to the TV outlet for his or her cable TV, and the cable TV operator connects a cable modem termination system ("CMTS") in the operator's headend.
  • CMTS cable modem termination system
  • the CMTS is a central device for connecting the cable network to a data network like the Internet.
  • the CMTS is a central distribution point for a cable system. Data flows
  • DOCSIS Data Over Cable Service Interface Specification
  • packets are slated for transmission to the data provider via downstream communication by storing the packets in memory.
  • Different types of data have different priorities. These different priorities determine the order in which the packets are sent to the data provider. For example, voice data cannot tolerate delay in transmission and thus is given a higher priority over other types of data that can tolerate delay (e.g., data involved in web surfing).
  • the present invention is a system and method for dropping low priority packets that are slated for transmission to a cable modem.
  • a cable modem termination system receives one or more packets to be transferred to one or more data providers, each packet having a priority. Then, based on the priority, a media access controller stores each of the packets in one or more priority queues in a fixed shared memory space in such a way as to maintain the order in which the packets were received in each of the priority queues.
  • the media access controller monitors the number of packets in each of the priority queues and signals an interrupt when a packet threshold is exceeded in one or more of the priority queues.
  • the media access controller then drops lower priority packets in the fixed shared memory space based on the order received to guarantee that there is enough memory to store higher priority packets in the fixed shared memory space.
  • FIG. 1 is a block diagram representing an example operating environment of the present invention according to an embodiment.
  • FIG. 2 illustrates the local SDRAM according to an embodiment of the present invention.
  • FIG. 3 is a high level flowchart that describes the efficient management of memory space by dropping lower priority packets that are slated for transmission according to an embodiment of the present invention.
  • FIG.4 describes in detail the step of dropping scheduled packets (step 314 of FIG. 3) according to an embodiment of the present invention.
  • FIG. 5 illustrates three priority queues with example packets according to an embodiment of the present invention.
  • FIG. 6 illustrates an example computer used to implement the CMTS , the
  • CMTS scheduler the cable modem scheduler and the MAC according to an embodiment of the present invention.
  • the present invention is described in terms of being utilized with a cable network and DOCSIS. It should be understood that the present invention is independent of the actual physical layer of transmission utilized by DOCSIS (e.g., TDMA, SCDMA, etc.). It should also be understood that the present invention is not limited to use with a cable network and/or
  • the present invention may be used with any communication medium, including but not limited to, the Internet, intranets, fiber optic networks, wireless networks and satellite-based networks.
  • FIG. 1 is a block diagram representing an example operating environment of the present invention. It should be understood that the example operating environment in FIG. 1 is shown for illustrative purposes only and does not limit the invention. Other implementations of the operating environment described herein will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein, and the invention is directed to such other implementations.
  • CMTS 102 further includes a CMTS scheduler 110 and a media access controller (MAC) 112.
  • MAC 112 includes a direct memory access (DMA) unit 116 and a local SDRAM 114.
  • Cable modem 104 includes a cable modem scheduler 118. Each of these components will be briefly described next.
  • cable modem 104 forwards or provides data via communications on cable networks.
  • Cable modem 104 receives data from a user that needs to be transferred via a cable network.
  • cable modem 104 requests that CMTS 102 grant to it the necessary bandwidth via a packet.
  • cable modem 104 receives data from a user to be transferred via a cable network.
  • CMTS 102 receives data from the network to be transferred to cable modem 104.
  • Different types of data require different modes of transfer since the importance of timing is different with different types of data. For example, voice data cannot tolerate delays in its transfer. Alternatively, the type of data involved in web surfing can tolerate delays in its transfer.
  • cable modem 104 assigns different priorities to different types of data. The higher the priority data has, the less of a delay that type of data will experience in its transfer via the cable network. Thus, voice data would be assigned a higher priority than data involved in web surfing.
  • Cable modem scheduler 118 is coupled to cable modem 104. In general, cable modem scheduler 118 is responsible for multiplexing the internal traffic,
  • each bandwidth request may include two fields.
  • the two fields include a data provider identifier (SID) and the amount of required bandwidth.
  • Each cable modem 104 has a unique SID.
  • CMTS 102 uses this identifier to grant the requested bandwidth via a packet to cable modem 104.
  • the second field is a value indicating the amount of required bandwidth needed to transfer the data. As described above, each type of data is associated with a priority.
  • CMTS 102, CMTS scheduler 110 and MAC 112 will now be described.
  • CMTS 102 is a central device for connecting the cable network to a data network.
  • CMTS scheduler 110 is a bandwidth manager.
  • CMTS scheduler 110 decides how to grant available bandwidth according to the current bandwidth requests. This grant is done via a packet sent onto downstream communication 106 to cable modem 104.
  • MAC 112 is responsible for dropping lowerpriority packets that are slated for transmission to cable modem 104. MAC 112 is also responsible for transferring packets from local SDRAM 114 (via DMA unit 116) to CTMS scheduler 110. Local SDRAM 114 stores the packets. Local SDRAM 114 is described in more detail next with reference to FIG. 2. It is important to note that the present invention is not limited to using SDRAM. Other types of memory including internal SRAM, internal register space, external RAMBUS memory, DDR, and so forth, may also be used by the present invention. The present invention is explained in terms of SDRAM for illustration purposes only.
  • local SDRAM 114 may include priority queues 202, threshold value registers 204, descriptor count registers 206, a drop begin register 208 and packet drop registers 210.
  • threshold value registers 204, descriptor count registers 206, drop begin register 208 and packet drop registers 210 are located externally to local SDRAM 114. Each of these are briefly described next.
  • Priority queues 202 are used to organize the received packets for bandwidth requests in such as way as to take into consideration the type of data and the order in which the packets were received.
  • Threshold value registers 204 include one register for each of the priority queues 202. Threshold value registers 204 represent the threshold number of packets that are allowed to be stored in its corresponding priority queue without an interrupt being sent to CMTS 102. If the threshold number is exceeded, then the present invention signals an interrupt, as will be described below with reference to FIGs. 3 and 4.
  • Descriptor count registers 206 also includes one register for each of the priority queues 202. Descriptor count registers 206 represent the number of outstanding packets currently stored in its corresponding priority queue.
  • Drop begin register 208 represents whether the packet drop feature of the present invention is activated by CMTS 102.
  • the packet drop feature of the invention may be implemented in software, hardware, hardware assist such as FPGA or ASIC, or any other way of implementing logic that is able to respond to an interrupt and determine how many packets to drop. If the packet drop feature is activated, then the present invention drops lower priority packets that are slated for transmission. Once the packet drop process is completed, drop begin register 208 is automatically cleared. The packet drop feature of the present invention is described below with reference to FIGS. 3 and 4.
  • packet drop registers 210 includes one register for each of the priority queues 202. Packet drop registers 210 indicate the number of packets to drop from its respective priority queue when the packet drop feature is enabled.
  • priority queues 202 are stored in a fixed shared memory space of local SDRAM 114. Thus, if one or more of the queues in priority queues 202 are storing many packets then these queues may be using up all of the shared memory space reserved for priority queues 202 in local SDRAM 114, and thus not allowing memory space for other queues to temporarily store packets until they are sent to cable modem 104.
  • the present invention therefore uses threshold value registers 204 (FIG. 2) to monitor the number of packets stored in each queue and signal an interrupt when the threshold is exceeded.
  • CMTS 102 i.e., software in an embodiment of the invention
  • FIG. 5 illustrates three priority queues having three different priorities, namely high, medium and low. Note that the present invention is not limited to three priority queues, but may have 1 through n queues with 1 being the highest priority and n being the lowest priority.
  • queue 502 stores the packets with the highest priority
  • queue 504 stores the packets with a medium priority
  • queue 506 stores the packets with the lowest priority.
  • each queue has its own priority and all packets stored in any one of the queues must have the same priority.
  • queue 502 currently stores three packets, including packets 508-512.
  • Queue 504 stores two packets, including packets 514 and 516.
  • Queue 506 stores seven packets, including packets 518-530.
  • Each packet is indicated as (n,m), where n is the destination SID and m is the packet length in bytes.
  • packet 508 has a priority of high
  • the cable modem 104 who is to receive packet 508 has a SID of 1
  • packet 508 is 64 bytes in length.
  • packet 508 arrived at CMTS 102 before packet 510, which in turn arrived before packet 512, as indicated by their positions in queue 502. It is important to note that packet 518 may arrive at CMTS 102 (e.g, WAN, Internet, intranets, fiber optic networks, wireless networks and satellite-based networks) before packet 508, but packet 508 is still likely to be sent to cable modem 104 first due to it having a higher priority.
  • CMTS 102 e.g, WAN, Internet, intranets, fiber optic networks, wireless networks and satellite-based networks
  • the present invention also applies in the upstream with packets arriving from cable modem 104 and being sent out onto the WAN, Internet, and so forth, with low priority packets being dropped if the gateway to the WAN, Internet, and so forth, (or some other point in the path) was clogged such that queues are backed up.
  • the operation of the present invention is described next with references to FIGS. 3 and 4.
  • FIG. 3 is a high level flowchart that describes the efficient management of memory space by dropping lower priority packets that are slated for transmission according to an embodiment of the present invention.
  • control starts at step 302.
  • CMTS 102 programs threshold value registers 204.
  • threshold value registers 204 include one register for each of the priority queues 202.
  • Threshold value registers 204 represent the threshold number of packets that are allowed to be stored in its corresponding priority queue without an interrupt being sent to CMTS 102.
  • Control passes to step 304.
  • step 304 MAC 112 determines whether the amount of outstanding packets in a given priority queue exceeds its threshold value. This is done by comparing the descriptor count register 206 and the threshold value register 204 for the priority queue. If the amount of outstanding packets exceeds its threshold value (i.e., is using up too much of the shared memory space in local SDRAM 114 that is reserved for priority queues 202), then control passes to step 306. Alternatively, the flowchart in FIG. 3 ends. Li step 306, MAC 112 sets an interrupt for CMTS 102. When the interrupt is set it indicates to CMTS 102 that local SDRAM 114 is getting full and some lower priority packets should be dropped in order to guarantee there will be enough memory to store higher priority packets. Control then passes to step 308.
  • CMTS 102 checks the status of priority queues 202 by determining the number of outstanding packets for each priority queue 202 via descriptor count registers 206. Control then passes to step 310. hi step 310, CMTS 102 makes a decision on the best way to drop packets from the lower priority queues and, if applicable, the number of packets to drop so as to guarantee that the packets that get dropped are in fact lower priority packets and that there is enough memory available for higher priority packets. Once CMTS 102 makes the decision, CMTS 102 indicates the number of packets to drop by writing a value for the number to drop into the appropriate packet drop register 210.
  • packet drop registers 210 includes one register for each of the priority queues 202. Packet drop registers 210 indicate the number of packets to drop from its respective priority queue when the packet drop feature is enabled. Control then passes to step 312. In step 312, CMTS 102 writes a value to drop begin register 208 indicating that the packet drop feature of the invention is enabled. Control then passes to step 314.
  • step 314 it has been determined by the present invention that local SDRAM 114 is getting full.
  • MAC 112 drops scheduled lower priority packets as indicated by CMTS 102. This frees up the fixed shared memory space, allowing for new packets to be queued or scheduled to be sent to cable modem 104.
  • the flowchart in FIG. 3 ends at this point. How MAC 112 drops scheduled packets as indicated by CMTS 102 is described in more detail next with reference to FIG. 4.
  • control starts at step 402. hi step 402, it is determined whether the number of packets to be dropped is greater than the number of outstanding packets for a particular priority queue. If so, then control passes to step 404. Alternatively, control passes to step 406.
  • step 404 DMA unit 116 drops all of the outstanding packets in the relevant priority queue and continues to drop incoming packets until the number of packets to be dropped is met. For example, in FIG. 5, if the number of outstanding packets to be dropped from queue 506 is eight, then DMA unit 116 would start with the oldest packet (packet 518) and drop packets 518 through 530 (seven packets total). DMA unit 116 would then drop the next packet that is stored in queue 506 to make the total number of packets dropped from queue 506 equal eight.
  • step 406 DMA unit 116 drops the number of packets in the relevant priority queue as indicated by the corresponding packet drop register.
  • the flowchart in FIG. 4 ends at this point.
  • CMTS 102, CMTS scheduler 110, cable modem scheduler 118 and MAC 112 may be implemented using computer 600 as shown in FIG. 6. Obviously, more than one of these functional components could be implemented on a single computer 600.
  • the present invention may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system, i fact, in one embodiment, the invention is directed towards one or more computer systems capable of carrying out the functionality described herein.
  • the computer system 600 includes one or more processors, such as processor 604.
  • the processor 604 is connected to a communication bus 606.
  • Various software embodiments are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
  • Computer system 600 also includes a main memory 608, preferably random access memory (RAM), and can also include a secondary memory 610.
  • the secondary memory 610 can include, for example, a hard disk drive 612 and/or a removable storage drive 614, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
  • the removable storage drive 614 reads from and/or writes to a removable storage unit 618 in a well known manner.
  • Removable storage unit 618 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 614.
  • the removable storage unit 618 includes a computer usable storage medium having stored therein computer software and/or data.
  • secondary memory 610 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 600.
  • Such means can include, for example, a removable storage unit 622 and an interface 620. Examples of such can include a program • cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 622 and interfaces 620 which allow software and data to be transferred from the removable storage unit 618 to computer system 600.
  • Computer system 600 can also include a communications interface 624.
  • Communications interface 624 allows software and data to be transferred between computer system 600 and external devices. Examples of communications interface 624 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc.
  • Software and data transferred via communications interface 624 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 624. These signals 626 are provided to communications interface via a channel 628. This channel 628 carries signals 626 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
  • computer program medium and “computer usable medium” are used to generally refer to media such as removable storage device 618, a hard disk installed in hard disk drive 612, and signals 626. These computer program products are means for providing software to computer system
  • Computer programs are stored in main memory and/or secondary memory 610. Computer programs can also be received via communications interface 624. Such computer programs, when executed, enable the computer system 600 to perform the features of the present invention as discussed herein, i particular, the computer programs, when executed, enable the processor 604 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 600.
  • the software may be stored in a computer program product and loaded into computer system 600 using removable storage drive 614, hard drive 612 or communications interface 624.
  • the control logic when executed by the processor 604, causes the processor 604 to perform the functions of the invention as described herein.
  • the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs).
  • ASICs application specific integrated circuits
  • the invention is implemented using a combination of both hardware and software.

Abstract

A method and system (Fig. 1) for dropping lower priority packets for transmission over a communication medium (106, 108) is provided. A cable modem termination system (102) receives one or more packets to be transferred to one or more data providers (104), each packet having a priority. Then, based on the priority, a media access controller (112) stores each of the packets in one or more priority queues in a fixed shared memory space (114) in such a way as to maintain the order in which the packets were received in each of the priority queues. The media access controller (112) monitors the number of packets in each of the priority queues and signals an interrupt when a packet threshold is exceeded in one or more of the priority queues. The media access controller (112) then drops lower priority packets in the fixed shared memory space (114) based on the order received to guarantee that there is enough memory to store higher priority packets in the fixed shared memory space (114).

Description

System And Method For Dropping Lower Priority Packets That Are Slated For Transmission
Background of the Invention
Field of the Invention
The present invention is generally related to increasing the efficiency of memory space by dropping lower priority packets that are slated for transmission via a communication medium.
RelatedArt
The importance to the modern economy of rapid data access and exchange cannot be overstated. This explains the exponentially increasing popularity of the data access and exchange via cable networks (including coaxial cable or Hybrid fiber coaxial cable), the Internet, intranets, wireless networks, satellites and so forth (i.e., communication mediums). Rapid data access and exchange is partly dependent upon how efficiently bandwidth is allocated to a data provider in order for the data provider to transfer the requested data to a user via one of the communication mediums mentioned above.
One very desirable solution for rapid data access and exchange is via cable networks and cable modems. Cable modems provide communications on cable networks. In general, a user connects a cable modem to the TV outlet for his or her cable TV, and the cable TV operator connects a cable modem termination system ("CMTS") in the operator's headend. The CMTS is a central device for connecting the cable network to a data network like the Internet. The CMTS is a central distribution point for a cable system. Data flows
"downstream" from the CMTS to the cable modem (i.e., downstream communication). Alternatively, data flows "upstream" from the cable modem to the CMTS (i.e., upstream communication). A common cable modem standard today is the Data Over Cable Service Interface Specification ("DOCSIS"). DOCSIS defines technical specifications for both cable modems and CMTS. In DOCSIS, packets are slated for transmission to the data provider via downstream communication by storing the packets in memory. Different types of data have different priorities. These different priorities determine the order in which the packets are sent to the data provider. For example, voice data cannot tolerate delay in transmission and thus is given a higher priority over other types of data that can tolerate delay (e.g., data involved in web surfing). Thus, at times lower priority packets back up due to the CMTS receiving higher priority packets before the CMTS can send the lower priority packets to their respective data provider. This backup tends to fill up the memory that is allocated to store the packets. Therefore, what is needed is a way of dropping the oldest and lowest priority packets when memory becomes too full.
Summary Of The Invention
The present invention is a system and method for dropping low priority packets that are slated for transmission to a cable modem. A cable modem termination system receives one or more packets to be transferred to one or more data providers, each packet having a priority. Then, based on the priority, a media access controller stores each of the packets in one or more priority queues in a fixed shared memory space in such a way as to maintain the order in which the packets were received in each of the priority queues. The media access controller monitors the number of packets in each of the priority queues and signals an interrupt when a packet threshold is exceeded in one or more of the priority queues. The media access controller then drops lower priority packets in the fixed shared memory space based on the order received to guarantee that there is enough memory to store higher priority packets in the fixed shared memory space. Brief Description Of The Figures
The present invention will be described with reference to the accompanying drawings, wherein:
FIG. 1 is a block diagram representing an example operating environment of the present invention according to an embodiment.
FIG. 2 illustrates the local SDRAM according to an embodiment of the present invention.
FIG. 3 is a high level flowchart that describes the efficient management of memory space by dropping lower priority packets that are slated for transmission according to an embodiment of the present invention.
FIG.4 describes in detail the step of dropping scheduled packets (step 314 of FIG. 3) according to an embodiment of the present invention.
FIG. 5 illustrates three priority queues with example packets according to an embodiment of the present invention. FIG. 6 illustrates an example computer used to implement the CMTS , the
CMTS scheduler, the cable modem scheduler and the MAC according to an embodiment of the present invention.
Detailed Description Of The Preferred Embodiments
A. Overview of the Invention
For illustration purposes, the present invention is described in terms of being utilized with a cable network and DOCSIS. It should be understood that the present invention is independent of the actual physical layer of transmission utilized by DOCSIS (e.g., TDMA, SCDMA, etc.). It should also be understood that the present invention is not limited to use with a cable network and/or
DOCSIS. In fact, the present invention may be used with any communication medium, including but not limited to, the Internet, intranets, fiber optic networks, wireless networks and satellite-based networks.
B. System Architecture Overview
FIG. 1 is a block diagram representing an example operating environment of the present invention. It should be understood that the example operating environment in FIG. 1 is shown for illustrative purposes only and does not limit the invention. Other implementations of the operating environment described herein will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein, and the invention is directed to such other implementations. Referring to FIG. 1, a CMTS 102, a cable modem 104, downstream communication 106 and upstream communication 108, are shown. CMTS 102 further includes a CMTS scheduler 110 and a media access controller (MAC) 112. MAC 112 includes a direct memory access (DMA) unit 116 and a local SDRAM 114. Cable modem 104 includes a cable modem scheduler 118. Each of these components will be briefly described next.
In general, cable modem 104 forwards or provides data via communications on cable networks. Cable modem 104 receives data from a user that needs to be transferred via a cable network. In order to do this, cable modem 104 requests that CMTS 102 grant to it the necessary bandwidth via a packet. As mentioned, cable modem 104 receives data from a user to be transferred via a cable network. In addition, CMTS 102 receives data from the network to be transferred to cable modem 104. Different types of data require different modes of transfer since the importance of timing is different with different types of data. For example, voice data cannot tolerate delays in its transfer. Alternatively, the type of data involved in web surfing can tolerate delays in its transfer.
In order to ensure the importance of timing is maintained, cable modem 104 assigns different priorities to different types of data. The higher the priority data has, the less of a delay that type of data will experience in its transfer via the cable network. Thus, voice data would be assigned a higher priority than data involved in web surfing.
Cable modem scheduler 118 is coupled to cable modem 104. In general, cable modem scheduler 118 is responsible for multiplexing the internal traffic,
(i.e., requesting the necessary bandwidth that cable modem 104 needs to transfer its current types of data). Cable modem scheduler 118 must take into consideration the different priorities given to the current data to be transferred and to request bandwidth from CMTS 102 accordingly. Cable modem scheduler 118 sends bandwidth requests to CMTS 102 via upstream communication 108. At a high level, each bandwidth request may include two fields. The two fields include a data provider identifier (SID) and the amount of required bandwidth. These two fields are briefly described next.
Each cable modem 104 has a unique SID. CMTS 102 uses this identifier to grant the requested bandwidth via a packet to cable modem 104. The second field is a value indicating the amount of required bandwidth needed to transfer the data. As described above, each type of data is associated with a priority. CMTS 102, CMTS scheduler 110 and MAC 112 will now be described.
CMTS 102 is a central device for connecting the cable network to a data network. CMTS scheduler 110 is a bandwidth manager. CMTS scheduler 110, as a bandwidth manager, decides how to grant available bandwidth according to the current bandwidth requests. This grant is done via a packet sent onto downstream communication 106 to cable modem 104.
MAC 112 is responsible for dropping lowerpriority packets that are slated for transmission to cable modem 104. MAC 112 is also responsible for transferring packets from local SDRAM 114 (via DMA unit 116) to CTMS scheduler 110. Local SDRAM 114 stores the packets. Local SDRAM 114 is described in more detail next with reference to FIG. 2. It is important to note that the present invention is not limited to using SDRAM. Other types of memory including internal SRAM, internal register space, external RAMBUS memory, DDR, and so forth, may also be used by the present invention. The present invention is explained in terms of SDRAM for illustration purposes only.
Referring to FIG. 2, local SDRAM 114 may include priority queues 202, threshold value registers 204, descriptor count registers 206, a drop begin register 208 and packet drop registers 210. In other embodiments of the invention, threshold value registers 204, descriptor count registers 206, drop begin register 208 and packet drop registers 210 are located externally to local SDRAM 114. Each of these are briefly described next.
Priority queues 202 are used to organize the received packets for bandwidth requests in such as way as to take into consideration the type of data and the order in which the packets were received.
Threshold value registers 204 include one register for each of the priority queues 202. Threshold value registers 204 represent the threshold number of packets that are allowed to be stored in its corresponding priority queue without an interrupt being sent to CMTS 102. If the threshold number is exceeded, then the present invention signals an interrupt, as will be described below with reference to FIGs. 3 and 4.
Descriptor count registers 206 also includes one register for each of the priority queues 202. Descriptor count registers 206 represent the number of outstanding packets currently stored in its corresponding priority queue.
Drop begin register 208 represents whether the packet drop feature of the present invention is activated by CMTS 102. Note that the packet drop feature of the invention may be implemented in software, hardware, hardware assist such as FPGA or ASIC, or any other way of implementing logic that is able to respond to an interrupt and determine how many packets to drop. If the packet drop feature is activated, then the present invention drops lower priority packets that are slated for transmission. Once the packet drop process is completed, drop begin register 208 is automatically cleared. The packet drop feature of the present invention is described below with reference to FIGS. 3 and 4. Finally, packet drop registers 210 includes one register for each of the priority queues 202. Packet drop registers 210 indicate the number of packets to drop from its respective priority queue when the packet drop feature is enabled. In an embodiment of the present invention, priority queues 202 are stored in a fixed shared memory space of local SDRAM 114. Thus, if one or more of the queues in priority queues 202 are storing many packets then these queues may be using up all of the shared memory space reserved for priority queues 202 in local SDRAM 114, and thus not allowing memory space for other queues to temporarily store packets until they are sent to cable modem 104. The present invention therefore uses threshold value registers 204 (FIG. 2) to monitor the number of packets stored in each queue and signal an interrupt when the threshold is exceeded. CMTS 102 (i.e., software in an embodiment of the invention) then uses the drop begin register 208 and packet drop registers 210 to drop lower priority packets that are slated for transmission. This frees up the fixed shared memory space, allowing for new packets to be queued or scheduled to be sent to cable modem 104. An example priority queues 202 is described next with reference to FIG. 5. FIG. 5 illustrates three priority queues having three different priorities, namely high, medium and low. Note that the present invention is not limited to three priority queues, but may have 1 through n queues with 1 being the highest priority and n being the lowest priority.
In FIG. 5, queue 502 stores the packets with the highest priority, queue 504 stores the packets with a medium priority and queue 506 stores the packets with the lowest priority. In any event, each queue has its own priority and all packets stored in any one of the queues must have the same priority. As illustrated in FIG. 5, queue 502 currently stores three packets, including packets 508-512. Queue 504 stores two packets, including packets 514 and 516. Queue 506 stores seven packets, including packets 518-530. Each packet is indicated as (n,m), where n is the destination SID and m is the packet length in bytes. For example, packet 508 has a priority of high, the cable modem 104 who is to receive packet 508 has a SID of 1 and packet 508 is 64 bytes in length. In addition, packet 508 arrived at CMTS 102 before packet 510, which in turn arrived before packet 512, as indicated by their positions in queue 502. It is important to note that packet 518 may arrive at CMTS 102 (e.g, WAN, Internet, intranets, fiber optic networks, wireless networks and satellite-based networks) before packet 508, but packet 508 is still likely to be sent to cable modem 104 first due to it having a higher priority. Note that the present invention also applies in the upstream with packets arriving from cable modem 104 and being sent out onto the WAN, Internet, and so forth, with low priority packets being dropped if the gateway to the WAN, Internet, and so forth, (or some other point in the path) was clogged such that queues are backed up. The operation of the present invention is described next with references to FIGS. 3 and 4.
C. Operation of the Present Invention
FIG. 3 is a high level flowchart that describes the efficient management of memory space by dropping lower priority packets that are slated for transmission according to an embodiment of the present invention. In FIG. 3, control starts at step 302. In step 302, CMTS 102 programs threshold value registers 204. As stated above, threshold value registers 204 include one register for each of the priority queues 202. Threshold value registers 204 represent the threshold number of packets that are allowed to be stored in its corresponding priority queue without an interrupt being sent to CMTS 102. Control then passes to step 304.
In step 304, MAC 112 determines whether the amount of outstanding packets in a given priority queue exceeds its threshold value. This is done by comparing the descriptor count register 206 and the threshold value register 204 for the priority queue. If the amount of outstanding packets exceeds its threshold value (i.e., is using up too much of the shared memory space in local SDRAM 114 that is reserved for priority queues 202), then control passes to step 306. Alternatively, the flowchart in FIG. 3 ends. Li step 306, MAC 112 sets an interrupt for CMTS 102. When the interrupt is set it indicates to CMTS 102 that local SDRAM 114 is getting full and some lower priority packets should be dropped in order to guarantee there will be enough memory to store higher priority packets. Control then passes to step 308.
In step 308, in response to the interrupt, CMTS 102 checks the status of priority queues 202 by determining the number of outstanding packets for each priority queue 202 via descriptor count registers 206. Control then passes to step 310. hi step 310, CMTS 102 makes a decision on the best way to drop packets from the lower priority queues and, if applicable, the number of packets to drop so as to guarantee that the packets that get dropped are in fact lower priority packets and that there is enough memory available for higher priority packets. Once CMTS 102 makes the decision, CMTS 102 indicates the number of packets to drop by writing a value for the number to drop into the appropriate packet drop register 210. As stated above, packet drop registers 210 includes one register for each of the priority queues 202. Packet drop registers 210 indicate the number of packets to drop from its respective priority queue when the packet drop feature is enabled. Control then passes to step 312. In step 312, CMTS 102 writes a value to drop begin register 208 indicating that the packet drop feature of the invention is enabled. Control then passes to step 314.
In step 314, it has been determined by the present invention that local SDRAM 114 is getting full. Here, MAC 112 drops scheduled lower priority packets as indicated by CMTS 102. This frees up the fixed shared memory space, allowing for new packets to be queued or scheduled to be sent to cable modem 104. The flowchart in FIG. 3 ends at this point. How MAC 112 drops scheduled packets as indicated by CMTS 102 is described in more detail next with reference to FIG. 4. In FIG.4, control starts at step 402. hi step 402, it is determined whether the number of packets to be dropped is greater than the number of outstanding packets for a particular priority queue. If so, then control passes to step 404. Alternatively, control passes to step 406. In step 404, DMA unit 116 drops all of the outstanding packets in the relevant priority queue and continues to drop incoming packets until the number of packets to be dropped is met. For example, in FIG. 5, if the number of outstanding packets to be dropped from queue 506 is eight, then DMA unit 116 would start with the oldest packet (packet 518) and drop packets 518 through 530 (seven packets total). DMA unit 116 would then drop the next packet that is stored in queue 506 to make the total number of packets dropped from queue 506 equal eight.
In step 406, DMA unit 116 drops the number of packets in the relevant priority queue as indicated by the corresponding packet drop register. The flowchart in FIG. 4 ends at this point.
D. Example Environment of the Present Invention
CMTS 102, CMTS scheduler 110, cable modem scheduler 118 and MAC 112 may be implemented using computer 600 as shown in FIG. 6. Obviously, more than one of these functional components could be implemented on a single computer 600.
The present invention may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system, i fact, in one embodiment, the invention is directed towards one or more computer systems capable of carrying out the functionality described herein. The computer system 600 includes one or more processors, such as processor 604. The processor 604 is connected to a communication bus 606. Various software embodiments are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
Computer system 600 also includes a main memory 608, preferably random access memory (RAM), and can also include a secondary memory 610. The secondary memory 610 can include, for example, a hard disk drive 612 and/or a removable storage drive 614, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 614 reads from and/or writes to a removable storage unit 618 in a well known manner. Removable storage unit 618, represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 614. As will be appreciated, the removable storage unit 618 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative embodiments, secondary memory 610 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 600. Such means can include, for example, a removable storage unit 622 and an interface 620. Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 622 and interfaces 620 which allow software and data to be transferred from the removable storage unit 618 to computer system 600.
Computer system 600 can also include a communications interface 624. Communications interface 624 allows software and data to be transferred between computer system 600 and external devices. Examples of communications interface 624 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 624 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 624. These signals 626 are provided to communications interface via a channel 628. This channel 628 carries signals 626 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
In this document, the terms "computer program medium" and "computer usable medium" are used to generally refer to media such as removable storage device 618, a hard disk installed in hard disk drive 612, and signals 626. These computer program products are means for providing software to computer system
600.
Computer programs (also called computer control logic) are stored in main memory and/or secondary memory 610. Computer programs can also be received via communications interface 624. Such computer programs, when executed, enable the computer system 600 to perform the features of the present invention as discussed herein, i particular, the computer programs, when executed, enable the processor 604 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 600.
In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 600 using removable storage drive 614, hard drive 612 or communications interface 624. The control logic (software), when executed by the processor 604, causes the processor 604 to perform the functions of the invention as described herein.
In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). In yet another embodiment, the invention is implemented using a combination of both hardware and software. E. Conclusion
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. This is especially true in light of technology and terms within the relevant art(s) that may be later developed. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method for dropping lower priority packets for transmission over a communication medium, comprising the steps of: receiving one or more packets to be transferred to one or more data providers, each packet having a priority; based on said priority, storing each of the packets in one or more priority queues in a fixed shared memory space in such a way as to maintain the order in which the packets were received in each of said priority queues; monitoring the number of packets in each of said priority queues and signaling an interrupt when a packet threshold is exceeded in said one or more priority queues; and dropping lower priority packets in said fixed shared memory space based on said order received.
2. The method of claim 1, wherein said communication medium is cable TV.
3. The method of claim 1 , wherein said communication medium is wireless.
4. The method of claim 1 , wherein said communication medium is satellite- based network.
5. The method of claim 1, wherein said communication medium is the Internet.
6. The method of claim 1, wherein said order is priority first come first served.
7. A system for dropping lower priority packets for transmission over a communication medium, comprising: a cable modem termination system for receiving one or more packets to be transferred to one or more data providers, each packet having a priority; based on said priority, a media access controller for storing each of the packets in one or more priority queues in a fixed shared memory space in such a way as to maintain the order in which the packets were received in each of said priority queues; wherein said media access controller monitors the number of packets in each of said priority queues and signals an interrupt when a packet threshold is exceeded in said one or more priority queues; and wherein said media access controller drops lower priority packets in said fixed shared memory space based on said order received.
8. The system of claim 7, wherein said communication medium is cable TV.
9. The system of claim 7, wherein said communication medium is wireless.
10. The system of claim 7, wherein said communication medium is satellite- based network.
11. The system of claim 7, wherein said communication medium is the Internet.
12. The system of claim 7, wherein said order is priority first come first served.
PCT/US2002/030523 2001-09-27 2002-09-26 System and method for dropping lower priority packets that are slated for transmission WO2003028274A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP02778342A EP1440540A4 (en) 2001-09-27 2002-09-26 System and method for dropping lower priority packets that are slated for transmission

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US32489201P 2001-09-27 2001-09-27
US60/324,892 2001-09-27
US10/253,659 US7839785B2 (en) 2001-09-27 2002-09-25 System and method for dropping lower priority packets that are slated for transmission
US10/253,659 2002-09-25

Publications (2)

Publication Number Publication Date
WO2003028274A2 true WO2003028274A2 (en) 2003-04-03
WO2003028274A3 WO2003028274A3 (en) 2004-03-11

Family

ID=26943456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/030523 WO2003028274A2 (en) 2001-09-27 2002-09-26 System and method for dropping lower priority packets that are slated for transmission

Country Status (3)

Country Link
US (1) US7839785B2 (en)
EP (1) EP1440540A4 (en)
WO (1) WO2003028274A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015095518A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Systems and methods for controlling modems in a computing device

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881202B2 (en) * 2002-09-25 2011-02-01 Broadcom Corporation System and method for dropping lower priority packets that are slated for wireless transmission
US7668098B2 (en) * 2003-06-19 2010-02-23 Intel Corporation Method and apparatus for improving the upstream data transfer rate for a cable modem
US7551557B2 (en) * 2003-06-19 2009-06-23 International Business Machines Corporation Method and system for ensuring arbitration fairness in bus ring topology
WO2008086600A1 (en) * 2007-01-15 2008-07-24 Research In Motion Limited Fragmenting large packets in the presence of high priority packets
US8806551B2 (en) * 2008-12-03 2014-08-12 Alcatel Lucent Prioritized retransmission of internet protocol television (IPTV) packets
US9917779B2 (en) * 2011-08-23 2018-03-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Alleviating congestion in a cable modem
US9374387B2 (en) * 2012-10-12 2016-06-21 Rockwell Automation Technologies, Inc. Hardware-based granular traffic storm protection
US9398118B2 (en) * 2013-09-24 2016-07-19 Innovask, Inc. Processing apparatus for bus data
US9690692B2 (en) 2014-10-31 2017-06-27 Hewlett Packard Enterprise Development Lp Priority queue having array and trees
WO2017119950A1 (en) * 2016-01-08 2017-07-13 Inspeed Networks, Inc. Bidirectional data traffic control
WO2018002688A1 (en) * 2016-06-27 2018-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Head drop scheduler
US10491415B1 (en) * 2018-03-27 2019-11-26 CSC Holdings, LLC Mapping non-attached subnetworks
TWI736146B (en) 2020-02-25 2021-08-11 瑞昱半導體股份有限公司 Receiver device, receiver system, and operation method

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586121A (en) * 1995-04-21 1996-12-17 Hybrid Networks, Inc. Asymmetric hybrid access system and method
US5838915A (en) * 1995-06-21 1998-11-17 Cisco Technology, Inc. System for buffering data in the network having a linked list for each of said plurality of queues
US5721833A (en) * 1995-12-29 1998-02-24 Gte Laboratories Incorporated Push-out of low priority signals from switch buffers
US5724358A (en) * 1996-02-23 1998-03-03 Zeitnet, Inc. High speed packet-switched digital switch and method
US5828653A (en) * 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
US6067457A (en) * 1996-04-30 2000-05-23 Motorola, Inc. Method for dynamically assigning priority to a call
US6141323A (en) * 1996-06-03 2000-10-31 Whittaker Corporation Closed loop congestion control using a queue measurement system
US5938749A (en) * 1996-06-03 1999-08-17 Whittaker Communications Inc. Queue measurement apparatus and methodology
US5901147A (en) * 1996-08-30 1999-05-04 Mmc Networks, Inc. Apparatus and methods to change thresholds to control congestion in ATM switches
US6078564A (en) * 1996-08-30 2000-06-20 Lucent Technologies, Inc. System for improving data throughput of a TCP/IP network connection with slow return channel
US6324267B1 (en) * 1997-01-17 2001-11-27 Scientific-Atlanta, Inc. Two-tiered authorization and authentication for a cable data delivery system
US6091709A (en) * 1997-11-25 2000-07-18 International Business Machines Corporation Quality of service management for packet switched networks
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6067301A (en) * 1998-05-29 2000-05-23 Cabletron Systems, Inc. Method and apparatus for forwarding packets from a plurality of contending queues to an output
US6304552B1 (en) * 1998-09-11 2001-10-16 Nortel Networks Limited Memory and apparatus for input based control of discards in a lossy packet network
CA2349010A1 (en) * 1998-10-27 2000-05-04 Fujitsu Network Communications, Inc. Event based rate policing with a jumping window
US6563793B1 (en) * 1998-11-25 2003-05-13 Enron Warpspeed Services, Inc. Method and apparatus for providing guaranteed quality/class of service within and across networks using existing reservation protocols and frame formats
US6430187B1 (en) * 1999-06-03 2002-08-06 Fujitsu Network Communications, Inc. Partitioning of shared resources among closed user groups in a network access device
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
JP4110733B2 (en) * 2000-11-24 2008-07-02 沖電気工業株式会社 Voice packet communication quality evaluation system
US7073055B1 (en) * 2001-02-22 2006-07-04 3Com Corporation System and method for providing distributed and dynamic network services for remote access server users
US6804492B2 (en) * 2001-04-04 2004-10-12 Hughes Electronics Corporation High volume uplink in a broadband satellite communications system
US20030007485A1 (en) * 2001-05-22 2003-01-09 Motorola, Inc Method and system for operating an edge router
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
US20020198850A1 (en) * 2001-06-26 2002-12-26 International Business Machines Corporation System and method for dynamic price determination in differentiated services computer networks
US7881202B2 (en) * 2002-09-25 2011-02-01 Broadcom Corporation System and method for dropping lower priority packets that are slated for wireless transmission
US7006440B2 (en) * 2001-10-26 2006-02-28 Luminous Networks, Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
US7545814B2 (en) * 2002-02-28 2009-06-09 Nokia Corporation Method and system for dynamic remapping of packets for a router

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP1440540A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015095518A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Systems and methods for controlling modems in a computing device

Also Published As

Publication number Publication date
US20030058795A1 (en) 2003-03-27
EP1440540A4 (en) 2010-03-31
WO2003028274A3 (en) 2004-03-11
EP1440540A2 (en) 2004-07-28
US7839785B2 (en) 2010-11-23

Similar Documents

Publication Publication Date Title
US7881202B2 (en) System and method for dropping lower priority packets that are slated for wireless transmission
US7573816B2 (en) System and method for combining requests for data bandwidth by a data source for transmission of data over a wireless communication medium
US7379472B2 (en) Hardware filtering of unsolicited grant service extended headers
EP0734195B1 (en) A delay-minimizing system with guaranteed bandwith for real-time traffic
US7616620B2 (en) Method for suppressing silence in voice traffic over a wireless communication medium
US7839785B2 (en) System and method for dropping lower priority packets that are slated for transmission
US20070076766A1 (en) System And Method For A Guaranteed Delay Jitter Bound When Scheduling Bandwidth Grants For Voice Calls Via A Cable Network
EP1258102B1 (en) Method for suppressing silence in voice traffic over an asynchronous communication medium
US20040184470A1 (en) System and method for data routing
US20030229714A1 (en) Bandwidth management traffic-shaping cell
JPH10243000A (en) Switching flow control
US20040184464A1 (en) Data processing apparatus
Kimiyama et al. Real-time processing method for an ultra high-speed streaming server running PC Linux
CA2233555A1 (en) Asynchronous transfer mode switch
JP2006501753A5 (en)

Legal Events

Date Code Title Description
AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002778342

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002778342

Country of ref document: EP