US20060120381A1 - Packet processing apparatus for realizing wire-speed, and method thereof - Google Patents
Packet processing apparatus for realizing wire-speed, and method thereof Download PDFInfo
- Publication number
- US20060120381A1 US20060120381A1 US11/297,554 US29755405A US2006120381A1 US 20060120381 A1 US20060120381 A1 US 20060120381A1 US 29755405 A US29755405 A US 29755405A US 2006120381 A1 US2006120381 A1 US 2006120381A1
- Authority
- US
- United States
- Prior art keywords
- packet
- detour
- field
- processing apparatus
- queue
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 171
- 238000012545 processing Methods 0.000 title claims abstract description 117
- 238000003672 processing method Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 16
- 230000007423 decrease Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Abstract
Provided are a packet processing apparatus for realizing a wire-speed, and a method thereof. The packet processing apparatus realizes a wire-speed by making an inputted packet be processed in another packet processing apparatus instead of processing the inputted packet for itself. The packet processing apparatus for realizing a wire-speed by having an inputted packet processed in a packet processor of another packet processing apparatus by making an inputted packet detour a packet processor into a detour path, includes: a packet classifier for classifying and storing the inputted packet in a multi-queue based on a priority; a queue manager for including the multi-queue, determining a detour packet among packets stored in the multi-queue and marking the packet as a detour packet; and a packet scheduler for transmitting the packet designated as the detour packet to the detour path. The apparatus is used for a packet communication system.
Description
- The present invention relates to a packet processing apparatus for realizing a wire-speed, and a method thereof; and, more particularly, to a packet processing apparatus for performing a packet process by using not only resources within the corresponding packet processing apparatus, which used to be used in a conventional technology but also resources of another available packet processing apparatus in a packet communication system.
- A transmitting system and a receiving system of a packet communication system include a plurality of line cards and more than one port is arranged in each line card. Herein, a port of the transmitting system and a port of the receiving system are connected and the transmitting system transmits a packet to a receiving port of the receiving system at a predetermined maximum speed through a transmitting port whenever a packet to be transmitted is generated. The speed is called a wire-speed, which is a physically possible maximum transmission speed of a link. For example, 2.5 Gbps in Packet over SONET (POS) OC48 communication port and 1 Gbps in a gigabit Ethernet communication port correspond to the wire-speed.
- When the receiving system can receive and process all packets transmitted from the transmitting system at the maximum speed, it is approved that the packet communication system has a process performance of a wire-speed with respect to the packet. Although the receiving system should process all packet transmitted to the wire-speed, there is a case that some packets cannot be processed. This is because the line card of the receiving system may not process all packets can be generated.
- To have a look at the process of the receiving system, the packet entering through the receiving port stays for a while in a queue before the process. When the first entering packet is processed in a packet processing block in the inside of the line card, the packet staying in the queue is transmitted to the packet processing block in sequence and processed. Therefore, when a speed for filling the packet in the queue is slower than a speed for processing the packet in the packet processing block, the queue is gradually filled with the packet and the packets entering the queue after the queue is filled with the packet are destroyed since there is no room for the packets to be kept. That is, there is a problem that a case that the packet is not processed in the wire-speed.
- Also, the line card can receive diverse packets, and a process and required time of the received packet are different from each other. Generally, it takes a long time to process a complicated packet and a comparatively short time to process a simple packet. When the line card is designed, the process performance of the line card is determined in consideration of probability distribution. Herein, when a high-speed processor is selected, a possibility to process the packet without any loss is raised. However, selecting the high-performance processor to reduce the packet loss has a problem that the cost is high.
- Also, much of the packet process is performed by making use of hardware. However, some packet process functions can be processed by using software since processing all parts of an option header of the packet by the hardware method does not bring any profit by making a hardware logic complicate and raising a cost. Accordingly, delay can be caused in a process of a specific packet. When the delay occurs frequently, the delays of the packet process are accumulated and the queue is filled with the packets, and eventually this causes the packet loss.
- It is, therefore, an object of the present invention to provide a packet processing apparatus for realizing a wire-speed by making an inputted packet be processed in another packet processing apparatus instead of processing the inputted packet, and a method thereof.
- It is another object of the present invention to provide a packet processing apparatus for realizing wire-speed of the packet communication system by processing both packets, which are processed in the other packet processing apparatus and transmitted, and packets, which are not processed in the other packet processing apparatus and transmitted.
- Other objects and advantages of the invention will be understood by the following description and become more apparent from the embodiments in accordance with the present invention, which are set forth hereinafter. It will be also apparent that objects and advantages of the invention can be embodied easily by the means defined in claims and combinations thereof.
- In accordance with an aspect of the present invention, there is provided a packet processing apparatus for realizing a wire-speed by making an inputted packet detour a packet processor into a detour path and processing the inputted packet in a packet processing means of another packet processing apparatus, which is a second packet processing apparatus, including: a packet classifier for classifying and storing the inputted packet in a multi-queue based on a priority; a queue manager for including the multi-queue, determining a detour packet among packets stored in the multi-queue and marking the packet as the detour packet; and a packet scheduler for transmitting the packet designated as the detour packet to the detour path.
- In accordance with another aspect of the present invention, there is provided a packet processing apparatus for processing a packet transmitted from another packet processing apparatus, which is a second packet processing apparatus, including: a packet selector for checking whether an inputted packet is a normal packet transmitted after being processed in the second packet processing apparatus or a detour packet transmitted without being processed, and directing the packets into corresponding paths; a queue for storing the detour packet transmitted from the packet selector; a packet scheduler for reading the detour packet stored in the queue and transmitting the detour packet to the packet processing means in the rear end of the packet processing apparatus; and a packet processor for processing the detour packet transmitted from the packet scheduler and outputting the detour packet as the normal packet.
- In accordance with another aspect of the present invention, there is provided a packet process method for realizing a wire-speed by making an inputted packet detour a packet processor into a detour path and processing the inputted packet in a packet processor of another packet processing apparatus, which is a second packet processing apparatus, including: a) classifying and storing the inputted packet in a multi-queue based on a priority; b) determining a packet to be detoured among packets stored in the multi-queue and marking the packet as a detour packet; and c) reading the packet determined as the detour packet out of the multi-queue and transmitting the detour packet to the second packet processing apparatus through the detour path.
- In accordance with another aspect of the present invention, there is provided a packet process method for processing a packet transmitted from another packet processing apparatus, which is a second packet processing apparatus, including: a) checking whether an inputted packet is a normal packet transmitted after being processed in the second packet processing apparatus or a detour packet transmitted without being processed, and directing the packets for each path; and b) processing the directed detour packets and outputting the detour packets as normal packets.
- The above and other objects and features of the present invention will become apparent from the following description of the preferred embodiments given in conjunction with the accompanying drawings, in which:
-
FIG. 1 is a diagram showing a packet process of a general line card; -
FIG. 2A is a diagram showing a packet process of a line card having a detour packet process function in accordance with an embodiment of the present invention; -
FIG. 2B is a diagram showing a path of a normal packet in a line card having a detour packet process function in accordance with the embodiment of the present invention; -
FIG. 2 c is a diagram showing a path of a detour packet in the line card having a detour packet process function in accordance with the embodiment of the present invention; -
FIG. 3 is a diagram showing a format of a normal packet passing through thepacket processor 225; -
FIG. 4 is a diagram showing a format of metadata for marking a detour packet in accordance with the embodiment of the present invention; -
FIG. 5 is a diagram showing a format of a packet requesting packet processor using rate information in accordance with the embodiment of the present invention; -
FIG. 6 is a diagram showing a format of a packet providing packet processor using rate information in accordance with the embodiment of the present invention; -
FIG. 7 is a diagram showing a format of a detour packet formed by apacket scheduler 217; -
FIG. 8 is a diagram showing a format of a packet used when the packet scheduler registers the packet processor using rate in a packet processor using rate storage in accordance with the embodiment of the present invention; -
FIG. 9 is a diagram showing a format of a queue lock release packet in accordance with the embodiment of the present invention; -
FIG. 10 is a flowchart describing a packet process method for realizing a wire-speed in accordance with an embodiment of the present invention; and -
FIG. 11 is a flowchart describing a packet process method for realizing a wire-speed in accordance with another embodiment of the present invention. - Other objects and advantages of the present invention will become apparent from the following description of the embodiments with reference to the accompanying drawings. Therefore, those skilled in the art that the present invention is included can embody the technological concept and scope of the invention easily. In addition, if it is considered that detailed description on the prior art may blur the points of the present invention, the detailed description will not be provided herein. The preferred embodiments of the present invention will be described in detail hereinafter with reference to the attached drawings.
- Although the present invention is applied to a packet communication system such as an Internet Protocol (IP) router, an Ethernet switch and a multi-protocol label switching (MPLS) switch, a process in the IP router will be described as an example for the sake of convenience in explanation. However, it is apparent to those skilled in the art that the present invention is not limited to the IP router.
- Also, the packet communication system, to which the present invention is applied, includes a plurality of line cards, a switch card, a processor card for control, and a back plane bus for integrating the cards.
-
FIG. 1 is a diagram showing a packet process of a general line card. A procedure that the packet is inputted through an input port 111 of aline card 110, passes through a series of packet processes and is outputted to an output port of the other line card through a switch will be described with referenceFIG. 1 . - Specifically, the packets, which enter the input port 111, are classified by a
packet classifier 116 and stored incorresponding queues - Diverse methods for designating the priority of the packet are defined in the packet communication system. In case of an Ethernet, the priority of an Ethernet frame can be designated by using 3 bits with a name of Class of Service (COS) in the frame header to support quality of service (QoS) in 802.1Q and a P standard. Also, in case of MPLS, the priority can be designated by allotting 3 bits with the name of Class of Service (COS). Also, in case of IP packet, the priority of the packet can be designated by using 3 bits with the name of Type of Service (TOS) in the packet header, and in case of DiffServ, the priority of the packet can be designated by designating a Type of Service (TOS) field of 6 bits.
- The
packet classifier 116 stores the packet in each of thequeues queues queues packet scheduler 117 and transmitted to apacket processor 125. Thepacket processor 125 should prepare for accepting a new packet in order to transmit the packets of thequeues - The packet arriving at the
packet processor 125 passes through a lookup procedure of a forwarding table with respect to an IP address and it is determined which port of which line card the packet is outputted to. That is, aspecific output port 172 is determined among theports switch 199. The packet, which the header is added to, passes through aswitch output port 113 and is transmitted to correspondingswitch input ports 114, 144 and 174 of theline cards - When it is determined that the packet is outputted to the
output port 172 of theline card 170, the packet is outputted to an external through theoutput port 172 of the line card after passing through theswitch input port 174 and waiting in anoutput queue 192 for a while. The packet process in thepacket processor 125 includes a packet process based on a definition in Access Control List, a packet metering, a process with respect to an MPLS header and diverse processes with respect to the packet for supporting the QoS as well as the lookup of the forwarding table with respect to the packet IP address. - The packet process requiring time in the
packet processor 125 is based on a kind of the packet and comparatively long time is generally required for a complicated process. When the packet process is delayed for a long time in thepacket processor 125, thequeues packet processor 125 is designed, there is a possibility that the capacity is not enough for the packets. - In the above case, although there is a room for processing the packet in
packet processors other line cards packet processors other line cards own line card 110, thereby processing the packets entering through each ofinput ports 111, 141 and 171 at the wire-speed without loss. -
FIG. 2A is a diagram showing a packet process of a line card having a detour packet process function in accordance with an embodiment of the present invention. The packet process of the normal packet and the detour packet will be described in detail with reference toFIG. 2A . Herein, the normal packet is processed in the packet processor of the inputted line card and the detour packet is processed after being transmitted to the packet processor of the other line card since burden is too heavy in the packet processor of the line card. A status that the normal packet and the detour packet are inputted in aninput port 211 of theline card 210 and outputted to anoutput port 272 of aline card 270 will be described in detail hereinafter. - The path of the normal packet is as follows. The packet entering the
input port 211 passes through apacket classifier 216, is stored in each ofqueues packet scheduler 217 and transmitted to apacket processor 225. The packet processed in thepacket processor 225 passes through adetour packet scrambler 237, is outputted to aswitch 299 through a switchend output port 213 and transmitted to a switchend input port 274 of theline card 270 in theswitch 299. Subsequently, the normal packet passes through anoutput queue 292 and is outputted to theoutput port 272.FIG. 2B is a diagram showing a path of a normal packet in a line card having a detour packet process function in accordance with the embodiment of the present invention. A path and a process of the normal packet is the same as the packet process in the conventional line card described inFIG. 1 . -
FIG. 3 is a diagram showing a format of a normal packet passing through thepacket processor 225, and the format ofFIG. 3 is formed by determining which port of which line card the normal packet is outputted to while the normal packet passes through a packet process in thepacket processor 225. - A field of a
reference number 310 ofFIG. 3 includes a 1-byte target line card identifier. Herein, the target line card identifier notifies which line card the normal packet is transmitted to when the normal packet passes through theswitch 299. A field of thereference number 320 includes 1-byte Opcode showing that the packet is a normal packet and a field of areference number 330 includes 1-byte null data. The null data designate data embedded to meet a form with the format of the normal packet and the detour packet, which will be described hereinafter, but do not have a specific meaning. Meanwhile, a field of areference number 340 includes 1-byte port number data showing which port of which line card the packet is outputted, and a field of areference number 350 includes an IP packet to be outputted to a final output port. - The target
line card identifier 310 is removed while the normal packet formed of the format ofFIG. 3 passes through theswitch 299, and theOpcode 320 and theport number data 340 are removed while the normal packet passes through a rearend packet classifier 293. Finally, only theIP packet 350 is stored in theoutput queue 292. - A path of the detour packet is as follows. The packets entering the
input port 211 are stored inqueues packet classifier 216, and it is determined that some of packets staying in the queue are detour packets. The determined detour packet is inputted to a frontend detour path 238 through thepacket scheduler 217 and the detour packet is inputted to theswitch 299 through the switchend output port 213 after passing through the front enddetour packet scrambler 237. The detour packet inputted to theswitch 299 is transmitted to a switchend input port 244 of theline card 240 after a switching process, selected in the rearend packet classifier 263 and inputted to a rearend detour path 264. Subsequently, the detour packet is classified by apacket classifier 246 through a rear enddetour packet scrambler 265, stored in aqueue 254, read one by one by apacket scheduler 247 and transmitted to apacket processor 255. The detour packet processed in thepacket processor 255 passes through a front enddetour packet scrambler 267, is outputted to theswitch 299 through a switchend output port 243 and transmitted to the switchend input port 274 of theline card 270 in theswitch 299. Subsequently, the detour packet is identified as an output packet by the rearend packet classifier 293 and outputted to theoutput port 272 through theoutput queue 292.FIG. 2C is a diagram showing a path of a detour packet in the line card having a detour packet process function in accordance with the embodiment of the present invention. - The process of the detour packet will be described in detail hereinafter. The detour packet enters through the
input port 211 and is stored in one of the multi-queues 222 and 223 through a classification procedure of the packet in thepacket classifier 216. Herein, the detour packet is selected among packets in thequeues queues 222 and the packet of the low priority is stored in thequeues 223. Thequeue 224 is used to store the packet entering after being detoured. - When the detour packet is selected, it is preferred to select the packet of the low priority to minimize a negative effect such as packet delivery delay, which can be generated by the detour process of the packet. When the packet detour is generated, delay of the packet increases since the packet should go through one more line card. Therefore, it is preferred to detour the packet of the low priority supporting a low-quality service instead of the packet of a high priority supporting a high-quality service. However, the present invention is not limited to the above process.
- Meanwhile, there is a well-known method for actively dividing a memory space of a regular size and allotting to each queue as one method to realize the multi-queue. The memory space is divided into an area allotted to the queue and an area not allotted to the queue. The non-allotted area of the memory is actively allotted based on necessity of each queue. When the number of packets entering a queue is larger than the number of the packets getting out of the queue, the queue needs more space to receive a new packet and a predetermined space of the non-allotted area are used to make the queue larger. When vacant space of the queue increases since the number of the packet filling a queue is larger than the number of the processed packets, remaining vacant space is returned to the non-allotted area of an entire sharing memory and the returned non-allotted area is used again for a vacant space of another queue.
- The
queue manager 221 continuously checks a possibility that the queue can be filled with the inputted packets and actively assigns the memory space to each queue as described above. A simple method for predicting saturation of the queue space is to catch a status that the non-assigned area of the memory decreases less than a certain limit. A more complicated method for the prediction is to determine how long it takes to saturate a queue by analyzing the remaining quantity and a decreasing rate of the non-assigned area. - When the saturation of the queue is expected in the above procedure, the
queue manager 221 supports that some packets stored in thequeues 223 are quickly transmitted to the other line card through the frontend detour path 238 without passing through thepacket processor 225. - Also, the
queue manager 221 determines a series of P numbers of packets as packets to be detoured among the packets stored in thequeues 223. A P value can be optimized by an experiential method in a procedure operating a system and can be applied as a variable value. When the P is set up as a small value, a few numbers of packets should be detoured many times, and when the P value is large, many numbers of packets can be detoured a few times. A fact that a total number of the detour packet is P is recorded in a detour packet counter. The value of the detour packet counter decreases by 1 whenever the detour packet is processed one by one. The detour packet counter is recorded by thequeue manager 221 and means a sharing data area, which can be read in the front end detour packet processor, i.e., a packet scheduler. - The
queue manager 221 marks on the P packets to perform the detour process. That is, “detour packet” is marked on the packets. The metadata are used to mark the detour packets. -
FIG. 4 is a diagram showing a format of metadata for marking a detour packet in accordance with the embodiment of the present invention, and a field of areference number 410 ofFIG. 4 includes a 4-byte packet index formed. The packet index is a pointer pointing a real packet position and can index to a 232 address area. A field of areference number 420 includes a detour packet flag showing whether the packet is the detour packet, e.g., 0:normal and 1:detour, and a field of areference number 430 includes a final detour packet flag showing whether the packet is a final packet among the P packets. The final detour packet flag is set up as 1 with respect to only a pth detour packet and 0 with respect to a (P−1)th detour packet. A field of areference number 440 includes a 6-bit queue number showing which queue the detour packet comes from and a field of areference number 450 includes a detour line card identifier showing a packet processor of which line card is borrowed to process the detour packet. - Also, the
queue manager 221 determines which line card the detour packet is sent to when the packet is processed. It is preferred to process the detour packet of each line card after transmitting the detour packet to a line card, whose using rate is the lowest, in order to decentralize load maximally. Information on load of a packet processor of which line card is the smallest can be acquired by reading data of a packet processor usingrate storage 280. Registering the using rate of the packet processor of each line card in the packet processor usingrate storage 280 is registered by thepacket scheduler 217 and will be described hereinafter. - The packet processor using rate information that the
queue manager 221 should know is stored in a sharing memory area in the inside of theswitch card 299. It is preferred to store the packet processor using rate information in the sharing memory area since a queue manager in each line card is accessible without a bottleneck effect. The other area, which the packet processor using rate information can be stored in, is a memory in the inside of a main processor board. Although the memory of the main processor board is easily accessible, the memory is not a preferred storing position in consideration of effective using of resources since there is generally a limit to a link speed. However, storing the packet processor using rate information in the main processor board is not excluded. - When the packet processor using rate information is updated with newest data, the position of the packet processor used at a smallest quantity can be acquired. The
queue manager 221 can request the packet processor usingrate storage 280 for the newest packet processor using rate information. A format of the packet requesting the packet processor using rate information to the packet processor usingrate storage 280 will be described with reference toFIG. 5 . -
FIG. 5 is a diagram showing a format of a packet requesting packet processor using rate information in accordance with the embodiment of the present invention. A field of areference number 510 ofFIG. 5 includes a 1-byte storage identifier notifying that the packet should be delivered to the packet processor usingrate storage 280. Herein, the stored value is 0. A field of areference number 520 includes 1-byte Opcode showing that the packet requests the packet processor using rate information. A field of areference number 530 includes the 1-byte request line card identifier showing which line card requests the packet processor using rate information, and a field of areference number 540 includes the 1-byte object line card identifier showing which line card the packet processor using rate information is for. - When the packet processor using
rate storage 280 receives a packet processor using rate information request packet having the format ofFIG. 5 from thequeue manager 221, the packet processor usingrate storage 280 notifies a packet process rate of the line card by delivering a packet processor using rate information providing packet, which has a format ofFIG. 6 , to thequeue manager 221 through the rearend detour path 234. -
FIG. 6 is a diagram showing a format of a packet providing packet processor using rate information in accordance with the embodiment of the present invention. Areference number 610 includes the 1-byte request line card identifier showing the line card to receive the using rate information, and areference number 620 includes the 1-byte Opcode showing that the packet provides the using rate information of the packet processor. Also, areference number 630 includes the 1-byte object line card identifier showing on which line card the packet processor using rate information is, and areference number 640 includes using rate data of a 1-byte packet processor expressed as a percentage. - The
queue manager 221 grasps recent using rate information by periodically requesting information on a packet processor using rate of each line card to the packet processor usingrate storage 280. A next procedure will be described on the assumption that it is confirmed that there is a room in the packet processor of theline card 240 through the above procedure. - Subsequently, the
packet scheduler 217 reads the packet in the queue, and transmits the packet to thepacket processor 225 or the other line card through the frontend detour path 238. It is determined where to transmit the packet with reference to metadata having the format ofFIG. 4 , which is linked to the packet stored in the queue. - The
packet scheduler 217 continuously checks a condition of thepacket processor 225 and confirms whether there is a packet designated as a detour packet in the queue when thepacket processor 225 does not prepare for reading the packet. When there is the packet designated as the detour packet, thepacket scheduler 217 reads and transmits the detour packet to the front enddetour packet scrambler 237 through the frontend detour path 238. Herein, thepacket scheduler 217 adds a header to the detour packet as a format ofFIG. 7 as described above. When thepacket processor 225 prepares for reading the packet, thepacket processor 225 reads the packet in a proper queue based on a schedule and transmits the packet to thepacket processor 225. -
FIG. 7 is a diagram showing a format of a detour packet formed by thepacket scheduler 217, and the detour packet formed of the format ofFIG. 7 is inputted to theswitch 299 through the frontend detour path 238. - A field of a
reference number 710 ofFIG. 7 includes the 1-byte target line card identifier. Herein, the target line card identifier notifies which line card the detour packet should be transmitted to when the detour packet passes through theswitch 299. A field of areference number 720 includes the 1-byte Opcode showing that the packet is the detour packet and a field of areference number 730 includes a detour packet flag, which is set up to be 1, when the packet is the detour packet, e.g., 0:normal, 1:detour. A field of areference number 740 includes a final detour packet flag, which is set up to be 1 when the packet is the final detour packet and a field of areference number 750 includes 6-bit queue number data f showing which queue the detour packet starts from. A field of areference number 760 includes a 1-byte home line card identifier formed showing information of the line card setting up the inputted packet as the detour packet, and a field of areference number 770 includes an IP packet entering thepacket processor 255. - While the detour packet formed of the format of
FIG. 7 passes through theswitch 299, the targetline card identifier 710 is removed, and while the detour packet passes through the rearend packet classifier 263, theOpcode 720 is removed. While the detour packet passes through thepacket scheduler 247, thedetour packet flag 730, the finaldetour packet flag 740, thequeue number 750 and the homeline card identifier 760 are removed, and only theIP packet 770 is inputted to thepacket processor 255. Thepacket processor 255 forms theIP packet 770 of the detour packet as the format of the normal packet ofFIG. 3 and outputs theIP packet 770. - In the above procedure, the
packet scheduler 217 reduces a detour packet counter one by one whenever the detour packet is processed one by one. The procedure is performed till all packets come out of the queue. The packets filling the queue rapidly decrease since the packet stored in the queue is transmitted through thepacket processor 225 and thedetour path 238. Accordingly, a possibility that the queue is saturated decreases and a room for accepting a new packet can be prepared. - While the
packet scheduler 217 processes all detour packets, locks the queue and accepts the packet in the queue, thepacket scheduler 217 prevents the packet from going out the queue through thepacket processor 225 and thedetour path 238. Locking the queue is for protecting an output priority of the packet remaining in the detoured packet and the queue. That is, locking the queue is for preventing the packet from going out to an output port in a wrong order. - Also, the
packet scheduler 217 measures how much thepacket processor 225 is busy to process the packets, and stores the result in the packet processor usingrate storage 280. The using rate information should be updated as frequently as a condition of the queue can be reflected. Since the present invention suggests a method for using information of a packet process using frequency instead of a detailed method for calculating a packet process using frequency of a packet processor, a detailed method for determining the packet process using frequency will not be described herein. The packet processor using rate information of each line card is updated in the packet processor usingrate storage 280 and queue managers of each line card read the packet processor using rate information of each line card from the packet processor usingrate storage 280. The procedure is described hereinbefore. -
FIG. 8 is a diagram showing a format of a packet used when a packet scheduler registers a packet processor using rate in a packet processor using rate storage in accordance with the embodiment of the present invention. A field of areference number 810 includes the 1-byte storage identifier showing that the packet should be transmitted to the packet processor usingrate storage 280 through theswitch 299 and a field of areference number 820 includes the 1-byte Opcode showing that the packet records the packet processor using rate. Also, a field of areference number 830 includes the 1-byte line card identifier showing a using rate value of which line card the field of areference number 830 designates, and a field of areference number 840 includes 1-byte percentage data expressing how many percentages of packet processors are used. - Subsequently, the detour packet is moved to the front end
detour packet scrambler 237 and the front enddetour packet scrambler 237 scrambles a detour packet and a normal packet coming from both ways. That is, the front enddetour packet scrambler 237 scrambles the packets by rotationally checking a buffer corresponding to each path. When a speed for rotationally checking the buffer of both ways is faster than a speed for filling each buffer with the packets, the packet can be processed without delay. - The detour packet passing through the front end
detour packet scrambler 237 enters theswitch 299 through the switchend output port 213. The detour packet entering the switch is switched with theline card 240 by information recorded in the targetline card identifier 710 as shown inFIG. 7 . The targetline card identifier 710 is removed in the procedure and inputted into theswitch end input 244 of theline card 240. - The rear
end packet classifier 263 classifies a normal packet and a detour packet coming through theswitch end input 244 and dividedly transmits the normal packet and the detour packet to each path. While the normal packet having the format ofFIG. 3 passes through theswitch 299, the targetline card identifier 310 is removed and theOpcode 320 showing that the packet is the normal packet is arranged in a front end of the normal packet. While the detour packet having the format ofFIG. 7 passes through theswitch 299, the targetline card identifier 710 is removed and theOpcode 720 showing that the packet is the detour packet is arranged in a front end of the detour packet. The rearend packet classifier 263 determines whether each packet is the normal packet or the detour packet with reference to each of theOpcodes - The normal packet is a packet that the packet is processed in the packet processor of the other line card. Therefore, only a process to output the normal packet to
output port 242 through anoutput queue 262 remains. The detour packet is transmitted to a rearend detour path 264 by the rearend packet classifier 263. The detour packet is a packet, which is not processed in itsown line card 210, but transmitted to theother line card 240. Therefore, the detour packet should be processed in thepacket processor 255 of the newly arrivingline card 240. - The detour packet arrives at the rear end
detour packet scrambler 265 through the rearend detour path 264. Although it is described as the rear enddetour packet scrambler 265 functions independently from thepacket classifier 246, it is only for the sake of convenience in explanation. The rear enddetour packet scrambler 265 and thepacket classifier 246 can function and be realized as one module. - The rear end
detour packet scrambler 265 scrambles the detour packet arriving through the rearend detour path 264 and the packet coming through aninput port 241 of the theline card 240 as one path. The scrambled detour packet and normal packet are classified by thepacket classifier 246 based on the priority and stored in the queue. Aqueue 252 stores the packet of a high priority and aqueue 253 stores the packet of a low priority. Although the queues are divided into two based on the priority inFIG. 2 , there can be more queues divided based on the priority. - The
queue 254 stores the detour packet. Therefore, the detour packet enters the rear enddetour packet scrambler 265 through the rearend detour path 264 and stored in thequeue 254 through thepacket classifier 246. A procedure that thepacket scheduler 247 transmits the packet of the queue to thepacket processor 255 or the frontend detour path 268 by reading the packet one by one based on the scheduling is the same as the above description. Herein, the detour packet detoured from the other line card cannot be transmitted to the other line card through the frontend detour path 268. Therefore, packets stored in thequeue 254 are transmitted to thepacket processor 255 by thepacket scheduler 247. - A packet process such as an address lookup is performed on the detour packet transmitted to the
packet processor 255 and the detour packet is generated as the normal packet of the format ofFIG. 3 . The packet passing through thepacket processor 255 enters theswitch 299 through the front enddetour packet scrambler 267 and the switchend output port 243. When the packet switched in theswitch 299 enters the rearend packet classifier 293 of theline card 270 through the switchend input port 274 and outputted to theoutput port 272 after staying in theoutput queue 292 for a while, all procedures of the detour packet process are finished. - In a procedure that the detour packet is transmitted from the
packet scheduler 247 to thepacket processor 255, a finaldetour packet checker 266 checks whether the detour packet, which is processed in the present time, is the final detour packet or not. That is, while the detour packet formed of the format ofFIG. 7 passes through theswitch 299, the targetline card identifier 710 is removed. While the detour packet passes through the rearend packet classifier 263, theOpcode 720 is removed. Herein, the finaldetour packet checker 266 checks whether the detour packet is the final detour packet or not through thedetour packet flag 730 and the finaldetour packet flag 740, and thedetour packet flag 730 and the finaldetour packet flag 740 are removed. - Although it is described as the final
detour packet checker 266 functions dependently from thepacket scheduler 247, the finaldetour packet checker 265 and thepacket scheduler 246 can function and be realized as one module. - Meanwhile, as described above, the
packet scheduler 217 of theline card 210 transmits the final detour packet in a series of detour packets, locks the queue and accepts the packet in the queue. However, thepacket scheduler 217 does not transmit the packet. The finaldetour packet checker 266 releases the lockedqueues 223. - The final
detour packet checker 266 checks the homeline card identifier 760 which line card the detour packet comes from and checks thequeue number 750 which queue the detour packet comes from. Subsequently, the finaldetour packet checker 266 removes the homeline card identifier 760 and thequeue number 750. The finaldetour packet checker 266 transmits the same queue lock release packet as shown inFIG. 9 to thepacket scheduler 217 of theline card 210 after the procedure. -
FIG. 9 is a diagram showing a format of a queue lock release packet in accordance with the embodiment of the present invention. A field of areference number 910 ofFIG. 9 includes the 1-byte line card identifier designating the line card, on which the locked queue exists, and a field of areference number 920 includes the Opcode showing that the packet is the queue lock release packet. A field of areference number 930 includes a 1-byte or 6-bit queue number designating the locked queue of the line card. - The queue lock release packet having the format of
FIG. 9 enters a switchend input port 214 through the frontend detour path 268, the front enddetour packet scrambler 267, the switchend output port 243 and theswitch 299 and arrives at thepacket scheduler 217 through a rearend packet classifier 233, the rearend detour path 234, a rear enddetour packet scrambler 235, thepacket classifier 216 and thequeue 224. The queue lock release packet releases the lockedqueues 223 after thepacket scheduler 217 transmits the detour packet and. Subsequently, thequeues 223 attend the scheduling object of thepacket scheduler 217 and starts transmitting the packet to thepacket processor 223. -
FIG. 10 is a flowchart describing a packet process method for realizing a wire-speed in accordance with an embodiment of the present invention. - As shown in
FIG. 10 , at step S1001, thepacket classifier 216 stores an input packet inmulti-queues queue manager 221 determines saturation possibilities of thequeues - When the
queues queue manager 221 determines a series of P packets to be detoured among the packets stored in thequeues 223 at step S1003, and records the fact that there are P detour packets in the detour packet counter at step S1004. - At step S1005, the
queue manager 221 generates the metadata as the format ofFIG. 4 with respect to the determined P detour packets. - At step S1006, the
packet scheduler 217 continuously checks the condition of thepacket processor 225 and determines whether thepacket processor 225 prepares for reading the packet. - At step S1011, when the
packet processor 225 prepares for reading the packet, thepacket scheduler 217 reads the packets stored in thequeues packet processor 225. Thepacket processor 225 forms the received packet as the format ofFIG. 3 and outputs the packet to the destination line card. - At step S1007, when the
packet processor 225 does not prepare for reading the packet, thepacket scheduler 217 reads the detour packet stored in thequeue 223 one by one with reference to the metadata having the format ofFIG. 4 and transmits the detour packet to the other line card through the frontend detour path 238 by adding a header as the format ofFIG. 7 . - At step S1008, the
packet scheduler 247 reduces the detour packet counter one by one whenever the detour packets are processed one by one. At steps S1009 and S1010, when all detour packets are transmitted to the other line card through the frontend detour path 238, thepacket scheduler 247 locks thequeue 223. Locking thequeue 223 is for protecting an output order of the packets which remain in the detoured packet and thequeues 223. That is, thequeue 223 is locked to prevent the packets from going out to the output port based on a wrong order. -
FIG. 11 is a flowchart describing a packet process method for realizing a wire-speed in accordance with another embodiment of the present invention. A case that the detour packet, which is transmitted through the detour path without being processed in theline card line cards line card 240 will be described as an example. Herein, it is assumed that a destination output port of the detour packet is theoutput port 272 and the destination output port of the normal packet is theoutput port 242. - While the normal packet formed of the format of
FIG. 3 in thepacket processors line cards switch 299, the targetline card identifier 310 is removed and the normal packet is inputted. While the detour packet, which is not processed in theline cards FIG. 5 , passes through theswitch 299, the targetline card identifier 540 is removed and the detour packet is inputted to the rearend packet classifier 263. - As shown in
FIG. 11 , at step S1101, the rearend packet classifier 263 determines whether each packet is the normal packet or the detour packet with reference to theOpcodes - At step S1110, while the normal packet passes through the rear
end packet classifier 263, the normal packet is transmitted to theoutput queue 292 after theOpcode 320 and theport number data 340 are removed, and only theIP packet 350 is finally outputted to theoutput port 242. - Meanwhile, at step S1102, while the detour packet passes through the rear
end packet classifier 263, theOpcode 720 is removed. At step S1103, the detour packet, in which theOpcode 720 is removed, enters the rear enddetour packet scrambler 265 through the rearend detour path 264 and is stored in thequeue 254 through thepacket classifier 246. Although it is described as the rear enddetour packet scrambler 265 functions independently from thepacket classifier 246 for the sake of convenience in explanation, the rear enddetour packet scrambler 265 and thepacket classifier 246 can function and be realized as one functional module. - The
packet scheduler 247 transmits the detour packet stored in thequeue 254 to thepacket processor 255 after reading the detour packet one by one based on the scheduling. At step S1104, the finaldetour packet checker 266 checks thedetour packet flag 730 and the finaldetour packet flag 740 whether the detour packet is the final detour packet, and removes thedetour packet flag 730 and the finaldetour packet flag 740 at steps S1105 and S1106. Although it is described as the finaldetour packet checker 266 functions independently from thepacket scheduler 247 for the sake of convenience in explanation, a function of the finaldetour packet checker 265 is a part of functions of thepacket classifier 246. - In case of the final detour packet, the final
detour packet checker 266 checks the homeline card identifier 760 of the detour packet to know which line card the detour packet comes from and thequeue number 750 to know which queue the detour packet comes from, and removes the homeline card identifier 760 and thequeue number 750 at step S1107. - At step S1108, the final
detour packet checker 266 generates and transmits the same queue lock release packet asFIG. 9 to the packet scheduler of the line card, which corresponds to the homeline card identifier 760. - At step S1109, the
packet processor 255 generates the IP packet of the detour packet as the format of the same normal packet asFIG. 3 and transmits the packet to the line card. - The present invention can improve a performance of each packet processing apparatus by sharing and using packet process resources of the other packet processing apparatus existing in the inside of a communication system instead of selecting a high-performance processor as a method for raising a process rate of the packet in the packet processing apparatus.
- Therefore, the substantial packet process performance can be expressed as an addition of packet process resources, of the packet processing apparatus, and packet process resources, which are not used in all packet processing apparatuses mounted in an inside of the communication system.
- That is, the present invention is economical since the present invention does not generate an additional cost by borrowing and applying the packet process resources, which are not used in each packet processing apparatus.
- As described in detail, the present invention can be embodied as a program and stored in a computer-readable recording medium, such as CD-ROM, RAM, ROM, a floppy disk, a hard disk and a magneto-optical disk. Since the process can be easily implemented by those skilled in the art, further description will not be provided herein.
- The present application contains subject matter related to Korean patent application Nos. 2004-0103170 and 2005-0101668, filed with the Korean Intellectual Property Office on Dec. 8, 2004, and Oct. 27, 2005, respectively, the entire contents of which are incorporated herein by reference.
- While the present invention has been described with respect to certain preferred embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the scope of the invention as defined in the following claims.
Claims (37)
1. A packet processing apparatus by making an inputted packet detour a packet processor into a detour path and processing the inputted packet in a packet processing means of another packet processing apparatus, which is a second packet processing apparatus, comprising:
a packet classifying means for classifying and storing the inputted packet in a multi-queue based on a priority;
a queue managing means for including the multi-queue, determining a detour packet among packets stored in the multi-queue and marking the packet as the detour packet; and
a packet scheduling means for transmitting the packet designated as the detour packet to the detour path.
2. The apparatus as recited in claim 1 , wherein the queue managing means marks the detour packet by using metadata,
wherein the metadata include:
a field for providing position information of a packet;
a field for providing information on whether a packet is a final detour packet;
a field for providing information on which queue the packet comes from; and
a field for providing information on which packet processing apparatus the packet is transmitted to.
3. The apparatus as recited in claim 2 , wherein the packet scheduling means transmits the packet designated as the detour packet to the detour path with reference to the metadata.
4. The apparatus as recited in claim 1 , wherein the packet scheduling means adds a header to the packet designated as the detour packet, and
the header includes:
a field for providing information on which packet processing apparatus the packet is transmitted to;
a field for providing information on whether the packet is the detour packet;
a field for providing information on whether the packet is the final detour packet;
a field for providing information on which queue the packet comes from; and
a field for providing information on the packet processing apparatus that sets up the packet as the detour packet.
5. The apparatus as recited in claim 1 , wherein the queue managing means determines a packet processing apparatus to receive the detour packet based on packet process rate information of the second packet processing apparatus which is stored in an external packet process rate storing means.
6. The apparatus as recited in claim 5 , wherein the queue managing means acquires the packet process rate information of the second packet processing apparatus by transmitting a packet process rate information request packet to the packet process rate storing means.
7. The apparatus as recited in claim 6 , wherein the packet process rate information request packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means;
a field for providing information showing that the packet requests the packet process rate information;
a field for providing information of the packet processing apparatus requesting the packet process rate information; and
a field for providing information on which packet processing apparatus the packet process rate information request is for.
8. The apparatus as recited in claim 6 , wherein the packet process rate storing means transmits a packet process rate information providing packet in responds to the packet process rate information request packet transmitted from the queue managing means.
9. The apparatus as recited in claim 8 , wherein the packet process rate information providing packet includes:
a field for providing information of the packet processing apparatus to receive the packet process rate information;
a field for showing that the packet provides the packet process rate information;
a field for providing information on which packet processing apparatus the packet process rate information is for; and
a field for providing the packet process rate information of the requested packet processing apparatus.
10. The apparatus as recited in claim 1 , wherein the packet scheduling means registers the packet process rate information of the packet processing apparatus by transmitting a packet process rate registration packet the external packet process rate storing means.
11. The apparatus as recited in claim 10 , wherein the packet process rate registration packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means;
a field for providing information showing that the packet registers the packet process rate;
a field for providing information on which packet processing apparatus the packet process rate belongs to; and
a field for providing the packet process rate information of the packet processing apparatus.
12. The apparatus as recited in claim 1 , wherein the queue managing means records the number of the packets to be detoured in a detour packet counter.
13. The apparatus as recited in claim 12 , wherein the packet scheduling means reduces a counting number of detour packet counter one by one whenever the detour packet is processed one by one, and locks the queue after all detour packets are processed.
14. A packet processing apparatus for processing a packet transmitted from another packet processing apparatus, which is a second packet processing apparatus, comprising:
a packet selecting means for checking whether an inputted packet is a normal packet transmitted after being processed in the second packet processing apparatus or a detour packet transmitted without being processed, and directing the packets into corresponding paths;
a queue for storing the detour packet transmitted from the packet selecting means;
a packet scheduling means for reading the detour packet stored in the queue and transmitting the detour packet to the packet processing means in the rear end of the packet processing apparatus; and
a packet processing means for processing the detour packet transmitted from the packet scheduling means and outputting the detour packet as the normal packet.
15. The apparatus as recited in claim 14 , wherein the packet selecting means determines whether the inputted packet is the normal packet or the detour packet based on an Opcode.
16. The apparatus as recited in claim 14 , wherein the detour packet stored in the queue includes:
a field for providing information on whether the packet is a detour packet;
a field for providing information on whether the packet is a final detour packet;
a field for providing information on which queue the packet comes from; and
a field for providing information of the packet processing apparatus which sets up the packet as the detour packet.
17. The apparatus as recited in claim 16 , wherein the packet scheduling means generates a queue lock release packet based on field information of the detour packet and transmits the queue lock release packet to the packet processing apparatus which transmits the detour packet.
18. The apparatus as recited in claim 17 , wherein the queue lock release packet includes:
a field for providing information of the packet processing apparatus that a locked queue exists;
a field for providing information showing that the packet is the queue lock release packet; and
a field for providing information of the locked queue.
19. The apparatus as recited in claim 16 , wherein the packet scheduling means removes the field of the detour packet and transmits only a pure IP packet to the packet processing means.
20. The apparatus as recited in claim 14 , wherein the normal packet of the packet selecting means includes:
a field for providing information showing that the packet is a normal packet;
a field for providing port number information that the packet us outputted; and
a field which includes an IP packet to be finally outputted,
wherein the packet selecting means transmits the IP packet of the normal packet to a queue connected to a port of the port number.
21. A packet processing method by making an inputted packet detour a packet processor into a detour path and processing the inputted packet in a packet processing means of another packet processing apparatus, which is a second packet processing apparatus, comprising:
a) classifying and storing the inputted packet in a multi-queue based on a priority;
b) determining a packet to be detoured among packets stored in the multi-queue and marking the packet as a detour packet; and
c) reading the packet determined as the detour packet out of the multi-queue and transmitting the detour packet to the second packet processing apparatus through the detour path.
22. The method as recited in claim 21 , wherein metadata are generated to mark the detour packet in the step b),
the metadata including:
a field for providing position information of the packet;
a field for providing information on whether the packet is a final detour packet;
a field for providing information on which queue the packet comes from; and
a field for providing information on which packet processing apparatus the packet is transmitted to.
23. The method as recited in claim 22 , wherein the detour packet is read out of the multi-queue based on the metadata and transmitted to the second packet processing apparatus through the detour path in the step c).
24. The method as recited in claim 21 , wherein a header is added to the detour packet and the detour packet is transmitted to the second packet processing apparatus through the detour path in the step c),
the header including:
a field for providing information on which packet processing apparatus the packet is transmitted to;
a field for providing information on whether the packet is a detour packet;
a field for providing information on whether the packet is a final detour packet;
a field for providing information on which queue the packet comes from; and
a field for providing information on the packet processing apparatus which sets up the packet as the detour packet.
25. The method as recited in claim 21 , wherein the step b) includes:
b1) transmitting a packet process rate information request packet to an external packet process rate storing means in order to acquire packet process rate information of the second packet processing apparatus; and
b2) determining a packet processing apparatus for receiving packet process rate information providing packet from the packet process rate storing means and transmitting the packet determined as the detour packet
26. The method as recited in claim 25 , wherein the packet process rate information request packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means;
a field for providing information showing that the packet requests the packet process rate information;
a field for providing information of the packet processing apparatus requesting the packet process rate information is for; and
a field for providing information on which packet processing apparatus the packet process rate information request is for.
27. The method as recited in claim 25 , wherein the packet process rate information providing packet includes:
a field for providing information of the packet processing apparatus to receive the packet process rate information;
a field for providing information showing that the packet provides the packet process rate information;
a field for providing information on which packet processing apparatus the packet process rate information is for; and
a field for providing packet process rate information of a requested packet processing apparatus.
28. The method as recited in claim 21 , further comprising:
d) registering the packet process rate information of the packet processing apparatus by transmitting a packet process rate registration packet to an external packet process rate storing means.
29. The method as recited in claim 28 , wherein the packet process rate registration packet includes:
a field for providing information showing that the packet should be transmitted to the packet process rate storing means;
a field for providing information showing that the packet registers a packet process rate;
a field for providing information on which packet processing apparatus the packet process rate is for; and
a field for providing information the packet process rate of the packet processing apparatus.
30. The method as recited in claim 21 , further comprising:
e) recording the number of packets to be detoured in the detour packet counter; and
f) reducing a counting number of the detour packet counter one by one whenever the detour packet is processed one by one.
31. The method as recited in claim 30 , further comprising:
g) processing all packets to be detoured and locking the queue.
32. A packet processing method for processing a packet transmitted from another packet processing apparatus, which is a second packet processing apparatus, comprising:
a) checking whether an inputted packet is a normal packet transmitted after being processed in the second packet processing apparatus or a detour packet transmitted without being processed, and dividing the packets into each path; and
b) processing the divided detour packets and outputting the detour packet as the normal packet.
33. The method as recited in claim 32 , wherein it is determined in the step a) whether the packet is a normal packet or a detour packet based on a Opcode of the packet transmitted from the second packet processing apparatus.
34. The method as recited in claim 32 , wherein the detour packet includes:
a field for providing information on whether the packet is a detour packet;
a field for providing information on whether the packet is a final detour packet;
a field for providing information on which queue the packet comes from; and
a field for providing information on the packet processing apparatus that sets up the packet as a detour packet.
35. The method as recited in claim 34 , further comprising:
c) generating a queue lock release packet based on the field information of the detour packet and transmitting the queue lock release packet to the packet processing apparatus which transmits the detour packet.
36. The method as recited in claim 35 , wherein the queue lock release packet includes:
a field for providing information of the packet processing apparatus having a locked queue;
a field for providing information showing that the packet is a queue lock release packet; and
a field for providing information of the locked queue.
37. The apparatus as recited in claim 32 , wherein the normal packet processed in and transmitted from the second packet processing apparatus includes:
a field for providing information showing that the packet is a normal packet;
a field for providing port number information that the packet is outputted; and
a field including an IP packet to be finally outputted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/345,618 US8477626B2 (en) | 2004-12-08 | 2008-12-29 | Packet processing apparatus for realizing wire-speed, and method thereof |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040103170 | 2004-12-08 | ||
KR10-2004-0103170 | 2004-12-08 | ||
KR1020050101668A KR100733989B1 (en) | 2004-12-08 | 2005-10-27 | Apparatus and Method for Accomplishing Wire-Speed Performance |
KR10-2005-0101668 | 2005-10-27 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/345,618 Division US8477626B2 (en) | 2004-12-08 | 2008-12-29 | Packet processing apparatus for realizing wire-speed, and method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060120381A1 true US20060120381A1 (en) | 2006-06-08 |
Family
ID=36574131
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/297,554 Abandoned US20060120381A1 (en) | 2004-12-08 | 2005-12-07 | Packet processing apparatus for realizing wire-speed, and method thereof |
US12/345,618 Expired - Fee Related US8477626B2 (en) | 2004-12-08 | 2008-12-29 | Packet processing apparatus for realizing wire-speed, and method thereof |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/345,618 Expired - Fee Related US8477626B2 (en) | 2004-12-08 | 2008-12-29 | Packet processing apparatus for realizing wire-speed, and method thereof |
Country Status (2)
Country | Link |
---|---|
US (2) | US20060120381A1 (en) |
KR (1) | KR100733989B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192764A1 (en) * | 2004-09-08 | 2008-08-14 | Hossein Arefi | COUNTER BASED QUALITY OF SERVICE (QoS) CLASS UPGRADE |
US9755910B1 (en) * | 2015-10-27 | 2017-09-05 | Netronome Systems, Inc. | Maintaining bypass packet count values |
US9755911B1 (en) * | 2015-10-27 | 2017-09-05 | Netronome Systems, Inc. | On-demand generation of system entry packet counts |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100733989B1 (en) * | 2004-12-08 | 2007-06-29 | 한국전자통신연구원 | Apparatus and Method for Accomplishing Wire-Speed Performance |
KR101666395B1 (en) | 2013-10-14 | 2016-10-14 | 한국전자통신연구원 | Priority based RTOS task scheduling method in multicore environment |
US10439930B2 (en) * | 2017-04-26 | 2019-10-08 | Futurewei Technologies, Inc. | Packet batch processing with graph-path based pre-classification |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4964119A (en) * | 1988-04-06 | 1990-10-16 | Hitachi, Ltd. | Method and system for packet exchange |
US5043981A (en) * | 1990-05-29 | 1991-08-27 | Advanced Micro Devices, Inc. | Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO |
US6128292A (en) * | 1996-12-05 | 2000-10-03 | Electronics And Telecommunications Research Institute | Packet switching apparatus with multi-channel and multi-cast switching functions and packet switching system using the same |
US6735679B1 (en) * | 1998-07-08 | 2004-05-11 | Broadcom Corporation | Apparatus and method for optimizing access to memory |
US20040095885A1 (en) * | 2002-11-15 | 2004-05-20 | Samsung Electronics Co., Ltd. | Priority queuing method and apparatus |
US6807175B1 (en) * | 2000-05-10 | 2004-10-19 | 3Com Corporation | Distributed multicast routing in packet-based communication network devices |
US20050213506A1 (en) * | 2004-03-29 | 2005-09-29 | Wakumoto Shaun K | Handling oversubscribed mesh ports with re-tagging |
US7120118B2 (en) * | 2001-10-18 | 2006-10-10 | Intel Corporation | Multi-path analysis for managing machine communications in a network |
US7200116B2 (en) * | 2001-02-23 | 2007-04-03 | Fujitsu Limited | Communication device and method, and system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021113A (en) * | 1997-10-29 | 2000-02-01 | Lucent Technologies Inc. | Distributed precomputation of network signal paths with table-based link capacity control |
KR100387772B1 (en) * | 2001-06-22 | 2003-06-18 | 기아자동차주식회사 | Apparatus for damping the reverse speed of wipers for vehicles |
KR100429542B1 (en) * | 2001-11-23 | 2004-04-29 | 삼성전자주식회사 | Method for analyzing real-time multimedia packets in an internet network |
US7346068B1 (en) * | 2002-12-13 | 2008-03-18 | Cisco Technology, Inc. | Traffic management scheme for crossbar switch |
KR100918733B1 (en) | 2003-01-30 | 2009-09-24 | 삼성전자주식회사 | Distributed router and method for dynamically managing forwarding information |
KR100733989B1 (en) * | 2004-12-08 | 2007-06-29 | 한국전자통신연구원 | Apparatus and Method for Accomplishing Wire-Speed Performance |
-
2005
- 2005-10-27 KR KR1020050101668A patent/KR100733989B1/en not_active IP Right Cessation
- 2005-12-07 US US11/297,554 patent/US20060120381A1/en not_active Abandoned
-
2008
- 2008-12-29 US US12/345,618 patent/US8477626B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4964119A (en) * | 1988-04-06 | 1990-10-16 | Hitachi, Ltd. | Method and system for packet exchange |
US5043981A (en) * | 1990-05-29 | 1991-08-27 | Advanced Micro Devices, Inc. | Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO |
US6128292A (en) * | 1996-12-05 | 2000-10-03 | Electronics And Telecommunications Research Institute | Packet switching apparatus with multi-channel and multi-cast switching functions and packet switching system using the same |
US6735679B1 (en) * | 1998-07-08 | 2004-05-11 | Broadcom Corporation | Apparatus and method for optimizing access to memory |
US7065050B1 (en) * | 1998-07-08 | 2006-06-20 | Broadcom Corporation | Apparatus and method for controlling data flow in a network switch |
US6807175B1 (en) * | 2000-05-10 | 2004-10-19 | 3Com Corporation | Distributed multicast routing in packet-based communication network devices |
US7200116B2 (en) * | 2001-02-23 | 2007-04-03 | Fujitsu Limited | Communication device and method, and system |
US7120118B2 (en) * | 2001-10-18 | 2006-10-10 | Intel Corporation | Multi-path analysis for managing machine communications in a network |
US20040095885A1 (en) * | 2002-11-15 | 2004-05-20 | Samsung Electronics Co., Ltd. | Priority queuing method and apparatus |
US20050213506A1 (en) * | 2004-03-29 | 2005-09-29 | Wakumoto Shaun K | Handling oversubscribed mesh ports with re-tagging |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192764A1 (en) * | 2004-09-08 | 2008-08-14 | Hossein Arefi | COUNTER BASED QUALITY OF SERVICE (QoS) CLASS UPGRADE |
US7724663B2 (en) * | 2004-09-08 | 2010-05-25 | Telefonaktiebolaget L M Ericsson (Publ) | Counter based quality of service (QoS) class upgrade |
US9755910B1 (en) * | 2015-10-27 | 2017-09-05 | Netronome Systems, Inc. | Maintaining bypass packet count values |
US9755911B1 (en) * | 2015-10-27 | 2017-09-05 | Netronome Systems, Inc. | On-demand generation of system entry packet counts |
Also Published As
Publication number | Publication date |
---|---|
KR100733989B1 (en) | 2007-06-29 |
US20090116504A1 (en) | 2009-05-07 |
KR20060064520A (en) | 2006-06-13 |
US8477626B2 (en) | 2013-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6882642B1 (en) | Method and apparatus for input rate regulation associated with a packet processing pipeline | |
US6934250B1 (en) | Method and apparatus for an output packet organizer | |
US6757249B1 (en) | Method and apparatus for output rate regulation and control associated with a packet pipeline | |
US8248930B2 (en) | Method and apparatus for a network queuing engine and congestion management gateway | |
US7742408B2 (en) | System and method for filtering packets in a switching environment | |
US7558270B1 (en) | Architecture for high speed class of service enabled linecard | |
US7843816B1 (en) | Systems and methods for limiting low priority traffic from blocking high priority traffic | |
US9077466B2 (en) | Methods and apparatus for transmission of groups of cells via a switch fabric | |
US7397809B2 (en) | Scheduling methods for combined unicast and multicast queuing | |
US7724663B2 (en) | Counter based quality of service (QoS) class upgrade | |
US7773622B2 (en) | Deferred queuing in a buffered switch | |
US9571403B2 (en) | Packet marking for flow management, including deadline aware flow management | |
US6839794B1 (en) | Method and system to map a service level associated with a packet to one of a number of data streams at an interconnect device | |
US9485200B2 (en) | Network switch with external buffering via looparound path | |
US8477626B2 (en) | Packet processing apparatus for realizing wire-speed, and method thereof | |
US8897292B2 (en) | Low pass filter for hierarchical pipelined distributed scheduling traffic manager | |
US10015112B2 (en) | Memory-efficient handling of multicast traffic | |
JP5034491B2 (en) | Priority bandwidth control method in switch | |
US7434043B2 (en) | Cryptography accelerator data routing unit | |
US7787469B2 (en) | System and method for provisioning a quality of service within a switch fabric | |
US20060104294A1 (en) | Router and method of managing packet queue using the same | |
US20030081623A1 (en) | Virtual queues in a single queue in the bandwidth management traffic-shaping cell | |
US8660001B2 (en) | Method and apparatus for providing per-subscriber-aware-flow QoS | |
EP1694002B1 (en) | Memory access in a shared memory switch | |
US10205805B2 (en) | Dropping or admitting packets to an output queue using policy-based scheduling and virtual destination queue occupancy values |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTIT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HAHM, JIN-HO;JUNG, HAE-WON;REEL/FRAME:017340/0075 Effective date: 20051201 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |