KR20030034871A - Apparatus and Method for Buffer Scheduling in Communication System - Google Patents

Apparatus and Method for Buffer Scheduling in Communication System Download PDF

Info

Publication number
KR20030034871A
KR20030034871A KR1020010066663A KR20010066663A KR20030034871A KR 20030034871 A KR20030034871 A KR 20030034871A KR 1020010066663 A KR1020010066663 A KR 1020010066663A KR 20010066663 A KR20010066663 A KR 20010066663A KR 20030034871 A KR20030034871 A KR 20030034871A
Authority
KR
South Korea
Prior art keywords
buffer
packet
buffers
flow
bandwidth
Prior art date
Application number
KR1020010066663A
Other languages
Korean (ko)
Inventor
황세진
Original Assignee
엘지전자 주식회사
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 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020010066663A priority Critical patent/KR20030034871A/en
Publication of KR20030034871A publication Critical patent/KR20030034871A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Abstract

PURPOSE: A device and a method for scheduling a buffer of a communication equipment are provided to first classify packets into 8 types in compliance with an aggregation based queuing system, and to check in which type of flow a corresponding packet is included on the basis of flow information defined by a user in compliance with a per-flow queuing system to transmit the packet. CONSTITUTION: A plurality of buffers receive and store only allocated class of packets among packets delivered through a plurality of input ports. A flow information part(35) stores flow information on each packet received from a user. A buffer scheduler(30) grasps the class of a packet read from the buffers in compliance with a round robin system, to check in which flow type the packet is included on the basis of the flow information stored in the flow information part(35), and transmits the packet on the basis of the checked flow type. And the buffer scheduler(30) manages information on the bandwidth for each buffer, the required bandwidth for each buffer, allowable loss rates for each required bandwidth, and minimum use rates for each buffer.

Description

통신 장비의 버퍼 스케쥴링 장치 및 방법{Apparatus and Method for Buffer Scheduling in Communication System}Apparatus and Method for Buffer Scheduling in Communication System

본 발명은 통신 장비의 버퍼 스케쥴링 장치 및 방법에 관한 것으로서, 특히 흐름 기반 방식과 통합 기반 방식을 모두 사용하여 버퍼를 관리할 수 있도록 하는 통신 장비의 버퍼 스케쥴링 장치 및 방법에 관한 것이다.The present invention relates to a buffer scheduling apparatus and method for communication equipment, and more particularly, to a buffer scheduling apparatus and method for communication equipment for managing a buffer using both flow-based and integration-based methods.

일반적으로 통신 장비(예를 들어, 라우터, 스위치 등)는 통신 장비에 접속되어 있는 여러 대의 단말기에게 일정 수준의 대역폭과 데이터 전송 속도를 보장해 주어야 하는 데, 전술한 바와 같이, 네트워크 사용자에게 일정 수준의 대역폭과 데이터 전송 속도를 보장해 주는 방법으로 흐름 기반 큐잉 방법(Per-Flow Queuing)과, 병합 기반 큐잉 방법(Aggregation Based Queuing)이 존재한다.In general, a communication device (eg, a router, a switch, etc.) should guarantee a certain level of bandwidth and data transmission rate to a plurality of terminals connected to the communication device. There are flow-based queuing methods (Per-Flow Queuing) and aggregation-based queuing methods (Aggregation Based Queuing) to ensure bandwidth and data transmission speed.

전술한, 흐름 기반 큐잉 방법은 도 1에 도시하는 바와 같이, 다수개의 버퍼로부터 가중된 라운드 로빈(Weighted Round-Robin) 방식에 따라 패킷을 입력받은 가중된 라운드 로빈 버퍼 스케쥴러(10)에서 입력된 패킷에 대해서 흐름 정보부(15)에 저장되어 있는 흐름 정보에 의거하여 해당 패킷이 어느 종류의 흐름에 속하는 지를 파악하고, 파악된 종류의 흐름에 따라 해당 패킷을 전송하게 된다.In the above-described flow-based queuing method, as shown in FIG. 1, a packet input from a weighted round robin buffer scheduler 10 that receives a packet according to a weighted round-robin method from a plurality of buffers. Based on the flow information stored in the flow information unit 15, the controller determines which type of flow the packet belongs to and transmits the packet according to the identified type of flow.

전술한, 다수개의 버퍼는 다수개의 입력 포트를 통해 들어온 패킷을 일시 저장하고, 가중된 라운드 로빈 버퍼 스케쥴러(10)는 흐름 정보부(15)에 저장되어 있는 흐름 정보에 의거하여 다수개의 버퍼에 쌓여있는 패킷 중에서 어느 것을 먼저 서비스, 즉 전달할 것인 가를 결정하고, 흐름 정보부(15)에는 사용자에 의해 정의된 흐름 정보, 즉, 어느 IP(Internet Protocol), UDP(User Datagram Protocol), TCP(Transmission Control Protocol)와 같은 어떤 프로토콜이 어떤 흐름에 해당하는 지와, 해당 흐름의 최대 대역폭들이 저장되어 있으며, 각 패킷의 도착 시간, 해당 패킷이 전달되어야 하는 시간 등등을 모두 저장하고 있다.The plurality of buffers described above temporarily store packets coming in through a plurality of input ports, and the weighted round robin buffer scheduler 10 is stacked in the plurality of buffers based on flow information stored in the flow information unit 15. Determining which of the packets is a service, i.e., forwarding first, the flow information unit 15 includes flow information defined by the user, i.e., which Internet Protocol (IP), User Datagram Protocol (UDP), and Transmission Control Protocol (TCP). Which protocol corresponds to which flow?), The maximum bandwidth of the flow is stored, and the arrival time of each packet, the time that the packet should be delivered, and so on.

여기서, 사용자가 흐름을 정의하는 방법은 각 개발 회사에 따라서 다를 수가있는 데, 100.100.100.1에서 100.100.100.254까지의 IP 주소를 갖는 패킷들은 모두 10Mbps의 대역폭으로 지원한다고 정의하는 경우에, 예를 들어, 'set flow ip 100.100.100.x 10mbps'와 같이 정의될 수 있다.Here, the method of defining a flow may be different for each development company. For example, if a packet having an IP address of 100.100.100.1 to 100.100.100.254 is defined as supporting a bandwidth of 10 Mbps, for example, , 'set flow ip 100.100.100.x 10mbps'.

전술한 바와 같이, 각각의 흐름에 대해서 현재의 요구 대역폭 등에 대한 기록을 수행하기 위해서는 패킷 간의 도착 시간 간격(Inter-Packet Arrival Time)이 유지되어야 한다.As described above, the Inter-Packet Arrival Time between packets should be maintained in order to record the current required bandwidth and the like for each flow.

이상에서 살펴본 바와 같이, 흐름 기반 큐잉 방법은 동일 서브넷(Subnet)이나 소규모의 로컬 하이 스피드 망에서 다수개의 서비스 종류를 갖거나 다양한 조직 체계를 갖는 경우에 매우 유용하며, 사용자 정의에 따라 트래픽을 세부적으로 제한할 수 있게 되어 사용자별로 차별화된 서비스를 제공할 수 있게 된다.As described above, the flow-based queuing method is very useful when there are multiple service types or various organization schemes in the same subnet or small local high speed network, and the traffic is detailed according to user definition. As a result, it is possible to provide a differentiated service for each user.

그러나, 전술한 흐름 기반 큐잉 방법을 구현하기 위해서는 유입되는 패킷에 대한 모든 정보를 빠른 시간 내에 파악하기 위한 고가의 고속 하드웨어가 사용되어 시스템의 가격을 상승시키는 문제점이 있다.However, in order to implement the above-described flow-based queuing method, expensive high-speed hardware for quickly grasping all the information on the incoming packet is used, thereby increasing the price of the system.

한편, 병합 기반 큐잉 방법은 도 2에 도시하는 바와 같이, 라운드 로빈 버퍼 스케쥴러(20)에서 8가지의 클래스로 구분된 다수개의 버퍼로부터 라운드 로빈 방식에 따라 패킷을 읽어오고, 해당 패킷을 읽어온 버퍼에 할당되어 있는 흐름의 종류에 의거하여 해당 패킷을 전송하게 된다.Meanwhile, in the merge-based queuing method, as shown in FIG. 2, the round robin buffer scheduler 20 reads packets from a plurality of buffers divided into eight classes according to the round robin method, and reads the packets. The packet is transmitted based on the type of flow assigned to.

좀 더 자세히 설명하면, 망의 경계 영역에 위치한 인그레스(Ingress) 시스템에서는 모든 패킷을 8가지의 클래스로 구분하여 패킷의 특정 필드(예를 들어, IP의 서비스 타입 필드)에 클래스 정보를 삽입시켜 전송하면, 다수개의 입력 포트를 인그레스 시스템으로부터 패킷을 입력받은 통신 장비에서는 입력받은 패킷의 특정 필드(예를 들어, IP의 서비스 타입 필드)에 포함되어 있는 클래스 정보와 동일한 클래스 정보에 할당되어 있는 버퍼에 저장하는 데, 버퍼는 패킷과 마찬가지로 8가지의 클래스로 구분되고, 8가지로 구분된 버퍼는 해당 클래스에 따라 흐름이 정해진다.More specifically, ingress system located in the boundary area of the network divides all packets into eight classes and inserts class information into a specific field of the packet (for example, the service type field of IP). When transmitting, a communication device that receives a plurality of input ports from the ingress system is assigned to the same class information as the class information contained in a specific field of the received packet (for example, the service type field of IP). Like the packet, the buffer is divided into 8 classes, and the 8 divided buffers are flowed according to the class.

예를 들어, 표 1에 나타내는 바와 같이, 클래스는 0부터 7까지 8가지로 구분되는 데, 클래스 0에 할당되어 있는 버퍼는 버퍼 0이고 대역폭은 10Kbps이며, 클래스 1에 할당되어 있는 버퍼는 버퍼 1이고 대역폭은 100Kbps이며, 클래스 2에 할당되어 있는 버퍼는 버퍼 2, 3이고 대역폭은 1Mbps라고 가정했을 때, 입력 포트를 통해 입력받은 패킷의 특정 필드에 포함되어 있는 데이터 값이 1인 경우에 해당 패킷은 버퍼 1에 쌓이게 되고, 버퍼 1에서 라운드 로빈 버퍼 스케쥴러(20)로 유입된 패킷은 100Kbps의 대역폭으로 전송된다.For example, as shown in Table 1, the class is divided into eight classes from 0 to 7, where the buffer assigned to class 0 is buffer 0, the bandwidth is 10 Kbps, and the buffer assigned to class 1 is buffer 1 And bandwidth is 100Kbps, the buffer allocated to class 2 is buffer 2 and 3, and the bandwidth is 1Mbps. If the data value included in the specific field of the packet received through the input port is 1, the corresponding packet is Is accumulated in the buffer 1, and the packet flowing into the round robin buffer scheduler 20 from the buffer 1 is transmitted with a bandwidth of 100 Kbps.

클래스class 할당버퍼Allocation buffer 대역폭Bandwidth 00 버퍼 0Buffer 0 10Kbps10 kbps 1One 버퍼 1Buffer 1 100Kbps100 kbps 22 버퍼 2, 3Buffer 2, 3 1Mbps1 Mbps :: :: :: 77 버퍼 14, 15, 16Buffer 14, 15, 16 50Mbps50 Mbps

전술한 바와 같은, 병합 기반 큐잉 방법은 WAN(Wide Area Network) 구간이나 서로 다른 서브넷들 간을 연결할 경우에 각 서브넷들 간의 정보를 모두 상세히 알기 힘든 경우에 매우 유용하다.As described above, the merging-based queuing method is very useful when it is difficult to know all the information between the subnets when connecting a wide area network (WAN) section or different subnets.

그러나, 전술한 병합 기반 큐잉 방법은 대역폭을 8가지로만 제한할 수 있으므로, 사용자별로 차별화된 서비스를 제공할 수 없게 되는 문제점이 있다.However, the aforementioned merging-based queuing method can limit the bandwidth to only eight, so there is a problem in that it is impossible to provide differentiated services for each user.

이상에서 살펴본 바와 같이, 흐름 기반 큐잉 방법과 병합 기반 큐잉 방법을 별도로 사용하는 경우에는, 시스템의 가격이 상승하거나, 사용자별로 차별화된 서비스를 제공하지 못하게 되는 문제점이 있다.As described above, when the flow-based queuing method and the merge-based queuing method are used separately, there is a problem in that the price of the system increases or the user cannot provide a differentiated service for each user.

이에 따라, 전술한 문제점을 해결하기 위해 종래에는 가중된 라운드 로빈 버퍼 스케쥴러에서 흐름 정보부에 저장되어 있는 흐름 정보에 의거하여 다수개의 버퍼에 쌓여있는 패킷 중에서 어느 것을 먼저 서비스할 것인 가를 정밀하게 구분한 후, 정밀하게 구분된 패킷들을 병합 기반 큐잉 방식에 따라 다시 8가지로 구분하고, 8가지 종류로 구분된 패킷들을 해당 종류의 흐름에 의거하여 전송하게 된다.Accordingly, in order to solve the above problem, the weighted round robin buffer scheduler accurately distinguishes which one of the packets accumulated in the plurality of buffers will be serviced first based on the flow information stored in the flow information unit. After that, the packets are classified into eight types according to the merge-based queuing method, and the packets divided into eight types are transmitted based on the flow of the corresponding type.

전술한 바와 같이, 흐름 기반 큐잉 방식을 기반으로 패킷을 정밀하게 구분하고, 정밀하게 구분된 패킷을 병합 기반 큐잉 방식으로 다시 합치는 방법은 고가의 고속 하드웨어를 사용해야 하므로 시스템의 가격을 상승시킬 뿐만 아니라, 흐름의 종류를 8가지로만 제한하여 제공하므로, 사용자별로 차별화된 서비스를 제공할 수 없게 되는 문제점이 있다.As described above, the method of precisely classifying packets based on the flow-based queuing method and recombining the finely divided packets into the merge-based queuing method not only increases the price of the system because expensive high-speed hardware is required. For example, since only 8 types of flows are provided and limited, there is a problem in that it is impossible to provide differentiated services for each user.

본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 우선적으로 병합 기반 큐잉 방식에 따라 패킷을 8가지로 구분하고, 구분된 패킷을 흐름 기반 큐잉 방식에 따라 사용자에 의해 정의된 흐름 정보에 의거하여 해당 패킷이 어느 종류의 흐름에 속하는 지를 파악하여 전송할 수 있도록 하는 통신 장비의 버퍼 스케쥴링 장치 및 방법을 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and first of all, the packet is classified into eight types according to the merge-based queuing method, and the divided packets are classified based on flow information defined by the user according to the flow-based queuing method. It is an object of the present invention to provide an apparatus and method for scheduling buffers in communication equipment to identify and transmit which kind of flow the packet belongs to.

도 1은 흐름 기반 큐잉 방법을 설명하기 위한 도.1 is a diagram for explaining a flow-based queuing method.

도 2는 병합 기반 큐잉 방법을 설명하기 위한 도.2 is a diagram for explaining a merge-based queuing method.

도 3은 본 발명에 따른 통신 장비의 버퍼 스케쥴링 장치의 구성을 보인 도.3 is a diagram showing the configuration of a buffer scheduling apparatus for communication equipment according to the present invention;

도 4는 본 발명에 따른 통신 장비의 버퍼 스케쥴링 방법을 설명하기 위한 플로우챠트.4 is a flowchart for explaining a buffer scheduling method of communication equipment according to the present invention;

*** 도면의 주요 부분에 대한 부호의 설명 ****** Explanation of symbols for the main parts of the drawing ***

30. 라운드 로빈 버퍼 스케쥴러,35. 흐름 정보부30. Round Robin Buffer Scheduler, 35. Flow information

전술한 목적을 달성하기 위한 본 발명에 따른 통신 장비의 버퍼 스케쥴링 장치는, 다수개의 입력 포트를 통해 들어온 패킷 중에서 자신에게 할당된 클래스의 패킷만을 입력받아 저장하는 다수개의 버퍼와; 사용자로부터 입력받은 각각의 패킷에 대한 흐름 정보를 저장하는 흐름 정보부와; 라운드 로빈 방식에 따라 상기 버퍼로부터 읽어온 패킷의 클래스를 파악하고, 상기 흐름 정보부에 저장되어 있는 흐름 정보에 의거하여 상기 패킷이 어느 종류의 흐름에 속하는 지를 파악하며, 파악된 흐름의 종류에 의거하여 해당 패킷 전송하는 버퍼 스케쥴러를 구비하여 이루어진다.According to an aspect of the present invention, there is provided a buffer scheduling apparatus for a communication device, including: a plurality of buffers configured to receive and store only packets of a class assigned to the packet among packets received through a plurality of input ports; A flow information unit for storing flow information on each packet received from the user; Grasping the class of the packet read from the buffer according to the round robin method, and identifying what kind of flow the packet belongs to based on the flow information stored in the flow information unit, and based on the type of the identified flow A buffer scheduler for transmitting the packet is provided.

여기서, 상기 버퍼 스케쥴러는, 상기 각 버퍼들에 대한 대역폭 정보와, 상기 각 버퍼들에 대한 요구 대역폭 정보와, 상기 각 요구 대역폭의 허용 손실율과, 상기 각 버퍼들에 대한 최소 사용율에 대한 정보를 관리하는 것을 특징으로 한다.Here, the buffer scheduler manages bandwidth information for each buffer, request bandwidth information for each buffer, allowable loss rate of each request bandwidth, and information on minimum utilization rate for each buffer. Characterized in that.

한편, 본 발명에 따른 통신 장비의 버퍼 스케쥴링 방법은, 다수개의 버퍼로부터 라운드 로빈 방식으로 패킷을 읽어오고, 패킷을 읽어온 버퍼가 어느 클래스에 속하는 지를 파악하여, 상기 패킷이 속한 클래스를 파악하는 과정과; 상기 클래스가 파악된 패킷을 흐름 정보부에 저장되어 있는 흐름 정보에 의거하여 상기 패킷에 할당되어 있는 대역폭을 파악하고, 파악된 대역폭에 의거하여 상기 패킷을 전송하는 과정과; 라운드 로빈 방식으로 상기 각 버퍼의 버퍼 사용율과 패킷 손실율을 주기적으로 파악하고, 상기 파악된 버퍼 사용율과 패킷 손실율에 의거하여 버퍼를 분리 또는 병합시키는 과정을 포함하여 이루어진다.On the other hand, the buffer scheduling method of a communication device according to the present invention, the process of reading a packet from a plurality of buffers in a round robin manner, to determine which class the buffer read the packet belongs to, the class to which the packet belongs and; Determining the bandwidth allocated to the packet based on the flow information stored in the flow information unit, and transmitting the packet based on the identified bandwidth; The method may include periodically identifying a buffer usage rate and a packet loss rate of each buffer in a round robin manner, and separating or merging buffers based on the identified buffer usage rate and packet loss rate.

여기서, 상기 버퍼를 분리 또는 병합시키는 과정은, 상기 파악된 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 지를 판단하는 과정과; 상기 판단결과 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 경우에는, 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아진 버퍼들을 병합하는 과정과; 상기 각 버퍼들에 대한 대역폭 정보에 의거하여 상기 병합된 버퍼들의 대역폭 중에서 가장 낮은 대역폭으로 QoS 조건을 설정하는 과정과; 상기 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아지는 지를 판단하는 과정과; 상기 판단결과 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아지는 경우에는, 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아진 버퍼들을 분리하는 과정과; 상기 각 버퍼들에 대한 대역폭 정보에 의거하여 상기 분리된 버퍼들의 대역폭 중에서 중간 값의 대역폭으로 QoS 조건을 설정하는 과정으로 이루어지는 것을 특징으로 한다.The separating or merging of the buffers may include determining whether the determined buffer utilization rate is lower than the minimum threshold or the packet loss rate is higher than the maximum threshold; Merging buffers whose buffer usage rate is lower than the minimum threshold or whose packet loss rate is higher than the maximum threshold when the buffer usage rate is lower than the minimum threshold or the packet loss rate is higher than the maximum threshold as a result of the determination; Setting a QoS condition to a lowest bandwidth among bandwidths of the merged buffers based on bandwidth information on each of the buffers; Determining whether the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold; If the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold, determining whether the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold; The QoS condition is set to a bandwidth having an intermediate value among the bandwidths of the separated buffers based on the bandwidth information of each of the buffers.

이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 통신 장비의 버퍼 스케쥴링 장치 및 방법에 대해서 상세하게 설명한다.Hereinafter, a buffer scheduling apparatus and method of a communication device according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings.

우선, 본 발명에 따른 통신 장비의 버퍼 스케쥴링 장치 및 방법을 설명하기에 앞서, 본 발명은 고속의 칩 형태로 구현되는 통신 칩(예를 들어, 계층 3 스위칭칩 등)에 하드웨어로 구현 가능한 것으로, 본 발명이 적용되는 대상 시스템은 VLSI(Very Large Scale Integration) 칩 형태로 구현되는 하드웨어를 대상으로 한다.First, prior to explaining the buffer scheduling apparatus and method of the communication equipment according to the present invention, the present invention is a hardware that can be implemented in a communication chip (for example, layer 3 switching chip, etc.) implemented in the form of a high-speed chip, The target system to which the present invention is applied targets hardware implemented in the form of a Very Large Scale Integration (VLSI) chip.

그리고, 본 발명에 적용되는 입력 포트의 종류는 모두 단일(Homogeneous)한 것으로 각각의 입력 포트가 서로 다른 인터페이스 종류를 갖는 경우는 고려하지 않으며, 버퍼는 실제 하드웨어로는 SDRAM(Synchronous DRAM), SRAM(Static Random Access Memory) 또는 가격이 낮은 DRAM(Dynamic Random Access Memory) 내에 구현될 수 있고, 입력 포트는 하드웨어와는 별도로 또는 하나의 VLSI 내에 구현되는 것을 가정한다.In addition, the types of input ports applied to the present invention are all homogeneous and do not consider a case in which each input port has a different interface type, and the buffer may be SDRAM (Synchronous DRAM) or SRAM ( It can be implemented in static random access memory (DRAM) or low cost dynamic random access memory (DRAM), and it is assumed that the input port is implemented separately from hardware or in one VLSI.

그리고, 본 발명에서는 입력 포트에서 버퍼로 패킷이 매핑되는 매핑 관계에 대해서는 언급하지 않는다.In addition, the present invention does not mention a mapping relationship in which packets are mapped from an input port to a buffer.

도 3은 본 발명에 따른 통신 장비의 버퍼 스케쥴링 장치를 나타내는 도로, 다수개의 버퍼와, 라운드 로빈 버퍼 스케쥴러(30)와, 흐름 정보부(35)를 구비하여 이루어진다.3 is a road showing a buffer scheduling apparatus of a communication device according to the present invention, comprising a plurality of buffers, a round robin buffer scheduler 30 and a flow information unit 35.

이와 같은 구성에 있어서, 다수개의 버퍼는 8가지의 클래스로 구분되어, 다수개의 입력 포트를 통해 들어온 패킷 중에서 자신에게 할당된 클래스의 패킷만을 입력받아 일시 저장한다.In such a configuration, the plurality of buffers are divided into eight classes, and receive and temporarily store only packets of a class assigned to the packet among the packets coming in through the plurality of input ports.

라운드 로빈 버퍼 스케쥴러(30)는 다수개의 버퍼를 모두 제어하여 라운드 로빈 방식에 따라 다수개의 버퍼로부터 패킷을 읽어오고, 패킷을 읽어온 버퍼가 속한 클래스를 파악하고, 흐름 정보부(35)에 저장되어 있는 흐름 정보(IP 주소와 포트또는 프로토콜의 종류에 따른 흐름의 종류)에 의거하여 해당 패킷이 어느 종류의 흐름에 속하는 지를 좀더 세부적으로 파악하고, 파악된 흐름의 종류에 의거하여 해당 패킷을 전송하게 된다.The round robin buffer scheduler 30 controls all of the plurality of buffers, reads packets from the plurality of buffers according to the round robin method, grasps the class to which the buffer read the packet belongs, and is stored in the flow information unit 35. Based on the flow information (type of flow according to the type of IP address and port or protocol), it is more detailed to identify which kind of flow the packet belongs to, and transmits the packet based on the identified flow type. .

앞서 설명한 바와 같이, 라운드 로빈 버퍼 스케쥴러(30)는 패킷을 읽어온 버퍼가 속한 클래스를 파악하기 위해 각 버퍼가 8개의 클래스 중에서 어디에 해당하는 지에 대한 정보를 저장하고 있으며, 8개의 클래스 중에서 하나로 분류된 패킷을 흐름 정보부(35)에 저장되어 있는 흐름 정보(IP 주소와 포트 또는 프로토콜의 종류에 따른 흐름의 종류)에 의거하여 해당 패킷이 어느 종류의 흐름에 속하는 지를 좀더 세부적으로 파악하고, 파악된 흐름의 종류에 의거하여 해당 패킷을 전송하게 된다.As described above, the round robin buffer scheduler 30 stores information on where each buffer corresponds to among the eight classes to identify the class to which the buffer read the packet belongs, and is classified into one of the eight classes. Based on the flow information (type of flow according to the type of IP address and port or protocol) stored in the flow information unit 35, the packet is further identified in which kind of flow the packet belongs to, and the identified flow The packet is transmitted based on the type of.

그리고, 라운드 로빈 버퍼 스케쥴러(30)는 각각의 버퍼들에 대한 대역폭 정보와, 각 버퍼들에 대한 요구 대역폭 정보와, 요구 대역폭의 가능한 허용 손실율과, 각 버퍼들에 대한 최소 사용율에 대한 정보를 저장하고 있다. 그리고, 라운드 로빈 버퍼 스케쥴러(30)는 라운드 로빈 방식으로 각 버퍼에서 패킷의 손실이 발생하는 지, 각 버퍼의 사용율이 어느 정도가 되는 지를 주기적으로 기록하고 있다가 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 버퍼들을 병합하고, 다시 버퍼들을 스케쥴링한다. 그리고, 버퍼들 간의 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치 이하로 낮아지는 경우에는 이들 버퍼를 다시 분리하고, 다시 버퍼들을 스케쥴링한다.The round robin buffer scheduler 30 stores the bandwidth information for each buffer, the required bandwidth information for each buffer, the possible allowable loss rate of the required bandwidth, and the information about the minimum utilization rate for each buffer. Doing. In addition, the round robin buffer scheduler 30 periodically records whether a packet loss occurs in each buffer in a round robin manner, and how much of each buffer is used, and the buffer utilization becomes lower than the minimum threshold or the packet. Merges the buffers whose loss rate is above the maximum threshold and schedules the buffers again. When buffer utilization between the buffers is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold, these buffers are separated again, and the buffers are scheduled again.

흐름 정보부(35)는 사용자가 정의한 각각의 패킷에 대한 흐름 정보(IP 주소와 포트 또는 프로토콜의 종류에 따른 흐름의 종류)를 저장한다.The flow information unit 35 stores flow information (type of flow according to the type of IP address and port or protocol) for each packet defined by the user.

도 4는 본 발명에 따른 통신 장비의 버퍼 스케쥴링 방법을 설명하기 위한 플로우챠트이다.4 is a flowchart illustrating a buffer scheduling method of communication equipment according to the present invention.

우선, 라운드 로빈 버퍼 스케쥴러(30)는 병합 기반 큐잉 방식에 따라 다수개의 버퍼로부터 라운드 로빈 방식으로 패킷을 읽어오고, 패킷을 읽어온 버퍼가 어느 클래스에 속하는 지를 파악하고, 클래스가 파악된 패킷을 흐름 기반 큐잉 방식에 따라 흐름 정보부(35)에 저장되어 있는 흐름 정보(IP 주소와 포트 또는 프로토콜의 종류에 따른 흐름의 종류)에 의거하여 해당 패킷의 대역폭을 파악하고, 파악된 대역폭에 의거하여 해당 패킷을 전송하게 된다(S10, S12, S14, S16).First, the round robin buffer scheduler 30 reads a packet from a plurality of buffers in a round robin manner according to a merge-based queuing method, determines which class the buffer reads the packet belongs to, and flows the packet whose class is identified. Based on the flow information stored in the flow information unit 35 according to the based queuing method (type of flow according to the type of IP address and port or protocol), the bandwidth of the packet is determined, and the packet is determined based on the identified bandwidth. (S10, S12, S14, S16).

이와 동시에, 라운드 로빈 버퍼 스케쥴러(30)는 라운드 로빈 방식으로 각각의 버퍼에서 발생한 패킷 손실율과, 각 버퍼의 버퍼 사용율이 어느 정도가 되는 지를 주기적으로 기록하여, 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 지를 판단한다(S18, S20).At the same time, the round robin buffer scheduler 30 periodically records the packet loss rate generated in each buffer and the buffer utilization rate of each buffer in a round robin manner, so that the buffer utilization rate becomes lower than the minimum threshold or the packet loss rate. It is determined whether it is higher than this maximum threshold (S18, S20).

상기한 과정 S20의 판단결과 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 경우에는, 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아진 버퍼들을 병합하고, 각 버퍼들에 대한 대역폭 정보에 의거하여 병합된 버퍼들의 대역폭 중에서 가장 낮은 대역폭으로 QoS(Quality of Service) 조건을 설정한다(S22, S24).As a result of the determination of step S20, when the buffer utilization becomes lower than the minimum threshold or the packet loss rate becomes higher than the maximum threshold, the buffers whose buffer utilization becomes lower than the minimum threshold or the packet loss rate becomes higher than the maximum threshold are merged, and for each buffer, Based on the bandwidth information, the QoS (Quality of Service) condition is set to the lowest of the bandwidths of the merged buffers (S22 and S24).

상기한 과정 S22에서 병합되는 버퍼의 수는 분리된 버퍼가 병합되는 경우에는 분리된 버퍼의 수와 동일하고, 분리되지 않은 버퍼가 병합되는 경우에는 사용자에 의해 기설정된 개수에 의거하여 병합되며, 같은 클래스에 속한 버퍼들끼리만 병합될 수 있다.The number of buffers to be merged in the above-described process S22 is the same as the number of the divided buffers when the separated buffers are merged, and when the non-separated buffers are merged, they are merged based on the number preset by the user. Only buffers belonging to the class can be merged.

이후, 버퍼의 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아지는 지를 판단한다(S26).Thereafter, it is determined whether the buffer utilization rate of the buffer is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold (S26).

상기한 과정 S26의 판단결과 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아지는 경우에는, 해당 버퍼를 다시 분리하고, 각 버퍼들에 대한 대역폭 정보에 의거하여 분리된 버퍼들의 대역폭 중에서 중간 값의 대역폭으로 QoS 조건을 설정한다(S28, S30).As a result of the determination in step S26, when the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold, the buffer is separated again, and the middle of the bandwidths of the buffers separated based on the bandwidth information for each buffer are obtained. QoS conditions are set with the bandwidth of the values (S28, S30).

상기한 과정 S28에서 분리되는 버퍼의 수는 병합된 버퍼가 분리되는 경우에는 병합된 버퍼의 수와 동일하고, 병합되지 않은 버퍼가 분리되는 경우에는 사용자에 의해 기설정된 개수에 의거하여 분리될 수 있다. 예를 들어, 3개의 버퍼가 병합된 버퍼가 분리되는 경우에 해당 버퍼는 3개로 분리될 수 있다.The number of buffers to be separated in the above process S28 is the same as the number of merged buffers when the merged buffers are separated, and may be separated based on a number preset by the user when the non-merged buffers are separated. . For example, when three buffers are merged, the buffers may be divided into three.

본 발명의 통신 장비의 버퍼 스케쥴링 장치 및 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.The buffer scheduling apparatus and method of the communication device of the present invention are not limited to the above-described embodiments, and various modifications can be made within the scope of the technical idea of the present invention.

이상에서 설명한 바와 같은 본 발명의 통신 장비의 버퍼 스케쥴링 장치 및 방법에 따르면, 우선적으로 병합 기반 큐잉 방식에 따라 패킷을 8가지로 구분하고, 구분된 패킷을 흐름 기반 큐잉 방식에 따라 사용자에 의해 정의된 흐름 정보(IP 주소, 포트 또는 프로토콜 종류에 따른 흐름의 종류)에 의거하여 해당 패킷이 어느 종류의 흐름에 속하는 지를 좀더 세부적으로 파악하여 전송함으로써, 종래와 같이 패킷의 도착 시간, 전달되어야 하는 시간 등을 파악하지 않아도 되므로, 고속 하드웨어가 필요치 않게 되어 시스템의 가격이 낮아지게 되고, 8가지로 구분된 패킷을 흐름 정보에 의거하여 좀더 세부적으로 나눔으로써, 병합 기반 큐잉 방식만을 사용할 때 보다는 정밀도를 높일 수 있게 된다.According to the buffer scheduling apparatus and method of the present invention as described above, the packet is first divided into eight types according to the merge-based queuing method, and the divided packets are defined by the user according to the flow-based queuing method. Based on flow information (type of flow according to IP address, port, or protocol type), the packet is more specifically identified and transmitted according to what kind of flow the packet belongs to. Since high-speed hardware is not required, the system price is lowered, and the packet is divided into 8 parts based on flow information, thereby increasing the precision than using only the merge-based queuing method. Will be.

그리고, 버퍼를 동적으로 병합/분리하여 과리함으로써, 혼잡이 심한 망에 대해서 어느 정도의 반응도를 갖는 망을 구성할 수 있게 된다.By dynamically merging / isolating the buffers and separating them, it is possible to construct a network having a certain degree of responsiveness to a congested network.

Claims (4)

다수개의 입력 포트를 통해 들어온 패킷 중에서 자신에게 할당된 클래스의 패킷만을 입력받아 저장하는 다수개의 버퍼와;A plurality of buffers for receiving and storing only packets of a class assigned to the packets among packets received through the plurality of input ports; 사용자로부터 입력받은 각각의 패킷에 대한 흐름 정보를 저장하는 흐름 정보부와;A flow information unit for storing flow information on each packet received from the user; 라운드 로빈 방식에 따라 상기 버퍼로부터 읽어온 패킷의 클래스를 파악하고, 상기 흐름 정보부에 저장되어 있는 흐름 정보에 의거하여 상기 패킷이 어느 종류의 흐름에 속하는 지를 파악하며, 파악된 흐름의 종류에 의거하여 해당 패킷 전송하는 버퍼 스케쥴러를 구비하여 이루어지는 통신 장비의 버퍼 스케쥴링 장치.Grasping the class of the packet read from the buffer according to the round robin method, and identifying what kind of flow the packet belongs to based on the flow information stored in the flow information unit, and based on the type of the identified flow A buffer scheduling apparatus for communication equipment, comprising a buffer scheduler for transmitting the packet. 제 1항에 있어서, 상기 버퍼 스케쥴러는,The method of claim 1, wherein the buffer scheduler, 상기 각 버퍼들에 대한 대역폭 정보와,Bandwidth information for each of the buffers, 상기 각 버퍼들에 대한 요구 대역폭 정보와,Required bandwidth information for each of the buffers, 상기 각 요구 대역폭의 허용 손실율과,Allowable loss rate of each of the required bandwidths 상기 각 버퍼들에 대한 최소 사용율에 대한 정보를 관리하는 것을 특징으로 하는 통신 장비의 버퍼 스케쥴링 장치.The buffer scheduling apparatus of the communication equipment, characterized in that for managing information about the minimum utilization rate for each of the buffers. 다수개의 버퍼로부터 라운드 로빈 방식으로 패킷을 읽어오고, 패킷을 읽어온 버퍼가 어느 클래스에 속하는 지를 파악하여, 상기 패킷이 속한 클래스를 파악하는과정과;Reading a packet from a plurality of buffers in a round robin manner, identifying which class the buffer reads the packet belongs to, and identifying the class to which the packet belongs; 상기 클래스가 파악된 패킷을 흐름 정보부에 저장되어 있는 흐름 정보에 의거하여 상기 패킷에 할당되어 있는 대역폭을 파악하고, 파악된 대역폭에 의거하여 상기 패킷을 전송하는 과정과;Determining the bandwidth allocated to the packet based on the flow information stored in the flow information unit, and transmitting the packet based on the identified bandwidth; 라운드 로빈 방식으로 상기 각 버퍼의 버퍼 사용율과 패킷 손실율을 주기적으로 파악하고, 상기 파악된 버퍼 사용율과 패킷 손실율에 의거하여 버퍼를 분리 또는 병합시키는 과정을 포함하여 이루어지는 통신 장비의 버퍼 스케쥴링 방법.And periodically identifying a buffer usage rate and a packet loss rate of each buffer in a round robin manner, and separating or merging the buffers based on the identified buffer usage rate and the packet loss rate. 제 3항에 있어서, 상기 버퍼를 분리 또는 병합시키는 과정은,The method of claim 3, wherein the separating or merging of the buffers comprises: 상기 파악된 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 지를 판단하는 과정과;Determining whether the determined buffer utilization rate is lower than the minimum threshold or the packet loss rate is higher than the maximum threshold; 상기 판단결과 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아지는 경우에는, 버퍼 사용율이 최소 임계치보다 낮아지거나 패킷 손실율이 최대 임계치보다 높아진 버퍼들을 병합하는 과정과;Merging buffers whose buffer usage rate is lower than the minimum threshold or whose packet loss rate is higher than the maximum threshold when the buffer usage rate is lower than the minimum threshold or the packet loss rate is higher than the maximum threshold as a result of the determination; 상기 각 버퍼들에 대한 대역폭 정보에 의거하여 상기 병합된 버퍼들의 대역폭 중에서 가장 낮은 대역폭으로 QoS 조건을 설정하는 과정과;Setting a QoS condition to a lowest bandwidth among bandwidths of the merged buffers based on bandwidth information on each of the buffers; 상기 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아지는 지를 판단하는 과정과;Determining whether the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold; 상기 판단결과 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아지는 경우에는, 버퍼 사용율이 최대 임계치보다 높아지거나 패킷 손실율이 최소 임계치보다 낮아진 버퍼들을 분리하는 과정과;If the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold, determining whether the buffer usage rate is higher than the maximum threshold or the packet loss rate is lower than the minimum threshold; 상기 각 버퍼들에 대한 대역폭 정보에 의거하여 상기 분리된 버퍼들의 대역폭 중에서 중간 값의 대역폭으로 QoS 조건을 설정하는 과정으로 이루어지는 것을 특징으로 하는 통신 장비의 버퍼 스케쥴링 방법.And setting a QoS condition to an intermediate bandwidth among the bandwidths of the separated buffers based on the bandwidth information of each of the buffers.
KR1020010066663A 2001-10-29 2001-10-29 Apparatus and Method for Buffer Scheduling in Communication System KR20030034871A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010066663A KR20030034871A (en) 2001-10-29 2001-10-29 Apparatus and Method for Buffer Scheduling in Communication System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010066663A KR20030034871A (en) 2001-10-29 2001-10-29 Apparatus and Method for Buffer Scheduling in Communication System

Publications (1)

Publication Number Publication Date
KR20030034871A true KR20030034871A (en) 2003-05-09

Family

ID=29566750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010066663A KR20030034871A (en) 2001-10-29 2001-10-29 Apparatus and Method for Buffer Scheduling in Communication System

Country Status (1)

Country Link
KR (1) KR20030034871A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100447395B1 (en) * 2001-12-22 2004-09-04 엘지전자 주식회사 Round robin scheduler for memory access control
KR100472416B1 (en) * 2002-11-01 2005-03-11 삼성전자주식회사 Device and Method for Controlling Packet Flow
KR100541987B1 (en) * 2003-06-30 2006-01-10 삼성전자주식회사 Apparatus for transmitting a packet according to priority order, and method using the same
KR101138105B1 (en) * 2005-04-29 2012-04-24 포항공과대학교 산학협력단 Scheduler and method for uplink scheduling of subscriber station in broadband wireless access system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100447395B1 (en) * 2001-12-22 2004-09-04 엘지전자 주식회사 Round robin scheduler for memory access control
KR100472416B1 (en) * 2002-11-01 2005-03-11 삼성전자주식회사 Device and Method for Controlling Packet Flow
KR100541987B1 (en) * 2003-06-30 2006-01-10 삼성전자주식회사 Apparatus for transmitting a packet according to priority order, and method using the same
KR101138105B1 (en) * 2005-04-29 2012-04-24 포항공과대학교 산학협력단 Scheduler and method for uplink scheduling of subscriber station in broadband wireless access system

Similar Documents

Publication Publication Date Title
US7020143B2 (en) System for and method of differentiated queuing in a routing system
JP3386117B2 (en) Multilayer class identification communication device and communication device
US7010611B1 (en) Bandwidth management system with multiple processing engines
US8184540B1 (en) Packet lifetime-based memory allocation
US9185015B2 (en) Application aware elephant flow identification
US7936770B1 (en) Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
US20090292575A1 (en) Coalescence of Disparate Quality of Service Matrics Via Programmable Mechanism
US20140237118A1 (en) Application Aware Elephant Flow Management
EP1187404A2 (en) Adaptive-weighted packet scheduler for supporting premium service in a communications network
US11595315B2 (en) Quality of service in virtual service networks
JP2005513917A (en) Method for transmitting data of applications having different qualities
US6636509B1 (en) Hardware TOS remapping based on source autonomous system identifier
US8547846B1 (en) Method and apparatus providing precedence drop quality of service (PDQoS) with class-based latency differentiation
Homg et al. An adaptive approach to weighted fair queue with QoS enhanced on IP network
US8625605B2 (en) Non-uniform per-packet priority marker for use with adaptive protocols
US7848239B2 (en) Network system capable of dynamically controlling data flow and its method
US20050068798A1 (en) Committed access rate (CAR) system architecture
CN111052689A (en) Hybrid packet memory for buffering packets in a network device
US8203956B1 (en) Method and apparatus providing a precedence drop quality of service (PDQoS)
US20040064582A1 (en) Apparatus and method for enabling intserv quality of service using diffserv building blocks
US7016302B1 (en) Apparatus and method for controlling queuing of data at a node on a network
KR20030034871A (en) Apparatus and Method for Buffer Scheduling in Communication System
KR20050061226A (en) Scheduling method and apparatus in dynamic multiplex channel network
KR100615850B1 (en) Open interface from ingress port to egress port in router and Method thereof for differentiated service in open network
KR20010038486A (en) Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination