KR20090053180A - Queuing method by virtual clock, and scheduling apparatus and method using that - Google Patents
Queuing method by virtual clock, and scheduling apparatus and method using that Download PDFInfo
- Publication number
- KR20090053180A KR20090053180A KR1020070119876A KR20070119876A KR20090053180A KR 20090053180 A KR20090053180 A KR 20090053180A KR 1020070119876 A KR1020070119876 A KR 1020070119876A KR 20070119876 A KR20070119876 A KR 20070119876A KR 20090053180 A KR20090053180 A KR 20090053180A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- virtual time
- time
- queuing
- current
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- 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
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3045—Virtual queuing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 비실시간 트래픽에 대해 패킷 도착률(특히, 패킷의 평균도착률)과 가상시간을 이용하여 큐잉하고 스케줄링함으로써, 패킷의 폐기를 최소화하고 비실시간 트래픽의 QoS(Quality of Service)를 보장하기 위한, 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 한다.
이를 위하여, 본 발명은 스케줄링 장치에 있어서, 비실시간 트래픽을 패킷 도착률에 따라 분류하기 위한 패킷 분류 수단; 상기 패킷 분류 수단에서 분류된 트래픽별로 패킷 도착률에 따라 가상시간을 적용하기 위한 가상시간 적용 수단; 상기 가상시간 적용 수단에서 가상시간이 적용된 패킷에 대하여 가상시간을 기반으로 큐잉 정책을 조절하기 위한 큐잉 수단; 및 상기 큐잉 수단에 의해 큐잉된 패킷을 가상시간을 기반으로 스케줄링하기 위한 가상시간 스케줄링 수단을 포함한다.
큐잉, 스케줄링, 비실시간 트래픽, 패킷 도착률(패킷의 평균도착률), 가상시간, 보조 가상시간, 위험 구간
The present invention relates to a queuing method, a scheduling apparatus using the same, and a computer readable recording medium having recorded thereon a program for realizing the method, and the packet arrival rate (especially, the average arrival rate of packets) for non-real time traffic. Queuing using virtual time, a scheduling apparatus using the same, and a method thereof, and each of the above methods for queuing and scheduling by using a virtual time and a virtual time to minimize packet discard and to guarantee quality of service (QoS) of non-real-time traffic. To provide a computer readable recording medium having recorded thereon a program for realizing this.
To this end, the present invention provides a scheduling apparatus comprising: packet classification means for classifying non-real-time traffic according to a packet arrival rate; Virtual time applying means for applying a virtual time according to the packet arrival rate for each traffic classified by the packet classification means; Queuing means for adjusting a queuing policy based on a virtual time for the packet to which the virtual time is applied in the virtual time applying means; And virtual time scheduling means for scheduling the packet queued by the queuing means based on the virtual time.
Queuing, scheduling, non-real-time traffic, packet arrival rate (packet average arrival rate), virtual time, secondary virtual time, critical interval
Description
본 발명은 동기식 이더넷(Residential Ethernet) 등에서 단말기 등으로부터 입력되는 비실시간 트래픽을 분류하고 상기 분류된 비실시간 트래픽을 큐잉하고 스케줄링하기 위한, 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 동기식 이더넷 등에서 주어진 전송 사이클 중에 단말기 등으로부터 입력되는 트래픽을 분류하여 실시간 트래픽인 경우에는 공지의 예약 방식을 통하여 대역폭을 확보하고, 남은 대역폭에서 비실시간 트래픽에 관해 패킷 도착률(특히, 패킷의 평균도착률)과 가상시간을 이용하여 큐잉하고 스케줄링함으로써, 패킷의 폐기를 최소화하고 비실시간 트래픽의 QoS를 보장하기 위한, 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention implements a queuing method, a scheduling apparatus using the same, a method thereof, and each method for classifying non-real-time traffic inputted from a terminal or the like in a synchronous Ethernet, etc., and for queuing and scheduling the classified non-real-time traffic. The present invention relates to a computer-readable recording medium that records a program to be programmed. More specifically, the synchronous Ethernet classifies traffic inputted from a terminal during a given transmission cycle, and secures bandwidth through a known reservation method for real-time traffic. And queuing and scheduling the packet arrival rate (particularly, the average arrival rate of the packet) and the virtual time for the non-real-time traffic in the remaining bandwidth, thereby minimizing packet discard and guaranteeing QoS of the non-real-time traffic. Queuing method Using the present invention relates to a computer-readable recording medium recording a program for realizing a scheduling apparatus and method and the respective methods.
이하의 일실시예에서는 본 발명이 이더넷 환경에서 실시간성 트래픽과 비실시간성 트래픽을 다루는 동기식 이더넷(Residential Ethernet, Synchronous Ethernet, Audio/Video Bridging)에 적용되는 경우를 예로 들어 설명하나, 본 발명이 이에 한정되는 것이 아님을 미리 밝혀둔다.In the following embodiment, the present invention is described as an example applied to synchronous Ethernet (Residential Ethernet, Synchronous Ethernet, Audio / Video Bridging) dealing with real-time traffic and non-real-time traffic in an Ethernet environment as an example, the present invention is Note that it is not limited.
이더넷(Ethernet) 기술은 근거리 통신망 기술 중 80% 이상의 시장 점유율을 가지는 가장 광범위하게 설치된 기술이다. 이더넷 기술은 원래 "제록스"에 의해 개발된 후에, "제록스"와 "DEC" 그리고 "인텔" 등에 의해 발전되어 오다가, 현재는 IEEE(Institute of Electrical and Electronics Engineers) 802.3에 표준으로 정의되어 있다.Ethernet technology is the most widely installed technology with over 80% market share of LAN technology. Ethernet technology was originally developed by "Xerox" and was developed by "Xerox", "DEC" and "Intel" and is now defined as a standard in Institute of Electrical and Electronics Engineers (IEEE) 802.3.
종래의 이더넷 기술은 IEEE 802.3에서 규정된 CSMA/CD(Carrier Sense Multiple Access/Collision Detect) 프로토콜을 이용하여 경쟁적으로 공유 매체에 접근하였다. 즉, 이더넷 기술은 모든 트래픽에 대해 동일한 우선권을 부여하고 경쟁을 통해 전송하는 CSMA/CD 방식을 따르므로, 전송 시간 지연에 민감한 동영상이나 음성 전달에는 적합하지 않은 기술이다.Conventional Ethernet technology has competitively accessed shared media using the Carrier Sense Multiple Access / Collision Detect (CSMA / CD) protocol as defined in IEEE 802.3. In other words, the Ethernet technology follows the CSMA / CD scheme, which gives the same priority to all traffic and transmits it through the competition, which is not suitable for video or voice transmission that is sensitive to transmission time delay.
이에 따라, 이더넷에서 멀티미디어 데이터 등과 같이 높은 우선순위를 가져야 하는 데이터에 대해 지연을 줄이고자 하는 방법으로 IEEE 802.1 Q의 기술이 제안되어 있다. IEEE 802.1 Q 기술은 기존의 IEEE 802.3의 이더넷 기술에 비해 높은 우선순위의 데이터를 먼저 전송하도록 함으로써, 어느 정도 전송 지연을 개선하는 효과가 있다.Accordingly, a technique of IEEE 802.1Q has been proposed as a method for reducing delay for data having high priority such as multimedia data in Ethernet. IEEE 802.1 Q technology improves the transmission delay to some extent by first transmitting higher priority data than the existing IEEE 802.3 Ethernet technology.
하지만, IEEE 802.1 Q 기술은 비선점형 방식으로 동작하므로, 낮은 우선순위의 데이터 때문에 전송이 지연될 수 있고, 전송거리가 멀어지면 전송 지연의 크기가 증가하게 되는 문제점이 있다.However, since the IEEE 802.1Q technology operates in a non-preemptive manner, transmission may be delayed due to low priority data, and the transmission delay increases if the transmission distance is far.
그에 따라, 기존의 이더넷을 이용하면서 상기와 같은 문제점을 해결하기 위해 동기식 이더넷 기술이 등장하게 되었다. 이 동기식 이더넷 기술은 현재 IEEE 802.1 AVB TG(IEEE 802.1 Audio Video Bridging Task Group)에서 장치들 사이에 동기를 맞추는 기술, 실시간 트래픽을 위해 대역폭을 예약하는 기술, 및 실시간 트래픽과 비실시간 트래픽을 적절히 전송하는 기술의 세 부분으로 크게 나뉘어져 표준화가 진행 중이다.Accordingly, synchronous Ethernet technology has emerged to solve the above problems while using the existing Ethernet. This synchronous Ethernet technology is currently used to synchronize devices among IEEE 802.1 Audio Video Bridging Task Groups (AVB TGs), to reserve bandwidth for real-time traffic, and to properly transmit real-time and non-real-time traffic. There are three major parts of the technology, and standardization is underway.
현재 IEEE 802.1 Qav에서 표준화를 진행 중인 실시간 트래픽과 비실시간 트래픽을 전송하는 기술 중에서 실시간 트래픽인 경우에는 예약을 통해 대역폭을 확보하여 트래픽을 전송하고, 비실시간 트래픽에 대해서는 여러 가지 큐잉 스케줄링에 의해 트래픽을 전송하고 있다. 여기서, 실시간 트래픽을 위해 대역폭을 예약하는 기술로는 현재 SRP(Stream Reservation Protocol)가 고려되고 있다. 그리고 비실시간 트래픽의 전송에 대해서는 대표적인 큐잉 스케줄링 방법인 WFQ(Weighted Fair Queuing)를 사용하고 있다.Among the technologies for transmitting real-time and non-real-time traffic, which are currently being standardized by IEEE 802.1 Qav, in case of real-time traffic, the reserved bandwidth is used to transmit the traffic, and for non-real-time traffic, the traffic is managed by various queuing scheduling. Transmitting. Here, SRP (Stream Reservation Protocol) is currently considered as a technology for reserving bandwidth for real-time traffic. In addition, WFQ (Weighted Fair Queuing), which is a typical queuing scheduling method, is used to transmit non-real-time traffic.
도 1은 종래 기술에 따른 WFQ(Weighted Fair Queuing) 동작을 설명하기 위한 도면이다.1 is a view for explaining a weighted fair queuing (WFQ) operation according to the prior art.
WFQ 기술은 우선순위 큐잉의 단점인 우선순위가 낮은 클래스의 패킷들이 우 선순위가 높은 트래픽에 의해 아사되는 문제를 해결하는 동시에 커스텀 큐잉 방식에서 차등화된 서비스를 제공하지 못하는 현상을 해소하기 위해 개발된 기술이다.The WFQ technology was developed to solve the problem of low priority packets, which is a disadvantage of priority queuing, being killed by high priority traffic, while also failing to provide differentiated services in custom queuing. to be.
이때, 최대 4096개(N=4096)의 큐(13)를 사용할 수 있는 WFQ 기술은 아주 많은 큐를 제공하기 때문에, 각 패킷의 특성에 따라 클래스를 분류하고 이렇게 분류된 클래스를 플로우 단위(11)로 나눠서 사용한다. 그리고 WFQ 스케줄링 기법은 큐(13)가 다 차버리고 난 이후에 도착하는 패킷부터는 모두 폐기시켜버리는 테일 드롭(12)을 통하여 큐 정체 상황을 회피한다.At this time, since the WFQ technique that can use a maximum of 4096 (N = 4096) queues 13 provides a large number of queues, the classes are classified according to the characteristics of each packet, and the classified classes are
그리고 선입선출(FIFO : First In First Out) 방식으로 구성된 WFQ의 각각의 큐(13)는 IP(Internet Protocol) 우선권(Precedence)을 기준으로 가중치를 부여받는다. 더 정확하게 말하면, IP 우선권의 크기에 반비례해서 가중치를 부여받는다. 그리고 실제 패킷의 크기와 공지의 가상 패킷 계산 수식을 이용하여 계산해서 나온 가상 패킷의 크기를 기준으로 서비스되도록 스케줄링이 이루어진다.Each queue 13 of the WFQ configured in the FIFO (First In First Out) method is weighted based on an Internet Protocol (IP) priority. More precisely, they are weighted inversely proportional to the size of the IP priority. The scheduling is performed to serve based on the actual packet size and the size of the virtual packet calculated using a known virtual packet calculation formula.
이 같은 공지의 가상 패킷 계산 수식을 적용하는 이유는 우선순위가 높거나 크기가 작은 패킷들에 대해 우선적으로 서비스하기 위함이다. 즉, 대역폭 요구량이 서로 다른 트래픽들을 플로우별로 모두 구분한 후에 우선순위와 가중치 할당을 통해 트래픽들의 QoS를 보장하려고 하였다.The reason for applying such a known virtual packet calculation formula is to preferentially service packets of high priority or small size. In other words, after classifying all traffics with different bandwidth requirements by flows, we tried to guarantee QoS of traffics through priority and weight assignment.
하지만, WFQ 스케줄러(14)에서도 연속적인 지연이 계속되어 큐가 다 차버리게 되면 트래픽이 정체되는 경우가 발생하게 된다. 그에 따라, 대역폭의 요구량이 많은 우선순위가 높은 트래픽이 가중치에 따라 재할당받은 대역폭으로도 누적된 서비스 지연이 계속된다면 결국 패킷이 폐기되는 현상이 발생하게 되는 문제점이 있 다.However, even in the
이에 따라, QoS 보장을 위해 패킷의 폐기를 최소화할 수 있는 효율적인 큐잉 스케줄링 방법에 대한 연구가 필요하다.Accordingly, there is a need for a research on an efficient queuing scheduling method capable of minimizing packet discard to guarantee QoS.
도 2는 종래 기술에 따른 QoS(Quality of Service)를 보장하기 위한 큐잉 스케줄링 방법에 대한 설명도이다.2 is an explanatory diagram for a queuing scheduling method for guaranteeing a quality of service (QoS) according to the prior art.
도 2에 도시된 바와 같이, 종래의 기술에 따른 분류기(22)는 입력되는 패킷(21)의 헤더 정보를 참조하여 분류 기준에 의하여 플로우 단위로 입력 패킷(21)을 구분(분류)하며, 이와 동시에 플로우가 속하게 될 트래픽의 클래스를 결정한다. 여기서, 트래픽의 클래스가 결정된다는 것은 입력된 트래픽이 실제로 저장될 큐와 스케줄링되는 방식이 결정된다는 것을 의미한다.As shown in FIG. 2, the classifier 22 according to the related art classifies (classifies) the
이때, 분류기(22)에서 참조하는 패킷 헤더의 정보에는 송신지 IP 주소, 목적지(수신지) IP 주소, 프로토콜 ID 필드, TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)의 송신지 포트 번호, TCP와 UDP의 목적지(수신지) 포트 번호가 있다. 이들을 5튜플이라고 하며, IP 플로우를 구별할 수 있는 필드들이다.At this time, the packet header information referred to by the classifier 22 includes a source IP address, a destination (destination) IP address, a protocol ID field, transmission port numbers of transmission control protocol (TCP) and user datagram protocol (UDP), There are destination (destination) port numbers for TCP and UDP. These are called 5 tuples and are fields that can distinguish IP flows.
한편, 동기식 이더넷에서의 IEEE 802.1 Q 프레임 구조를 살펴보면, 입력 포트 번호 필드와 출력 포트 번호 필드는 1계층을 구별하는 분류 필드이고, 목적지(수신지) 주소(DA) 필드와 송신지 주소(SA) 필드와 이더타입(EtherType, 이더넷의 형태) 필드와 VLAN(virtual LAN) ID 필드, 그리고 IEEE 802.1p/Q 필드는 2계층을 구별하는 분류 필드이다. 그리고 3계층에서는 분류기(22)에 명시된 튜플 외에 TOS(Type Of Service)와 IP 우선권(Precedence)과 DSCP(DiffServ Code Point)를 분류 필드로 사용한다. 마지막으로, 4계층에서는 TCP와 UDP를 구분하는 플래그 필드와 송신지 포트 번호 필드와 수신지 포트 번호 필드를 분류 필드로 사용하여 분류할 수 있다.In the IEEE 802.1Q frame structure of synchronous Ethernet, on the other hand, the input port number field and the output port number field are classification fields that distinguish one layer, and a destination (destination) address (DA) field and a source address (SA). Field, the EtherType (EtherType) field, the VLAN (virtual LAN) ID field, and the IEEE 802.1p / Q field are classification fields that distinguish two layers. In addition to the tuples specified in the classifier 22, the third layer uses TOS (Type Of Service), IP Priority (Precedence), and DSCP (DiffServ Code Point) as classification fields. Finally, in the fourth layer, a flag field for distinguishing TCP and UDP, a source port number field, and a destination port number field may be classified as classification fields.
상기 분류기(22)를 통과한 각 패킷들(23)은 각 트래픽 플로우에 할당된 미터(meter, 24)에 의해 특성이 측정된다. 이렇게 측정된 결과는 사전에 약속한 QoS 트래픽 특성과 비교되고, 그 비교 결과에 따라 마커(25)에 의해 몇 가지 우선순위로 마킹(marking)이 되며, 기 정해진 정책에 따라 폴리싱(Policing)과 쉐이핑(Shaping)을 한다(26). 이후에, 패킷은 내부 처리용량을 초과하는 패킷의 도착 시 큐의 처리 방식을 다루는 큐 관리자(27)를 거친 후 큐잉 스케줄러(28)를 통해 큐를 빠져나간다.Each
그러나 상기와 같은 종래의 방법은 패킷의 우선순위 또는 DSCP(DiffServ Code Point)를 기준으로 패킷을 처리하여 시간 지연에 민감한 트래픽을 처리 시 스케줄링 지연으로 인하여 종단사용자 간의 QoS를 만족시킬 수 없고, 누적된 스케줄링 지연으로 패킷이 폐기되는 현상이 나타나는 문제점이 있다.However, the conventional method as described above cannot satisfy the QoS between end users due to scheduling delay when processing the packet based on packet priority or DSCP (DiffServ Code Point) to handle time delay sensitive traffic. There is a problem that a packet is discarded due to a scheduling delay.
즉, 상기와 같은 종래 기술은 스케줄링 지연으로 인하여 종단사용자 간의 QoS를 만족시킬 수 없는 문제점과, 누적된 스케줄링 지연으로 패킷이 폐기되는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.That is, the prior art as described above has a problem in that QoS between end users cannot be satisfied due to a scheduling delay, and a packet is discarded due to a cumulative scheduling delay. It is an object of the present invention to solve such a problem.
따라서 본 발명은 비실시간 트래픽에 대해 패킷 도착률(특히, 패킷의 평균도착률)과 가상시간을 이용하여 큐잉하고 스케줄링함으로써, 패킷의 폐기를 최소화하고 비실시간 트래픽의 QoS(Quality of Service)를 보장하기 위한, 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.Accordingly, the present invention queues and schedules packet arrival rate (especially, average arrival rate of packets) and virtual time for non-real-time traffic, thereby minimizing packet discard and ensuring quality of service (QoS) of non-real-time traffic. It is an object of the present invention to provide a queuing method using a virtual time, a scheduling apparatus using the same, and a computer readable recording medium having recorded thereon a program for realizing the method.
즉, 본 발명은 이더넷 환경에서 실시간성 트래픽과 비실시간성 트래픽을 다루는 동기식 이더넷 등에서 비실시간 트래픽을 패킷 도착률(특히, 패킷의 평균도착률)을 이용하여 구분하고 가상시간을 이용하여 큐잉하고 스케줄링함으로써, 패킷의 폐기를 최소화하고 비실시간 트래픽의 QoS(Quality of Service)를 보장하기 위한, 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.That is, the present invention divides non-real-time traffic using packet arrival rate (especially, average arrival rate of packets) in synchronous Ethernet, which handles real-time traffic and non-real-time traffic in Ethernet environment, and queues and schedules using virtual time. Queuing method using virtual time, a scheduling device using the same, and a program for realizing the above methods and a program for realizing each method can be read by a computer for minimizing packet discard and ensuring quality of service (QoS) of non-real-time traffic. The purpose is to provide a recording medium.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned above can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.
상기 목적을 달성하기 위한 본 발명의 장치는, 스케줄링 장치에 있어서, 비실시간 트래픽을 패킷 도착률에 따라 분류하기 위한 패킷 분류 수단; 상기 패킷 분류 수단에서 분류된 트래픽별로 패킷 도착률에 따라 가상시간을 적용하기 위한 가상시간 적용 수단; 상기 가상시간 적용 수단에서 가상시간이 적용된 패킷에 대하여 가상시간을 기반으로 큐잉 정책을 조절하기 위한 큐잉 수단; 및 상기 큐잉 수단에 의해 큐잉된 패킷을 가상시간을 기반으로 스케줄링하기 위한 가상시간 스케줄링 수단을 포함한다.An apparatus of the present invention for achieving the above object comprises: a packet classification means for classifying non-real-time traffic according to packet arrival rate; Virtual time applying means for applying a virtual time according to the packet arrival rate for each traffic classified by the packet classification means; Queuing means for adjusting a queuing policy based on a virtual time for the packet to which the virtual time is applied in the virtual time applying means; And virtual time scheduling means for scheduling the packet queued by the queuing means based on the virtual time.
한편, 상기 목적을 달성하기 위한 본 발명의 방법은, 스케줄링 방법에 있어서, 비실시간 트래픽을 패킷 도착률에 따라 분류하는 패킷 분류 단계; 상기 분류된 트래픽별로 패킷 도착률에 따라 가상시간을 적용하는 가상시간 적용 단계; 상기 가상시간이 적용된 패킷에 대하여 가상시간을 기반으로 큐잉 정책을 조절하는 큐잉 단계; 및 상기 큐잉 정책에 따라 큐잉된 패킷을 가상시간을 기반으로 스케줄링하는 가상시간 스케줄링 단계를 포함한다.On the other hand, the method of the present invention for achieving the above object, the scheduling method, packet classification step of classifying the non-real-time traffic according to the packet arrival rate; A virtual time applying step of applying a virtual time according to a packet arrival rate for each classified traffic; A queuing step of adjusting a queuing policy for the packet to which the virtual time is applied based on the virtual time; And a virtual time scheduling step of scheduling the queued packet based on the virtual time according to the queuing policy.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 방법은, 큐잉 방법에 있어서, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하는 단계; 및 상기 조절된 큐잉 정책에 따라 패킷을 삽입하거나 테일 드롭으로 패킷을 폐기하는 단계를 포함한다.On the other hand, another method of the present invention for achieving the above object, in the queuing method, by comparing the current virtual time and the secondary virtual time of the incoming packet by applying the current virtual time (timestamp) to the current time and the risk interval Adjusting a queuing policy; And discarding the packet with a tail drop or inserting the packet according to the adjusted queuing policy.
한편, 본 발명은, 프로세서를 구비한 스케줄링 장치에, 비실시간 트래픽을 패킷 도착률에 따라 분류하는 패킷 분류 기능; 상기 분류된 트래픽별로 패킷 도착률에 따라 가상시간을 적용하는 가상시간 적용 기능; 상기 가상시간이 적용된 패킷에 대하여 가상시간을 기반으로 큐잉 정책을 조절하는 큐잉 기능; 및 상기 큐잉 정책에 따라 큐잉된 패킷을 가상시간을 기반으로 스케줄링하는 가상시간 스케줄링 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention, a scheduling apparatus having a processor, packet classification function for classifying non-real-time traffic according to the packet arrival rate; A virtual time application function for applying a virtual time according to a packet arrival rate for each classified traffic; A queuing function of adjusting a queuing policy for the packet to which the virtual time is applied based on the virtual time; And a computer-readable recording medium having recorded thereon a program for realizing a virtual time scheduling function for scheduling a queued packet based on a virtual time according to the queuing policy.
또한, 본 발명은, 프로세서를 구비한 큐잉 장치에, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하는 기능; 및 상기 조절된 큐잉 정책에 따라 패킷을 삽입하거나 테일 드롭으로 패킷을 폐기하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention, the function to adjust the queuing policy by comparing the current virtual time and the auxiliary virtual time of the incoming packet with the current virtual time (time stamp) is applied to the queuing device having a processor ; And a computer readable recording medium having recorded thereon a program for realizing a function of inserting a packet or discarding the packet by tail drop according to the adjusted queuing policy.
상기와 같은 본 발명은, 비실시간 트래픽에 대해 패킷 도착률(특히, 패킷의 평균도착률)과 가상시간을 이용하여 큐잉하고 스케줄링함으로써, 패킷의 폐기를 최소화하고 비실시간 트래픽의 QoS(Quality of Service)를 보장할 수 있는 효과가 있 다.As described above, the present invention queues and schedules packet arrival rate (particularly, average arrival rate of packets) and virtual time for non-real time traffic, thereby minimizing packet discard and improving quality of service (QoS) of non-real time traffic. There is a guaranteeable effect.
즉, 본 발명은 이더넷 환경에서 실시간성 트래픽과 비실시간성 트래픽을 다루는 동기식 이더넷 등에서 비실시간 트래픽을 패킷 도착률(특히, 패킷의 평균도착률)을 이용하여 구분하고 가상시간을 이용하여 큐잉하고 스케줄링함으로써, 패킷의 폐기를 최소화하고 비실시간 트래픽의 QoS(Quality of Service)를 보장할 수 있는 효과가 있다.That is, the present invention divides non-real-time traffic using packet arrival rate (especially, average arrival rate of packets) in synchronous Ethernet, which handles real-time traffic and non-real-time traffic in Ethernet environment, and queues and schedules using virtual time. There is an effect of minimizing packet discard and guaranteeing the quality of service (QoS) of non-real-time traffic.
또한, 본 발명은 동기식 이더넷 등에서 주어진 전송 사이클 중에 단말기 등으로부터 입력되는 트래픽을 분류하여 실시간 트래픽인 경우에는 공지의 예약 방식을 통하여 대역폭을 확보하고, 남은 대역폭에서 비실시간 트래픽에 관해 패킷 도착률과 가상시간을 이용하여 큐잉하고 스케줄링하는 경우, 패킷 도착률에 따라 패킷이 서비스되는 순서를 정해줄 수 있기 때문에 중간 브리지에서 각 플로우를 공평하게 처리해줄 수 있고, 그에 따라 패킷의 폐기를 최소화할 수 있는 효과가 있다.In addition, the present invention classifies traffic inputted from a terminal during a given transmission cycle in synchronous Ethernet, etc., and secures bandwidth through a known reservation scheme in the case of real-time traffic, and packet arrival rate and virtual time for non-real-time traffic in the remaining bandwidth. In the case of queuing and scheduling using, since the order in which packets are serviced can be determined according to the packet arrival rate, each flow can be fairly processed in the intermediate bridge, thereby minimizing packet discard. .
또한, 본 발명은 버스트한 트래픽이 중간 브리지에 인가될 경우 모니터링 과정을 통해 제어해줄 수 있는 효과가 있다.In addition, the present invention has an effect that can be controlled through the monitoring process when burst traffic is applied to the intermediate bridge.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대 한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.The above objects, features, and advantages will become more apparent from the detailed description given hereinafter with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains may share the technical idea of the present invention. It will be easy to implement. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과, 동기식 이더넷에서의 IEEE 802.1 Q 프레임 구조에 대한 일실시예 설명도이다.3 is a diagram illustrating a queuing method using virtual time in synchronous Ethernet, a scheduling apparatus using the same, and a method thereof, and an IEEE 802.1 Q frame structure in synchronous Ethernet according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 동기식 이더넷에서 비실시간 트래픽을 분류하는 제 1 패킷 분류기(302)는, 5튜플을 사용하는 종래의 분류기(도 2의 22)와 다르게, 4튜플을 사용한다. 동기식 이더넷에서 데이터와 메시지 전송 시에 사용되는 프레임은 2계층을 다루고 있기 때문에 IEEE 802.1 Q의 프레임을 사용한다. 동기식 이더넷의 제 1 패킷 분류기(302)에서는 단말기 등으로부터 진입(입력)되는 트래픽(301)을 송신지 주소, 목적지(수신지) 주소, VLAN(virtual LAN) 우선순위(Priority), 및 이더타입(EtherType, 이더넷의 형태)을 이용하여 구분하여 비실시간 트래픽을 분류한다. 이때, 실시간 트래픽으로 구분된 트래픽은 공지의 방식인 예약을 통한 트래픽 처리 방식으로 처리된다.As shown in FIG. 3, the
그리고 도 3에 도시된 바와 같이, IEEE 802.1 AVB LAN에서 데이터와 메시지 전송 시에 사용되는 IEEE 802.1 Q 프레임은, 목적지(수신지) 주소(DA) 필드(308), 송신지 주소(SA) 필드(309), TPID(Tag Protocol IDentifier) 필드(310), VLAN(virtual LAN) ID 필드(311), 이더타입(EtherType, 이더넷의 형태) 필드(312), 데이터 필드(313), 및 FCS(Frame Check Sum) 필드(314)를 구비한다.As shown in FIG. 3, the IEEE 802.1 Q frame used for data and message transmission in an IEEE 802.1 AVB LAN includes a destination (destination) address (DA)
상기 목적지(수신지) 주소(DA) 필드(308)는 해당 프레임을 수신할 수신지 주소를 저장하고 있고, 송신지 주소(SA) 필드(309)는 프레임을 송신한 송신지 주소를 저장하고 있으며, 송신지 주소(SA) 필드(309)의 바로 다음에는 VLAN 태그가 존재함을 알리는 역할을 하는 TPID 필드(310)가 존재한다.The destination (destination) address (DA)
상기 VLAN ID 필드(311)에는 세 가지의 세부 필드가 존재하는데, IEEE 802.1 Q의 8가지 우선순위 중 하나를 나타내는 우선순위 필드(315), 전송 매체의 형식, 즉 이더넷인지 토큰링인지를 나타내는 CFI(Canonical Format Identifier) 필드(316), 및 VLAN을 구분하는 실제 VLAN ID를 기록하는 VID 필드(317)가 존재한다.There are three detailed fields in the
또한, 상기 IEEE 802.1 Q 프레임에는 상위 계층의 프로토콜을 나타내는 이더타입(EtherType, 이더넷의 형태) 필드(312)와 실제 데이터가 삽입되는 데이터 필드(313)가 존재하며, FCS 필드(314)는 해당 프레임의 오류 검사를 위한 특별한 4바이트 코드를 포함한다.In addition, the IEEE 802.1 Q frame includes an EtherType (EtherType)
이러한 필드들 중에서 본 발명에서는 목적지 주소 필드(308), 송신지 주소 필드(309), VLAN 우선순위 필드(315), 및 이더타입(EtherType, 이더넷의 형태) 필드(312)를 이용하여 브리지로 진입하는 트래픽(301)을 구분한다. 즉, 제 1 패킷 분류기(302)에서는 이더타입(EtherType, 이더넷의 형태)으로 비실시간 트래픽을 구분(분류)하고 VLAN 우선순위에 의해 트래픽들을 그룹화한다(303).Among these fields, the present invention enters the bridge using the
그리고 제 2 패킷 분류기(304)는 상기 제 1 패킷 분류기(302)에서 1차적으로 분류된 비실시간 트래픽을 패킷 도착률에 따라 2차적으로 분류(구분)한다. 이때, 패킷 도착률로는 패킷의 평균도착률(AR : Average arrival Rate)을 사용하는 것이 바람직하며, 그 외에도 패킷 전송률을 사용하거나, 기존 방식에서 사용하던 패킷 크기나 우선순위 등을 사용하여 구현할 수도 있다.The
이하의 일실시예에서는 패킷 도착률로 패킷의 평균도착률(AR : Average arrival Rate)을 사용하는 경우를 예로 들어 설명하나, 본 발명이 이에 한정되는 것이 아님을 미리 밝혀둔다. 이처럼, 패킷 도착률로 패킷의 평균도착률(AR)을 사용하는 경우, 제 2 패킷 분류기(304)는 AR(Average arrival Rate) 분류기로 구현이 가능하다.In the following exemplary embodiment, a case in which an average arrival rate (AR) of a packet is used as the packet arrival rate will be described as an example. However, the present invention is not limited thereto. As such, when the average arrival rate (AR) of the packet is used as the packet arrival rate, the
그리고 마커(305)는 상기 제 2 패킷 분류기(304)에서 분류된 트래픽별로 가상시간을 이용한 타임스템프를 마킹한다. 이때, 마커(305) 내에 구비된 AR 미터(AR meter)가 상기 제 2 패킷 분류기(304)에서 분류된 트래픽별로 가상시간을 이용하여 타임스템프를 계산한다. 여기서, 타임스템프(현재 가상시간)는 이전 가상시간에 Vtick(Vtick = 1/평균도착율)을 더한 값이다.The
그리고 큐 관리자(306)에서는 상기 마커(305)에서 타임스템프(현재 가상시간)가 마킹된 각 패킷들을 가상시간을 기반으로 해당 큐에 할당하여 진입시키되, 이러한 큐잉 시에 해당 큐가 가득 차게 되면 해당 패킷을 폐기시키는 테일 드롭을 수행한다.In addition, the
그리고 가상시간 스케줄러(307)는 정상적인 큐잉 시 가상시간에 기반하여 상기 큐에서 패킷을 추출하여 전송한다.The
도 4는 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 스케줄링 장치 의 일실시예 구성도로서, 동기식 이더넷에서 비실시간 트래픽에 대하여 가상시간을 이용하여 스케줄링하는 장치의 전체 구성을 나타내고 있다.FIG. 4 is a diagram illustrating an embodiment of a scheduling apparatus using virtual time in synchronous Ethernet according to the present invention, and shows an overall configuration of an apparatus for scheduling non-real-time traffic using virtual time in synchronous Ethernet.
도 4에 도시된 바와 같이, 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 스케줄링 장치는, 비실시간 트래픽을 분류(구분)하기 위한 제 1 패킷 분류기(402), 상기 제 1 패킷 분류기(402)에서 1차적으로 분류된 비실시간 트래픽을 패킷 도착률(예 : 패킷의 평균도착률)에 따라 2차적으로 분류(구분)하기 위한 제 2 패킷 분류기(404), 상기 제 2 패킷 분류기(404)에서 분류된 트래픽별로 가상시간을 이용한 타임스템프를 마킹하기 위한 AR 미터(405)와 마커(406), 상기 마커(406)에서 타임스템프(현재 가상시간)가 마킹되어 유입되는 패킷에 대하여 가상시간을 기반으로 큐잉 정책을 조절하여 큐(411 내지 414)를 관리하기 위한 큐 관리자(409), 및 상기 큐 관리자(409)에 의해 상기 큐(411 내지 414)에 큐잉된 패킷의 가상시간을 기반으로 해당 패킷을 스케줄링하기 위한 가상시간 스케줄러(410)를 포함한다.As shown in FIG. 4, a scheduling apparatus using virtual time in synchronous Ethernet according to the present invention includes a
다음으로, 상기 각 구성 요소에 대하여 좀더 구체적으로 살펴보면 다음과 같다.Next, the above components will be described in more detail.
먼저, 단말기 등으로부터 입력되는 패킷들(401)은 먼저 제 1 패킷 분류기(402)에 의해 비실시간 트래픽으로 구분(분류)되고 그룹화되며(403), 이렇게 분류된 비실시간 트래픽은 제 2 패킷 분류기(AR 분류기)(404)를 통해 다시 패킷의 평균도착률별로 구분된다. 이렇게 패킷의 평균도착률별로 구분된 플로우들은 AR 미터(AR meter)(405)라고 정의된 미터와 마커(406)에 의해 플로우마다 해당하는 타임스템프(407)가 마킹된다. 즉, AR 미터(405)와 마커(406)는 패킷의 평균도착률별로 구분되어진 플로우들의 각 패킷마다 플로우별 가상시간(408)에 기반하여 Vtick(1/평균도착률)이 추가된 타임스탬프(현재 가상시간)(407)를 할당하여 마킹한다. 즉, 새로 생성되는 패킷의 현재 가상시간(타임스탬프)은 다음의 [수학식 1]과 같이 계산된다.First,
여기서, Vtick은 "1/평균도착률"이다.Where Vtick is " 1 / average arrival rate ".
이때, 평균도착률이 큰 플로우들은 Vtick이 작게 할당되고 평균도착률이 작은 플로우들은 Vtick이 크게 할당되어 평균도착률이 큰 플로우가 큐잉 지연이 적게 된다.At this time, flows with a high average arrival rate have a small Vtick and flows with a small average arrival rate have a large Vtick, so that a flow having a high average arrival rate has a low queuing delay.
그리고 큐 관리자(409)는 상기 마커(406)에서 타임스템프(현재 가상시간)가 마킹되어 유입되는 패킷의 현재 가상시간과 현재시간을 비교하여 큐잉 정책을 조절한다. 즉, 큐 관리자(409)는 상기 마커(406)에서 타임스템프(현재 가상시간)가 마킹되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하고, 이렇게 조절된 큐잉 정책에 따라 큐(411 내지 414)에 패킷을 삽입한다. 그리고 큐 관리자(409)는 큐(411 내지 414)에서의 오버플로우 발생가능조건이 발생하면 테일 드롭 정책으로 패킷을 폐기하여 시스템의 과부하를 방지한다.The
그리고 가상시간 스케줄러(410)는 상기 큐(411 내지 414)에 큐잉된 패킷의 가상시간을 기반으로 해당 패킷을 스케줄링하여 전송한다. 도 4에서 최상위 큐(411)의 4번, 5번, 6번 패킷이 먼저 추출되어 전송되고, 그 다음으로 두 번째 큐(412)의 10번 패킷과 세 번째 큐(413)의 10번 패킷이 추출되어 전송되며, 이후에 다시 두 번째 큐의 12번 및 14번 패킷이 추출되어 전송되고, 마지막으로 최하위 큐(414)의 30번 패킷이 추출되어 전송되는 순서로 스케줄링이 이루어진다.The
도 5a 내지 도 5c는 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 큐잉 정책을 설명하기 위한 일실시예 도면으로, 동기식 이더넷에서 비실시간 트래픽을 분류된 플로우별로 처리하는 마커와 큐 관리자가 관리하는 큐잉 정책을 설명하기 위한 도면이다.5A to 5C are diagrams for describing a queuing policy using virtual time in synchronous Ethernet according to the present invention. FIG. 5A to 5C are queuing markers and queue managers managing non-real-time traffic for each classified flow in synchronous Ethernet. It is a figure for demonstrating a policy.
그리고 도 5a 내지 도 5c에 도시된 큐는 가상 큐(우선순위별로 생성됨)로서, 도 4의 마커(406) 내에 도시된 큐를 나타낸다.The queues shown in FIGS. 5A-5C are virtual queues (created by priorities) and represent queues shown in the
도 5a를 참조하여 살펴보면, 도 5a의 가상의 큐(501)에서 현재 가상시간(503)이 현재시간(502)보다 앞서 있고 위험 구간(504)보다 작을 경우에, 큐 관리자(409)는 정상적인 큐잉을 한다. 이때, 현재시간은 큐에 진입한 패킷들이 처리되는 시간이고, 각 큐의 90%인 지점에 있는 위험 구간(504)은 큐가 가득 차서 오버플로우가 발생함으로 인하여 시스템이 과부하되는 것을 막기 위한 기준점이며, 현재 가상시간은 상기 [수학식 1]에 따라 계산된 값이다.Referring to FIG. 5A, in the
도 5b를 참조하여 살펴보면, 도 5b의 큐(505)에서는 현재 가상시간(507)이 현재시간(506)보다 크지만 위험 구간(508)과 같아지는 순간부터 큐 관리자(409)는 테일 드롭 정책으로 해당 패킷을 폐기시켜 패킷들이 더 이상 해당 큐로 진입되지 않도록 한다.Referring to FIG. 5B, in the
도 5c를 참조하여 살펴보면, 도 5c의 큐(509)는 현재 가상시간(510)이 현재시간(511)보다 작은 경우이다. 이는 패킷이 계속 들어오다가 평균 관측 구간(AIR : Average observational Interval Range) 동안 들어오지 않는 경우이거나 현재시간이 흘러가는 속도보다 늦게 패킷이 들어오는 경우를 나타내고 있다. 여기서, 평균 관측 구간(AIR)은 패킷의 평균도착률(AR)과 패킷의 평균 관측 구간으로 패킷이 연속해서 서비스되는 AI(Average observation Interval)의 곱으로 총 진입되는 패킷량을 나타낸다. 이러한 평균 관측 구간(AIR)의 첫 구간마다 마커(406)는 현재시간과 현재 가상시간을 비교한다. 마커(406)는 도 5c의 큐(509)처럼 현재 가상시간(510)이 현재시간(511)보다 작은 경우에 보조 가상시간(512)을 사용한다. 그에 따라, 평균 관측 구간(AIR) 이후에 다시 패킷이 들어와도 현재시간으로 갱신된 보조 가상시간(512)에 진입하는 패킷의 평균도착률에 의해 새롭게 측정된 Vtick을 더함으로써, 가상시간 스케줄링 작업을 계속할 수 있게 된다. 가상시간 스케줄링 작업은 현재 가상시간(510)이 위험 구간(513)보다 크거나 같지 않을 때까지 패킷들을 계속 큐잉과 스케줄링할 수 있도록 한다.Referring to FIG. 5C, the
도 6은 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 방법에 대한 일실시예 흐름도로서, 동기식 이더넷에서 비실시간 트래픽의 QoS를 보장하기 위한 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a queuing method using virtual time in synchronous Ethernet and a scheduling method using the same according to the present invention, and a queuing method using virtual time for guaranteeing QoS of non-real-time traffic in synchronous Ethernet and using the same A flowchart for explaining a scheduling method.
먼저, 패킷이 처음으로 도착하면 마커(AR 미터를 포함함)는 플로우별 가상시간과 보조 가상시간을 현재시간으로 설정한다. 그리고 각 패킷이 가상 큐에 도착하는 순간 마커(AR 미터를 포함함)는 이전 가상시간에 Vtick(1/평균도착율)을 더하여 패킷의 현재 가상시간(타임스템프)을 설정한다. 마찬가지로 마커(AR 미터를 포함함)는 보조 가상시간에도 Vtick을 더한다. 그런 다음에 보조 가상시간은 현재시간과 보조 가상시간 중 더 큰 값을 가진다. 여기서, 패킷의 평균도착률(AR)과 패킷의 평균 관측 구간으로 패킷이 연속해서 서비스되는 AI(Average observation Interval) 값을 관찰하고, 패킷들이 버스트한 경우와 그렇지 않은 경우와 같이 패킷의 유동적인 진입을 조절하기 위해 가상시간과 보조 가상시간이란 개념을 사용한다. Vtick은 전술한 바와 같이 "1/패킷의 평균도착률"로 나타낸다. 즉, 평균도착률이 높은 플로우들은 Vtick이 작은 값이 되어 큐잉의 빈도수가 많아지게 되고, 평균도착률이 낮은 플로우들은 Vtick이 큰 값이 되어 큐잉의 빈도수가 작아진다.First, when a packet arrives for the first time, a marker (including an AR meter) sets the virtual time for each flow and the auxiliary virtual time to the current time. As soon as each packet arrives in the virtual queue, a marker (including an AR meter) sets the packet's current virtual time (timestamp) by adding Vtick (1 / average arrival rate) to the previous virtual time. Likewise, markers (including the AR meter) add Vtick to the secondary virtual time. The secondary virtual time then has the greater of the current time and the secondary virtual time. Here, observe the average arrival rate (AR) of the packet and the average observation interval (AI) value in which the packet is continuously serviced by the average observation interval of the packet, and observe the fluid ingress of the packet as if the packets were bursted or not. The concept of virtual time and auxiliary virtual time is used to control it. Vtick is expressed as "average arrival rate of 1 / packet" as described above. In other words, flows with a high average arrival rate have a small Vtick value, which increases the frequency of queuing, and flows with a low average arrival rate have a large Vtick value, which results in a low queuing frequency.
도 6에 도시된 바와 같이, 먼저 외부 기기로부터 브리지로 들어오는 패킷들은 제 1 패킷 분류기에서 2계층의 트래픽으로 분류된다(601). 이때, 제 1 패킷 분류기에서는 이더타입(EtherType, 이더넷의 형태)을 이용하여 입력 트래픽이 비실시간 트래픽인지 실시간 트래픽인지를 확인(구분)한다(602).As shown in FIG. 6, packets entering the bridge from an external device are first classified into two layers of traffic in the first packet classifier (601). In this case, the first packet classifier determines whether the input traffic is non-real-time traffic or real-time traffic by using an EtherType (EtherType, a type of Ethernet) (602).
상기 확인(구분) 결과(602), 입력 트래픽이 실시간 트래픽이면 공지의 방식인 예약을 통한 트래픽 처리 방식으로 해당 트래픽을 처리하고(614), 입력 트래픽이 비실시간 트래픽이면 우선순위별로 패킷을 그룹핑한다(603).As a result of the identification (division) 602, if the input traffic is real-time traffic, the corresponding traffic is processed by a known traffic processing method through reservation (614). If the input traffic is non-real-time traffic, the packets are grouped by priority. (603).
이후, 제 2 패킷 분류기가 상기 그룹별로 분류된 비실시간 트래픽을 패킷 도착률에 따라 2차적으로 분류(구분)하고(604), 상기와 같이 그룹별로 분류된 패킷은 AR 미터(AR meter)와 마커에 의해 플로우마다 해당하는 타임스템프가 마킹되어 가상의 큐(우선순위별로 가상 큐가 생성됨)에 각각 삽입된다(605).Thereafter, the second packet classifier classifies and classifies the non-real-time traffic classified by the group according to the packet arrival rate (604), and the packet classified by the group is allocated to an AR meter and a marker. As a result, corresponding timestamps are marked for each flow and inserted into the virtual queues (virtual queues are created for each priority) (605).
이후, 큐 관리자가 현재 가상시간(타임스템프)과 현재시간을 비교하여(606) 현재 가상시간이 현재시간보다 작으면 보조 가상시간을 이용하여 큐잉을 한다(607).Thereafter, the queue manager compares the current virtual time (timestamp) with the current time (606). If the current virtual time is less than the current time, the queue manager queues using the auxiliary virtual time (607).
그리고 상기와 같이 보조 가상시간을 사용하였을 경우에 가상시간을 현재시간으로 업데이트하였는지를 확인하여(608) 가상시간을 현재시간으로 업데이트하였으면 "610" 과정으로 진행하여 다시 현재 가상시간을 이용하여 큐잉을 진행한다. 만약, 보조 가상시간을 사용하고 가상시간을 현재시간으로 업데이트를 하지 않았으면 보조 가상시간과 위험 구간을 비교한다(609).When the auxiliary virtual time is used as described above, it is checked whether the virtual time has been updated to the current time (608). If the virtual time has been updated to the current time, the process proceeds to step “610” and the queuing is performed again using the current virtual time. do. If the secondary virtual time is used and the virtual time is not updated to the current time, the secondary virtual time is compared with the dangerous section (609).
상기 비교 결과(609), 보조 가상시간이 위험 구간보다 크면 큐잉 지연을 막기 위해 테일 드롭을 적용하여 패킷을 폐기하고 "613" 과정으로 진행한다(612). 반대로, 보조 가상시간이 위험 구간보다 작은 경우에는 "607" 과정으로 진행하여 보조 가상시간을 이용하여 가상시간이 현재시간으로 업데이트될 때까지 큐잉을 계속한다.As a result of the comparison (609), if the auxiliary virtual time is greater than the critical period, the tail drop is applied to discard the packet to prevent queuing delay and proceeds to step "613" (612). On the contrary, if the auxiliary virtual time is smaller than the danger section, the process proceeds to “607” and continues queuing until the virtual time is updated to the current time using the auxiliary virtual time.
한편, 상기 비교 결과(606), 현재 가상시간이 현재시간보다 크면 가상시간을 위험구간과 비교하여(610) 현재 가상시간이 위험 구간보다 작으면 각 큐의 우선순위와 가상시간에 의해 큐잉을 계속하고(611), 현재 가상시간이 위험 구간보다 크면 큐 관리자가 테일 드롭으로 패킷을 폐기시킨 후에(612) "613" 과정으로 진행한다.On the other hand, the
그리고 큐 관리자는 계속 큐잉을 하다가 가상 큐가 비었는지를 확인하여(613) 가상 큐가 비지 않았으면 패킷이 큐에 진입되는 순간으로 돌아가 현재 가상시간과 현재시간을 다시 비교하는 과정(606)부터 반복 수행하고, 가상 큐가 비었으면 큐잉과 스케줄링을 종료시킨다.The queue manager continuously queues and checks whether the virtual queue is empty (613). If the virtual queue is not empty, the queue manager returns to the moment when the packet enters the queue and compares the current virtual time with the current time again (606). If the virtual queue is empty, queuing and scheduling are terminated.
이때, 큐에 들어오는 패킷의 평균도착률로 패킷을 내보내지만 평균도착률이 같은 경우는 각 서브 큐의 우선순위에 따라 패킷을 내보내게 된다.At this time, the packet is sent at the average arrival rate of packets entering the queue, but if the average arrival rate is the same, the packet is sent according to the priority of each sub-queue.
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.On the other hand, the method of the present invention as described above can be written in a computer program. And the code and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the written program is stored in a computer-readable recording medium (information storage medium), and read and executed by a computer to implement the method of the present invention. The recording medium may include any type of computer readable recording medium.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.
본 발명은 이더넷 환경에서 실시간성 트래픽과 비실시간성 트래픽을 다루는 동기식 이더넷(Residential Ethernet, Synchronous Ethernet, Audio/Video Bridging) 등에 이용될 수 있다.The present invention may be used for synchronous Ethernet (Residential Ethernet, Synchronous Ethernet, Audio / Video Bridging), etc., which handles real-time traffic and non-real-time traffic in an Ethernet environment.
도 1은 종래 기술에 따른 WFQ(Weighted Fair Queuing) 동작을 설명하기 위한 도면,1 is a view for explaining a weighted fair queuing (WFQ) operation according to the prior art,
도 2는 종래 기술에 따른 QoS(Quality of Service)를 보장하기 위한 큐잉 스케줄링 방법에 대한 설명도,2 is a diagram illustrating a queuing scheduling method for guaranteeing a quality of service (QoS) according to the prior art;
도 3은 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과, 동기식 이더넷에서의 IEEE 802.1 Q 프레임 구조에 대한 일실시예 설명도,3 is a diagram illustrating a queuing method using virtual time in synchronous Ethernet, a scheduling apparatus using the same, and a method thereof, and an IEEE 802.1 Q frame structure in synchronous Ethernet according to an embodiment of the present invention.
도 4는 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 스케줄링 장치의 일실시예 구성도,4 is a block diagram of an embodiment of a scheduling apparatus using virtual time in synchronous Ethernet according to the present invention;
도 5a 내지 도 5c는 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 큐잉 정책을 설명하기 위한 일실시예 도면,5A through 5C are diagrams illustrating an exemplary queuing policy using virtual time in synchronous Ethernet according to the present invention;
도 6은 본 발명에 따른 동기식 이더넷에서 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating a queuing method using virtual time and a scheduling method using the same in synchronous Ethernet according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
402 : 제 1 패킷 분류기 404 : 제 2 패킷 분류기402: first packet classifier 404: second packet classifier
405 : AR 미터 406 : 마커405: AR Meter 406: Marker
409 : 큐 관리자 410 : 가상시간 스케줄러409: queue manager 410: virtual time scheduler
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070119876A KR20090053180A (en) | 2007-11-22 | 2007-11-22 | Queuing method by virtual clock, and scheduling apparatus and method using that |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070119876A KR20090053180A (en) | 2007-11-22 | 2007-11-22 | Queuing method by virtual clock, and scheduling apparatus and method using that |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090053180A true KR20090053180A (en) | 2009-05-27 |
Family
ID=40860723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070119876A KR20090053180A (en) | 2007-11-22 | 2007-11-22 | Queuing method by virtual clock, and scheduling apparatus and method using that |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20090053180A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130139660A (en) * | 2012-06-13 | 2013-12-23 | 한국전자통신연구원 | Method and apparatus of frame scheduling in a wireless local area network system |
-
2007
- 2007-11-22 KR KR1020070119876A patent/KR20090053180A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130139660A (en) * | 2012-06-13 | 2013-12-23 | 한국전자통신연구원 | Method and apparatus of frame scheduling in a wireless local area network system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3526269B2 (en) | Inter-network relay device and transfer scheduling method in the relay device | |
US7436844B2 (en) | System and method for controlling packet transmission in a communication network | |
EP1551136B1 (en) | Hierarchical flow-characterizing multiplexor | |
KR100323258B1 (en) | Rate guarantees through buffer management | |
US7020143B2 (en) | System for and method of differentiated queuing in a routing system | |
US7969882B2 (en) | Packet transfer rate monitoring control apparatus, method, and program | |
US7477599B2 (en) | System and method for guaranteeing quality of service in IP networks | |
US7680139B1 (en) | Systems and methods for queue management in packet-switched networks | |
JP4605911B2 (en) | Packet transmission device | |
US6977894B1 (en) | Method and apparatus for discarding data packets through the use of descriptors | |
US6647424B1 (en) | Method and apparatus for discarding data packets | |
US20080212473A1 (en) | System and Method for Aggregated Shaping of Multiple Prioritized Classes of Service Flows | |
US20050068798A1 (en) | Committed access rate (CAR) system architecture | |
US20070230339A1 (en) | Network system capable of dynamically controlling data flow and its method | |
JP2005513960A (en) | Packet scheduling method and apparatus | |
CN105915468B (en) | A kind of dispatching method and device of business | |
JP7211765B2 (en) | PACKET TRANSFER DEVICE, METHOD AND PROGRAM | |
US20090323525A1 (en) | Priority aware policer and method of priority aware policing | |
EP2996293B1 (en) | A packet scheduling networking device for deadline aware data flows | |
JP3649661B2 (en) | Packet scheduling method and packet scheduling apparatus | |
KR20090053180A (en) | Queuing method by virtual clock, and scheduling apparatus and method using that | |
KR100462475B1 (en) | Apparatus for queue scheduling using linear control and method therefor | |
KR101093500B1 (en) | Real Time Scheduling Apparatus and Method by Flow Reservation/Registration | |
KR20060009775A (en) | Apparatus and method for transmitting multimedia packet | |
JP3854745B2 (en) | Packet processing apparatus and packet processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |