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 PDF

Info

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
Application number
KR1020070119876A
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 KR1020070119876A priority Critical patent/KR20090053180A/en
Publication of KR20090053180A publication Critical patent/KR20090053180A/en

Links

Images

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/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual 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)를 보장하기 위한, 가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법과 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 한다.

이를 위하여, 본 발명은 스케줄링 장치에 있어서, 비실시간 트래픽을 패킷 도착률에 따라 분류하기 위한 패킷 분류 수단; 상기 패킷 분류 수단에서 분류된 트래픽별로 패킷 도착률에 따라 가상시간을 적용하기 위한 가상시간 적용 수단; 상기 가상시간 적용 수단에서 가상시간이 적용된 패킷에 대하여 가상시간을 기반으로 큐잉 정책을 조절하기 위한 큐잉 수단; 및 상기 큐잉 수단에 의해 큐잉된 패킷을 가상시간을 기반으로 스케줄링하기 위한 가상시간 스케줄링 수단을 포함한다.

Figure P1020070119876

큐잉, 스케줄링, 비실시간 트래픽, 패킷 도착률(패킷의 평균도착률), 가상시간, 보조 가상시간, 위험 구간

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.

Figure P1020070119876

Queuing, scheduling, non-real-time traffic, packet arrival rate (packet average arrival rate), virtual time, secondary virtual time, critical interval

Description

가상시간을 이용한 큐잉 방법과 그를 이용한 스케줄링 장치 및 그 방법{Queuing method by virtual clock, and scheduling apparatus and method using that}Queuing method using virtual time, scheduling apparatus using same and method therefor {Queuing method by virtual clock, and scheduling apparatus and method using that}

본 발명은 동기식 이더넷(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 flow units 11 Use divided by. The WFQ scheduling scheme avoids queue congestion through a tail drop 12 which discards all packets arriving after the queue 13 is full.

그리고 선입선출(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 WFQ scheduler 14, if the continuous delay continues and the queue fills up, traffic may be congested. Accordingly, there is a problem in that a packet is discarded if a high-priority traffic having a high bandwidth requirement continues to accumulate a service delay even with a reallocated bandwidth according to a weight.

이에 따라, 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 input packet 21 in units of flows based on a classification criterion with reference to the header information of the input packet 21. At the same time, determine the class of traffic to which the flow belongs. Here, determining the class of traffic means that the input traffic is actually queued and how it is scheduled.

이때, 분류기(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 packet 23 passing through the classifier 22 is characterized by a meter 24 assigned to each traffic flow. The measured results are compared with the QoS traffic characteristics promised in advance, and the markers 25 are marked at several priorities according to the comparison result, and polishing and shaping according to a predetermined policy. (Shaping) (26). The packet then exits the queue via the queuing scheduler 28 after passing through a queue manager 27 which deals with how the queue is handled upon arrival of a packet that exceeds its internal processing capacity.

그러나 상기와 같은 종래의 방법은 패킷의 우선순위 또는 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 first packet classifier 302 that classifies non-real-time traffic in synchronous Ethernet uses four tuples, unlike a conventional classifier (22 in FIG. 2) that uses five tuples. Frames used to transmit data and messages in synchronous Ethernet use IEEE 802.1 Q frames because they cover two layers. In the first packet classifier 302 of the synchronous Ethernet, the traffic 301 that enters (inputs) from a terminal or the like is transmitted to a source address, a destination (destination) address, a VLAN (Priority LAN) priority, and an ether type ( Classify non-real-time traffic using EtherType, Ethernet type). At this time, the traffic divided into real-time traffic is processed in a traffic processing method through the reservation, which is a known method.

그리고 도 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) field 308, a destination address (SA) field ( 309), Tag Protocol IDentifier (TPID) field 310, Virtual LAN (VLAN) ID field 311, EtherType (EtherType, Ethernet) field 312, Data field 313, and Frame Check Sum) field 314.

상기 목적지(수신지) 주소(DA) 필드(308)는 해당 프레임을 수신할 수신지 주소를 저장하고 있고, 송신지 주소(SA) 필드(309)는 프레임을 송신한 송신지 주소를 저장하고 있으며, 송신지 주소(SA) 필드(309)의 바로 다음에는 VLAN 태그가 존재함을 알리는 역할을 하는 TPID 필드(310)가 존재한다.The destination (destination) address (DA) field 308 stores a destination address to receive the frame, and the sender address (SA) field 309 stores a destination address that transmitted the frame. Immediately after the source address (SA) field 309 is a TPID field 310, which serves to indicate the presence of a VLAN tag.

상기 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 VLAN ID field 311, a priority field 315 indicating one of eight priorities of IEEE 802.1Q, a CFI indicating the format of a transmission medium, that is, Ethernet or token ring. (Canonical Format Identifier) field 316, and a VID field 317 for recording the actual VLAN ID for distinguishing a VLAN.

또한, 상기 IEEE 802.1 Q 프레임에는 상위 계층의 프로토콜을 나타내는 이더타입(EtherType, 이더넷의 형태) 필드(312)와 실제 데이터가 삽입되는 데이터 필드(313)가 존재하며, FCS 필드(314)는 해당 프레임의 오류 검사를 위한 특별한 4바이트 코드를 포함한다.In addition, the IEEE 802.1 Q frame includes an EtherType (EtherType) field 312 indicating a protocol of a higher layer and a data field 313 into which actual data is inserted, and the FCS field 314 corresponds to a corresponding frame. Contains a special 4-byte code for error checking.

이러한 필드들 중에서 본 발명에서는 목적지 주소 필드(308), 송신지 주소 필드(309), VLAN 우선순위 필드(315), 및 이더타입(EtherType, 이더넷의 형태) 필드(312)를 이용하여 브리지로 진입하는 트래픽(301)을 구분한다. 즉, 제 1 패킷 분류기(302)에서는 이더타입(EtherType, 이더넷의 형태)으로 비실시간 트래픽을 구분(분류)하고 VLAN 우선순위에 의해 트래픽들을 그룹화한다(303).Among these fields, the present invention enters the bridge using the destination address field 308, the source address field 309, the VLAN priority field 315, and the EtherType (EtherType) field 312. Traffic 301 is identified. That is, the first packet classifier 302 classifies (classifies) non-real-time traffic by EtherType (type of Ethernet) and groups the traffic by VLAN priority (303).

그리고 제 2 패킷 분류기(304)는 상기 제 1 패킷 분류기(302)에서 1차적으로 분류된 비실시간 트래픽을 패킷 도착률에 따라 2차적으로 분류(구분)한다. 이때, 패킷 도착률로는 패킷의 평균도착률(AR : Average arrival Rate)을 사용하는 것이 바람직하며, 그 외에도 패킷 전송률을 사용하거나, 기존 방식에서 사용하던 패킷 크기나 우선순위 등을 사용하여 구현할 수도 있다.The second packet classifier 304 secondarily classifies (classifies) non-real-time traffic classified primarily by the first packet classifier 302 according to the packet arrival rate. In this case, it is preferable to use an average arrival rate (AR) of the packet as the arrival rate. In addition, the packet arrival rate may be used, or the packet arrival rate may be implemented by using the packet size or priority used in the conventional scheme.

이하의 일실시예에서는 패킷 도착률로 패킷의 평균도착률(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 second packet classifier 304 may be implemented as an average arrival rate (AR) classifier.

그리고 마커(305)는 상기 제 2 패킷 분류기(304)에서 분류된 트래픽별로 가상시간을 이용한 타임스템프를 마킹한다. 이때, 마커(305) 내에 구비된 AR 미터(AR meter)가 상기 제 2 패킷 분류기(304)에서 분류된 트래픽별로 가상시간을 이용하여 타임스템프를 계산한다. 여기서, 타임스템프(현재 가상시간)는 이전 가상시간에 Vtick(Vtick = 1/평균도착율)을 더한 값이다.The marker 305 marks the timestamp using the virtual time for each traffic classified by the second packet classifier 304. At this time, an AR meter included in the marker 305 calculates a timestamp using virtual time for each traffic classified by the second packet classifier 304. Here, the timestamp (current virtual time) is a value obtained by adding Vtick (Vtick = 1 / average arrival rate) to the previous virtual time.

그리고 큐 관리자(306)에서는 상기 마커(305)에서 타임스템프(현재 가상시간)가 마킹된 각 패킷들을 가상시간을 기반으로 해당 큐에 할당하여 진입시키되, 이러한 큐잉 시에 해당 큐가 가득 차게 되면 해당 패킷을 폐기시키는 테일 드롭을 수행한다.In addition, the queue manager 306 allocates each packet marked with a time stamp (current virtual time) to the corresponding queue based on the virtual time in the marker 305, and when the corresponding queue becomes full during such queuing, Perform a tail drop to discard the packet.

그리고 가상시간 스케줄러(307)는 정상적인 큐잉 시 가상시간에 기반하여 상기 큐에서 패킷을 추출하여 전송한다.The virtual time scheduler 307 extracts and transmits a packet from the queue based on the virtual time during normal queuing.

도 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 first packet classifier 402 and a first packet classifier 402 for classifying (dividing) non-real-time traffic. A second packet classifier 404 and a second packet classifier 404 for classifying the non-real-time traffic classified primarily according to packet arrival rate (eg, average arrival rate of packets). A queuing policy based on the virtual time for the packet introduced by the AR meter 405 and the marker 406 for marking the timestamp using the virtual time, and the timestamp (current virtual time) marked by the marker 406 for each time. Scheduling the packet based on the virtual time of the queue manager 409 for managing the queues 411 to 414, and the packets queued to the queues 411 to 414 by the queue manager 409. For virtual A time scheduler 410.

다음으로, 상기 각 구성 요소에 대하여 좀더 구체적으로 살펴보면 다음과 같다.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, packets 401 inputted from a terminal or the like are first classified (classified) and grouped into non-real-time traffic by the first packet classifier 402 (403), and the non-real-time traffic thus classified is classified into a second packet classifier ( AR classifier (404) is again divided by the average arrival rate of the packet. The flows divided by the average arrival rate of the packets are marked with a time stamp 407 corresponding to each flow by a meter defined as an AR meter 405 and a marker 406. That is, the AR meter 405 and the marker 406 have a time stamp (current virtual arrival rate) to which Vtick (1 / average arrival rate) is added based on the virtual time 408 for each of the flows divided by the average arrival rate of the packets. Time (407) is allocated and marked. That is, the current virtual time (timestamp) of the newly generated packet is calculated as shown in Equation 1 below.

현재 가상시간(타임스템프) = 이전 가상시간 + VtickCurrent virtual time (timestamp) = previous virtual time + Vtick

여기서, 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 queue manager 409 adjusts a queuing policy by comparing a current virtual time and a current time of a packet introduced by marking a time stamp (current virtual time) at the marker 406. That is, the queue manager 409 adjusts a queuing policy by comparing a current virtual time and an auxiliary virtual time of a packet introduced by marking a timestamp (current virtual time) at the marker 406 with a current time and a critical section. The packet is inserted into the queues 411 to 414 according to the adjusted queuing policy. The queue manager 409 discards the packet with a tail drop policy to prevent an overload of the system when an overflow possibility condition in the queues 411 to 414 occurs.

그리고 가상시간 스케줄러(410)는 상기 큐(411 내지 414)에 큐잉된 패킷의 가상시간을 기반으로 해당 패킷을 스케줄링하여 전송한다. 도 4에서 최상위 큐(411)의 4번, 5번, 6번 패킷이 먼저 추출되어 전송되고, 그 다음으로 두 번째 큐(412)의 10번 패킷과 세 번째 큐(413)의 10번 패킷이 추출되어 전송되며, 이후에 다시 두 번째 큐의 12번 및 14번 패킷이 추출되어 전송되고, 마지막으로 최하위 큐(414)의 30번 패킷이 추출되어 전송되는 순서로 스케줄링이 이루어진다.The virtual time scheduler 410 schedules and transmits the packet based on the virtual time of the packet queued in the queues 411 to 414. In FIG. 4, packets 4, 5, and 6 of the highest queue 411 are first extracted and transmitted, and then packets 10 and 10 of the second queue 412 and 10, of the third queue 413 After extracting and transmitting, packets 12 and 14 of the second queue are extracted and transmitted again, and finally, scheduling is performed in the order that packets 30 of the lowest queue 414 are extracted and transmitted.

도 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 marker 406 of FIG. 4.

도 5a를 참조하여 살펴보면, 도 5a의 가상의 큐(501)에서 현재 가상시간(503)이 현재시간(502)보다 앞서 있고 위험 구간(504)보다 작을 경우에, 큐 관리자(409)는 정상적인 큐잉을 한다. 이때, 현재시간은 큐에 진입한 패킷들이 처리되는 시간이고, 각 큐의 90%인 지점에 있는 위험 구간(504)은 큐가 가득 차서 오버플로우가 발생함으로 인하여 시스템이 과부하되는 것을 막기 위한 기준점이며, 현재 가상시간은 상기 [수학식 1]에 따라 계산된 값이다.Referring to FIG. 5A, in the virtual queue 501 of FIG. 5A, when the current virtual time 503 is earlier than the current time 502 and less than the danger section 504, the queue manager 409 may be normally queued. Do it. At this time, the current time is the time that the packets entering the queue are processed, the critical section 504 at the point of 90% of each queue is a reference point to prevent the system from being overloaded due to the overflow of the queue is full. , The current virtual time is a value calculated according to Equation 1 above.

도 5b를 참조하여 살펴보면, 도 5b의 큐(505)에서는 현재 가상시간(507)이 현재시간(506)보다 크지만 위험 구간(508)과 같아지는 순간부터 큐 관리자(409)는 테일 드롭 정책으로 해당 패킷을 폐기시켜 패킷들이 더 이상 해당 큐로 진입되지 않도록 한다.Referring to FIG. 5B, in the queue 505 of FIG. 5B, the queue manager 409 becomes a tail drop policy from the moment when the current virtual time 507 is greater than the current time 506 but equals the danger section 508. Discard the packet so that it no longer enters the queue.

도 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 queue 509 of FIG. 5C is a case where the current virtual time 510 is smaller than the current time 511. This indicates a case where a packet keeps coming in and does not come in during an Average Observation Interval Range (AIR) or when a packet comes in later than the speed at which the current time passes. Here, the average observation interval (AIR) represents the total amount of packets entering the product of the average arrival rate (AR) of the packet and the average observation interval (AI) in which the packet is continuously serviced to the average observation interval of the packet. The marker 406 compares the present time with the present virtual time for each first section of the mean observation section AIR. The marker 406 uses the auxiliary virtual time 512 when the current virtual time 510 is less than the current time 511, such as the queue 509 of FIG. 5C. Accordingly, the virtual time scheduling operation can be continued by adding the newly measured Vtick by the average arrival rate of the packet entering the secondary virtual time 512 updated to the current time even if the packet enters again after the average observation interval AIR. Will be. The virtual time scheduling task allows to continue queuing and scheduling packets until the current virtual time 510 is not greater than or equal to the critical interval 513.

도 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 comparison result 606, if the current virtual time is greater than the current time, the virtual time is compared with the danger interval (610), if the current virtual time is less than the danger interval, the queue continues by the priority and virtual time of each queue If the current virtual time is greater than the critical period (611), the queue manager discards the packet with a tail drop (612), and then proceeds to process "613".

그리고 큐 관리자는 계속 큐잉을 하다가 가상 큐가 비었는지를 확인하여(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)

스케줄링 장치에 있어서,In the scheduling apparatus, 비실시간 트래픽을 패킷 도착률에 따라 분류하기 위한 패킷 분류 수단;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 a packet queued by the queuing means based on a virtual time 을 포함하는 가상시간을 이용한 스케줄링 장치.Scheduling apparatus using a virtual time comprising a. 제 1 항에 있어서,The method of claim 1, 상기 패킷 분류 수단은,The packet classification means, 비실시간 트래픽을 분류하기 위한 제 1 패킷 분류기; 및A first packet classifier for classifying non-real-time traffic; And 상기 제 1 패킷 분류기에서 분류된 비실시간 트래픽을 패킷 도착률에 따라 분류하기 위한 제 2 패킷 분류기A second packet classifier for classifying non-real-time traffic classified by the first packet classifier according to packet arrival rate 를 포함하는 가상시간을 이용한 스케줄링 장치.Scheduling apparatus using a virtual time comprising a. 제 2 항에 있어서,The method of claim 2, 상기 제 2 패킷 분류기는,The second packet classifier, 패킷 도착률로 패킷의 평균도착률(AR : Average arrival Rate)을 사용하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.A scheduling apparatus using virtual time, characterized in that the average arrival rate (AR) of the packet is used as the packet arrival rate. 제 2 항에 있어서,The method of claim 2, 상기 제 2 패킷 분류기는,The second packet classifier, 패킷 도착률로 패킷 전송률, 패킷 크기, 우선순위 중 어느 하나를 사용하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.A scheduling apparatus using virtual time, characterized in that any one of a packet transmission rate, a packet size, and a priority is used as a packet arrival rate. 제 2 항 내지 제 4 항 중 어느 한 항에 있어서,The method according to any one of claims 2 to 4, 상기 제 1 패킷 분류기는,The first packet classifier, 송신지 주소, 목적지(수신지) 주소, VLAN(virtual LAN) 우선순위(Priority), 및 이더타입(EtherType)을 이용하여 비실시간 트래픽을 분류하여 그룹핑하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.A scheduling apparatus using virtual time, comprising classifying and grouping non-real-time traffic by using a source address, a destination (destination) address, a VLAN (Priority LAN) Priority, and an EtherType. 제 5 항에 있어서,The method of claim 5, wherein 상기 제 1 패킷 분류기는,The first packet classifier, 이더타입(EtherType)으로 비실시간 트래픽을 구분(분류)하고 VLAN 우선순위에 의해 트래픽들을 그룹핑하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.A scheduling apparatus using virtual time, characterized by classifying (classifying) non-real-time traffic by EtherType and grouping the traffic by VLAN priority. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 상기 가상시간 적용 수단은,The virtual time applying means, 상기 패킷 분류 수단에서 분류된 트래픽별로 가상시간과 패킷 도착률을 이용하여 타임스템프(현재 가상시간)를 계산하기 위한 타임스템프 계산 수단; 및Timestamp calculation means for calculating a timestamp (current virtual time) using the virtual time and the packet arrival rate for each traffic classified by the packet classification means; And 상기 분류된 트래픽 플로우별로 상기 타임스템프 계산 수단에서 계산된 타임스템프(현재 가상시간)를 할당하여 마킹하기 위한 수단Means for allocating and marking the timestamp (current virtual time) calculated by the timestamp calculation means for each classified traffic flow 을 포함하는 가상시간을 이용한 스케줄링 장치.Scheduling apparatus using a virtual time comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 타임스템프 계산 수단은,The time stamp calculation means, 이전 가상시간에 Vtick을 더하여 타임스템프(현재 가상시간)를 산출하되, 상기 Vtick은 "1/패킷평균도착율"인 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.The time stamp (current virtual time) is calculated by adding Vtick to the previous virtual time, wherein the Vtick is " 1 / packet average arrival rate ". 제 7 항에 있어서,The method of claim 7, wherein 상기 큐잉 수단은,The queuing means, 상기 타임스템프(현재 가상시간)가 마킹되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하고, 상기 조절된 큐잉 정책에 따라 패킷을 삽입하거나 테일 드롭으로 패킷을 폐기하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.The queuing policy is adjusted by comparing the current virtual time and the auxiliary virtual time of the incoming packet with the timestamp (current virtual time) marked with the current time and the risk interval, and the packet is inserted or the tail is dropped according to the adjusted queuing policy. Scheduling apparatus using a virtual time, characterized in that for discarding packets. 제 9 항에 있어서,The method of claim 9, 상기 큐잉 수단은,The queuing means, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간보다 크고 위험 구간보다 작음에 따라 가상시간을 기반으로 큐잉(패킷 삽입)을 수행하고,As the current virtual time (timestamp) is applied and the current virtual time of the incoming packet is larger than the current time and less than the critical section, queueing (packet insertion) is performed based on the virtual time. 현재 가상시간이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간 및 위험 구간보다 큼에 따라 테일 드롭으로 패킷을 폐기하며,As the current virtual time is applied and the current virtual time of the incoming packet is greater than the current time and the critical section, the packet is dropped by tail drop. 현재 가상시간이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간보다 작음에 따라 보조 가상시간을 기반으로 큐잉을 수행하는 것을 특징으로 하는 가상 시간을 이용한 스케줄링 장치.The scheduling apparatus using the virtual time, characterized in that for performing the queuing based on the auxiliary virtual time as the current virtual time of the packet introduced by the current virtual time is smaller than the current time. 제 10 항에 있어서,The method of claim 10, 상기 큐잉 수단은,The queuing means, 상기 보조 가상시간을 기반으로 큐잉하는 중에 가상시간이 현재시간으로 업데이트되는지를 확인하여, 업데이트되면 현재 가상시간을 위험 구간과 비교하여 가상시간을 기반으로 큐잉(패킷 삽입)을 수행하거나 테일 드롭으로 패킷을 폐기하고, 업데이트되지 않으면 보조 가상시간을 위험 구간과 비교하여 보조 가상시간을 기반으로 큐잉(패킷 삽입)을 계속 수행하거나 테일 드롭으로 패킷을 폐기하는 기능을 더 수행하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 장치.While queuing based on the auxiliary virtual time, it is checked whether the virtual time is updated to the current time, and when updated, the current virtual time is compared with a critical section to perform queuing (packet insertion) based on the virtual time or packet by tail drop. Discards the virtual time, and if it is not updated, compares the secondary virtual time with the critical section to continue queuing (packet insertion) based on the secondary virtual time or further discard the packet by tail drop. Scheduling device used. 스케줄링 방법에 있어서,In the scheduling method, 비실시간 트래픽을 패킷 도착률에 따라 분류하는 패킷 분류 단계;A 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 상기 큐잉 정책에 따라 큐잉된 패킷을 가상시간을 기반으로 스케줄링하는 가 상시간 스케줄링 단계Virtual time scheduling step of scheduling the queued packet based on the virtual time according to the queuing policy 를 포함하는 가상시간을 이용한 스케줄링 방법.Scheduling method using a virtual time comprising a. 제 12 항에 있어서,The method of claim 12, 상기 패킷 분류 단계는,The packet classification step, 비실시간 트래픽을 분류하는 제 1 패킷 분류 과정; 및A first packet classification process for classifying non-real-time traffic; And 상기 제 1 패킷 분류 과정에서 분류된 비실시간 트래픽을 패킷 도착률에 따라 분류하는 제 2 패킷 분류 과정A second packet classification process classifying the non-real-time traffic classified in the first packet classification process according to a packet arrival rate 을 포함하는 가상시간을 이용한 스케줄링 방법.Scheduling method using a virtual time comprising a. 제 13 항에 있어서,The method of claim 13, 상기 제 2 패킷 분류 과정은,The second packet classification process, 패킷 도착률로 패킷의 평균도착률(AR : Average arrival Rate)을 사용하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 방법.A scheduling method using virtual time, characterized in that the average arrival rate (AR) of the packet is used as the packet arrival rate. 제 13 항에 있어서,The method of claim 13, 상기 제 2 패킷 분류 과정은,The second packet classification process, 패킷 도착률로 패킷 전송률, 패킷 크기, 우선순위 중 어느 하나를 사용하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 방법.A scheduling method using virtual time, wherein any one of a packet transmission rate, a packet size, and a priority is used as a packet arrival rate. 제 13 항 내지 제 15 항 중 어느 한 항에 있어서,The method according to any one of claims 13 to 15, 상기 제 1 패킷 분류 과정은,The first packet classification process, 송신지 주소, 목적지(수신지) 주소, VLAN(virtual LAN) 우선순위(Priority), 및 이더타입(EtherType)을 이용하여 비실시간 트래픽을 분류하여 그룹핑하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 방법.A method for scheduling using virtual time, comprising classifying and grouping non-real-time traffic using a source address, a destination (destination) address, a VLAN (PLAN) Priority, and an EtherType. 제 12 항 내지 제 15 항 중 어느 한 항에 있어서,The method according to any one of claims 12 to 15, 상기 가상시간 적용 단계는,The virtual time applying step, 상기 패킷 분류 단계에서 분류된 트래픽별로 가상시간과 패킷 도착률을 이용하여 타임스템프(현재 가상시간)를 계산하는 타임스템프 계산 과정; 및A timestamp calculation step of calculating a timestamp (current virtual time) by using the virtual time and the packet arrival rate for each traffic classified in the packet classification step; And 상기 분류된 트래픽 플로우별로 상기 타임스템프 계산 과정에서 계산된 타임스템프(현재 가상시간)를 할당하여 마킹하는 과정Assigning and marking the timestamp (current virtual time) calculated in the timestamp calculation process for each classified traffic flow 을 포함하는 가상시간을 이용한 스케줄링 방법.Scheduling method using a virtual time comprising a. 제 17 항에 있어서,The method of claim 17, 상기 타임스템프 계산 과정은,The timestamp calculation process, 이전 가상시간에 Vtick을 더하여 타임스템프(현재 가상시간)를 산출하되, 상기 Vtick은 "1/패킷평균도착율"인 것을 특징으로 하는 가상시간을 이용한 스케줄링 방법.A timestamp (current virtual time) is calculated by adding Vtick to a previous virtual time, wherein the Vtick is " 1 / packet average arrival rate ". 제 17 항에 있어서,The method of claim 17, 상기 큐잉 단계는,The queuing step, 상기 타임스템프(현재 가상시간)가 마킹되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하고, 상기 조절된 큐잉 정책에 따라 패킷을 삽입하거나 테일 드롭으로 패킷을 폐기하는 것을 특징으로 하는 가상시간을 이용한 스케줄링 방법.The queuing policy is adjusted by comparing the current virtual time and the auxiliary virtual time of the incoming packet with the timestamp (current virtual time) marked with the current time and the risk interval, and the packet is inserted or the tail is dropped according to the adjusted queuing policy. Scheduling method using a virtual time, characterized in that to discard the packet. 제 19 항에 있어서,The method of claim 19, 상기 큐잉 단계는,The queuing step, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간보다 크고 위험 구간보다 작음에 따라 가상시간을 기반으로 큐잉(패킷 삽입)을 수행하는 과정;Performing queuing (packet insertion) based on the virtual time as the current virtual time of the incoming packet is applied to the current virtual time (timestamp) than the current time and less than the dangerous interval; 현재 가상시간이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간 및 위험 구간보다 큼에 따라 테일 드롭으로 패킷을 폐기하는 과정; 및Discarding the packet with a tail drop as the current virtual time of the packet introduced by applying the current virtual time is greater than the current time and the danger interval; And 현재 가상시간이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간보다 작음에 따라 보조 가상시간을 기반으로 큐잉을 수행하는 과정Process of performing queuing based on the auxiliary virtual time as the current virtual time of the incoming packet is applied less than the current time by applying the current virtual time 을 포함하는 가상시간을 이용한 스케줄링 방법.Scheduling method using a virtual time comprising a. 제 20 항에 있어서,The method of claim 20, 상기 큐잉 방법은,The queuing method, 상기 보조 가상시간을 기반으로 큐잉하는 중에 가상시간이 현재시간으로 업데이트되는지를 확인하는 과정;Checking whether a virtual time is updated to a current time while queuing based on the auxiliary virtual time; 상기 확인 결과, 업데이트되면 현재 가상시간을 위험 구간과 비교하여 가상시간을 기반으로 큐잉(패킷 삽입)을 수행하거나 테일 드롭으로 패킷을 폐기하는 과정; 및As a result of the checking, when updated, comparing the current virtual time with a dangerous section to perform queuing (packet insertion) based on the virtual time or discarding the packet by tail drop; And 상기 확인 결과, 업데이트되지 않으면 보조 가상시간을 위험 구간과 비교하여 보조 가상시간을 기반으로 큐잉(패킷 삽입)을 계속 수행하거나 테일 드롭으로 패킷을 폐기하는 과정As a result of the check, if the update is not updated, the secondary virtual time is compared with the critical section to continue queuing (packet insertion) based on the secondary virtual time, or discard the packet by tail drop. 을 더 포함하는 가상시간을 이용한 스케줄링 방법.Scheduling method using a virtual time further comprising. 큐잉 방법에 있어서,In the queuing method, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하는 단계; 및Adjusting a queuing policy by comparing a current virtual time and an auxiliary virtual time of an incoming packet by applying a current virtual time (timestamp) with a current time and a risk interval; And 상기 조절된 큐잉 정책에 따라 패킷을 삽입하거나 테일 드롭으로 패킷을 폐기하는 단계Inserting packets or discarding packets with tail drops according to the adjusted queuing policy 를 포함하는 가상시간을 이용한 큐잉 방법.Queuing method using a virtual time comprising a. 제 22 항에 있어서,The method of claim 22, 상기 큐잉 방법은,The queuing method, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간보다 크고 위험 구간보다 작음에 따라 가상시간을 기반으로 큐잉(패킷 삽입)을 수행하는 단계;Performing a queuing (packet insertion) based on the virtual time as the current virtual time of the incoming packet is applied by applying the current virtual time (timestamp) to be greater than the current time and less than the critical period; 현재 가상시간이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간 및 위험 구간보다 큼에 따라 테일 드롭으로 패킷을 폐기하는 단계; 및Discarding the packet with a tail drop as the current virtual time of the packet introduced by applying the current virtual time is greater than the current time and the danger interval; And 현재 가상시간이 적용되어 유입되는 패킷의 현재 가상시간이 현재시간보다 작음에 따라 보조 가상시간을 기반으로 큐잉을 수행하는 단계Performing the queuing based on the auxiliary virtual time as the current virtual time of the incoming packet is applied than the current virtual time by applying the current virtual time 를 포함하는 가상시간을 이용한 큐잉 방법.Queuing method using a virtual time comprising a. 제 23 항에 있어서,The method of claim 23, 상기 큐잉 방법은,The queuing method, 상기 보조 가상시간을 기반으로 큐잉하는 중에 가상시간이 현재시간으로 업데이트되는지를 확인하는 단계;Checking whether a virtual time is updated to a current time while queuing based on the auxiliary virtual time; 상기 확인 결과, 업데이트되면 현재 가상시간을 위험 구간과 비교하여 가상시간을 기반으로 큐잉(패킷 삽입)을 수행하거나 테일 드롭으로 패킷을 폐기하는 단계; 및As a result of the checking, when updated, comparing the current virtual time with a dangerous section to perform queuing (packet insertion) based on the virtual time or discarding the packet by tail drop; And 상기 확인 결과, 업데이트되지 않으면 보조 가상시간을 위험 구간과 비교하여 보조 가상시간을 기반으로 큐잉(패킷 삽입)을 계속 수행하거나 테일 드롭으로 패킷을 폐기하는 단계If it is not confirmed, comparing the auxiliary virtual time with a critical section if not updated, continuously performing queuing (packet insertion) based on the auxiliary virtual time, or discarding the packet by tail drop; 를 더 포함하는 가상시간을 이용한 큐잉 방법.Queuing method using a virtual time further comprising. 프로세서를 구비한 스케줄링 장치에,In a scheduling device having a processor, 비실시간 트래픽을 패킷 도착률에 따라 분류하는 패킷 분류 기능;A packet classification function for classifying non-real-time traffic according to 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 상기 큐잉 정책에 따라 큐잉된 패킷을 가상시간을 기반으로 스케줄링하는 가 상시간 스케줄링 기능Virtual time scheduling function for scheduling a queued packet based on a virtual time according to the queuing policy 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this. 프로세서를 구비한 큐잉 장치에,In a queuing device having a processor, 현재 가상시간(타임스템프)이 적용되어 유입되는 패킷의 현재 가상시간과 보조 가상시간을 현재시간 및 위험 구간과 비교하여 큐잉 정책을 조절하는 기능; 및A function of adjusting a queuing policy by comparing a current virtual time and an auxiliary virtual time of an incoming packet by applying a current virtual time (timestamp) with a current time and a risk interval; And 상기 조절된 큐잉 정책에 따라 패킷을 삽입하거나 테일 드롭으로 패킷을 폐기하는 기능A function of inserting a packet or discarding the packet by tail drop according to the adjusted queuing policy. 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1020070119876A 2007-11-22 2007-11-22 Queuing method by virtual clock, and scheduling apparatus and method using that KR20090053180A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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