KR101224593B1 - Apparatus for scheduling of packet flow and method thereof in packet switching network - Google Patents

Apparatus for scheduling of packet flow and method thereof in packet switching network Download PDF

Info

Publication number
KR101224593B1
KR101224593B1 KR1020060065479A KR20060065479A KR101224593B1 KR 101224593 B1 KR101224593 B1 KR 101224593B1 KR 1020060065479 A KR1020060065479 A KR 1020060065479A KR 20060065479 A KR20060065479 A KR 20060065479A KR 101224593 B1 KR101224593 B1 KR 101224593B1
Authority
KR
South Korea
Prior art keywords
packet
flow
service
value
maximum transmission
Prior art date
Application number
KR1020060065479A
Other languages
Korean (ko)
Other versions
KR20070082482A (en
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 삼성전자주식회사
Publication of KR20070082482A publication Critical patent/KR20070082482A/en
Application granted granted Critical
Publication of KR101224593B1 publication Critical patent/KR101224593B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Abstract

본 발명은 전달하고자 하는 정보가 없는 패킷인 널(Null) 패킷과 전달 정보를 가지고 있는 리얼(Real) 패킷을 지원하는 패킷 스위칭 네트워크에서, 패킷 플로우(flow) 별 비어있는 큐(queue)를 검출하고, 비어 있는 큐의 존재 여부에 따라 패킷 서비스 방식을 결정하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법과 장치에 관한 것이다.The present invention detects an empty queue for each packet flow in a packet switching network that supports a null packet, which is a packet without information to be delivered, and a real packet having delivery information. The present invention relates to a packet flow scheduling method and apparatus for a packet switching network for determining a packet service method according to whether an empty queue exists.

본 발명에 의하면, 비어 있는 큐 내에 널(Null) 패킷을 생성하여 처리하는 것으로 인해, 패킷 스위칭 네트워크의 최대 지연값(maximum delay)을 감소시키고 패킷 스위칭 네트워크에서의 서비스 품질(QoS)을 보장할 수 있다.According to the present invention, by generating and processing a null packet in an empty queue, it is possible to reduce the maximum delay of the packet switching network and to ensure the quality of service (QoS) in the packet switching network. have.

패킷 스위칭 네트워크, 플로우 스케줄링, 비어 있는 큐, 널 패킷 Packet Switching Network, Flow Scheduling, Empty Queues, Null Packets

Description

패킷 스위칭 네트워크에서의 패킷 플로우 스케줄링 장치 및 방법{APPARATUS FOR SCHEDULING OF PACKET FLOW AND METHOD THEREOF IN PACKET SWITCHING NETWORK}Apparatus and method for scheduling packet flow in packet switching network {APPARATUS FOR SCHEDULING OF PACKET FLOW AND METHOD THEREOF IN PACKET SWITCHING NETWORK}

도 1은 본 발명의 제1 실시예에 따른 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법을 나타낸 동작 흐름도,1 is a flowchart illustrating a packet flow scheduling method of a packet switching network according to a first embodiment of the present invention;

도 2는 도 1의 패킷 플로우 스케줄링 방법 중 패킷 플로우 별 비어있는 큐 처리 단계를 나타낸 동작 흐름도,2 is a flowchart illustrating an empty queue processing step for each packet flow in the packet flow scheduling method of FIG. 1;

도 3은 도 1의 패킷 플로우 스케줄링 방법 중 집성 패킷 플로우 생성 단계를 나타낸 동작 흐름도,3 is an operation flowchart illustrating an aggregate packet flow generation step in the packet flow scheduling method of FIG. 1;

도 4는 도 1의 패킷 플로우 스케줄링 방법 중 수신된 집성 패킷 플로우 분리 단계를 나타낸 동작 흐름도,4 is a flowchart illustrating an operation of separating an aggregated packet flow in the packet flow scheduling method of FIG. 1;

도 5는 도 1의 패킷 플로우 스케줄링 방법 중 수신된 패킷 플로우 식별 및 최대 전송 허용량 값 설정 단계를 나타낸 동작 흐름도,FIG. 5 is a flowchart illustrating an operation of identifying a received packet flow and setting a maximum transmission allowance value in the packet flow scheduling method of FIG. 1;

도 6은 도 1의 패킷 플로우 스케줄링 방법 중 패킷 플로우에 대한 서비스를 수행하는 단계를 나타낸 동작 흐름도,6 is a flowchart illustrating an operation of performing a service for a packet flow in the packet flow scheduling method of FIG. 1;

도 7은 본 발명의 제1 실시예에 따른 패킷 플로우 스케줄링 장치를 나타낸 블럭도,7 is a block diagram showing a packet flow scheduling apparatus according to a first embodiment of the present invention;

도 8은 본 발명의 패킷 플로우 스케줄링 장치 및 방법이 적용된 시스템의 동작을 나타낸 예시도,8 is an exemplary view showing the operation of a system to which the packet flow scheduling apparatus and method of the present invention are applied;

도 9는 본 발명에 따른 패킷 플로우 스케줄링 방법을 설명하기 위한 스위치 노드의 구조를 나타낸 예시도,9 is an exemplary view showing the structure of a switch node for explaining a packet flow scheduling method according to the present invention;

도 10은 본 발명에 따른 패킷 플로우 스케줄링 방법에서 패킷 스위치의 큐 처리를 나타낸 예시도,10 is an exemplary diagram illustrating a queue processing of a packet switch in a packet flow scheduling method according to the present invention;

도 11은 본 발명에 따른 패킷 플로우 스케줄링 방법에서 집성 플로우를 수신한 스위치 노드의 구조를 나타낸 예시도,11 is an exemplary diagram illustrating a structure of a switch node that receives an aggregation flow in a packet flow scheduling method according to the present invention;

도 12는 본 발명의 실시예에 따른 플로우의 애그리게이션과 세그리게이션 모델을 나타낸 예시도,12 is an exemplary diagram illustrating an aggregation and a aggregation model of a flow according to an embodiment of the present invention;

도 13은 본 발명의 실시예에 따라 애그리게이션과 세그리게이션을 가지는 플로우의 지연 범위를 나타낸 예시도,13 is an exemplary diagram illustrating a delay range of a flow having aggregation and aggregation according to an embodiment of the present invention;

도 14는 본 발명의 종단간 지연(end-to-end delay)에 따른 플로우 애그러게이션을 나타낸 예시도,14 is an exemplary diagram illustrating flow aggregation according to an end-to-end delay of the present invention;

도 15는 각 스위치 노드에서의 애그리게이션과 세그리게이션을 나타낸 예시도,15 is an exemplary diagram illustrating aggregation and aggregation at each switch node;

도 16은 본 발명에 따른 애그리게이션 플로우의 세그리게이션을 나타낸 예시도,16 is an exemplary view showing aggregation of an aggregation flow according to the present invention;

도 17는 본 발명에 따른 패킷 플로우 스케줄링 장치의 구성을 나타낸 예시도,17 is an exemplary view showing the configuration of a packet flow scheduling apparatus according to the present invention;

도 18a, 18b, 18c는 본 발명에 따른 패킷 플로우 스케줄링 방법의 패킷 서비스 실행 단계를 나타낸 예시도이다.18A, 18B, and 18C are exemplary diagrams illustrating a packet service execution step of the packet flow scheduling method according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 >Description of the Related Art

720 : 수신부 730 : 제어부720: receiver 730: controller

740 : 전송부 750 : 저장부740: transmission unit 750: storage unit

본 발명은 패킷 스위칭 네트워크에서의 패킷 플로우 스케줄링 방법 및 장치에 관한 것으로, 더욱 상세하게는 패킷 플로우 별 비어있는 큐를 검출하고, 비어 있는 큐의 존재 여부에 따라 패킷 서비스 방식을 결정하여, 결정된 패킷 서비스 방식에 따라 데이터를 전송하도록 하는, 패킷 플로우 스케줄링 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for scheduling a packet flow in a packet switching network. More particularly, the present invention relates to a packet flow scheduling method, which detects an empty queue for each packet flow and determines a packet service method according to the existence of an empty queue. A packet flow scheduling method and apparatus for transmitting data according to a scheme.

일반적으로, 간단한 제어 신호나 데이터 정보 교환 또는 AV 기기 간의 실시간 스트리밍(streaming) 데이터를 송수신하는 패킷 스위칭 네트워크에서, 서비스 품질(QoS: Quality of Service)을 보장하는 문제는 계속해서 연구되고 있다.In general, in a packet switching network that transmits and receives simple control signals or data information or transmits real-time streaming data between AV devices, a problem of ensuring quality of service (QoS) is continuously studied.

최근 서비스 사용자가 급증하고, 대규모의 데이터가 실시간으로 전송되어야 하는 주문형 비디오, 화상 회의와 같은 응용이 등장함에 따라, 실시간 전송에 대한 종단간 서비스 품질(end-to-end QoS)을 보장하기 어려운 문제점이 있다.With the recent proliferation of service users and the emergence of applications such as video-on-demand and video conferencing where a large amount of data must be transmitted in real time, it is difficult to guarantee end-to-end QoS for real-time transmission. There is this.

이러한 문제점을 해결하기 위해 본 발명은, 비어 있는 큐 내에 널(Null) 패킷을 생성하여 서비스함으로써 최대 지연값을 감소시켜 서비스 품질(QoS)을 개선하도록 하는, 패킷 스위칭 네트워크에서의 패킷 플로우 스케줄링 장치 및 방법을 제공함에 그 목적이 있다.In order to solve this problem, the present invention provides a packet flow scheduling apparatus in a packet switching network to reduce the maximum delay by improving the quality of service (QoS) by generating a null packet in an empty queue to service it; The purpose is to provide a method.

이상과 같은 목적을 달성하기 위하여, 본 발명의 패킷 플로우 스케줄링 방법은, 전달 정보를 포함하지 않는 널(Null) 패킷 및 전달 정보를 포함하는 리얼(Real) 패킷을 포함하는 서비스 패킷을 지원하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법에 있어서, 패킷 플로우를 수신하는 단계와, 상기 패킷 플로우 별 비어있는 큐에 대한 처리를 하는 단계; 및 상기 처리된 패킷 플로우에 대한 서비스를 수행하는 단계를 포함한다.In order to achieve the above object, the packet flow scheduling method of the present invention is a packet switching that supports a service packet including a null packet not including delivery information and a real packet including delivery information. A packet flow scheduling method of a network, comprising: receiving a packet flow and processing an empty queue for each packet flow; And performing a service on the processed packet flow.

또한, 본 발명의 패킷 플로우 스케줄링 방법 중 상기 비어있는 큐 처리 단계는, 상기 비어있는 큐가 존재하는지 여부를 판정하는 단계 및 상기 비어있는 큐가 있음에 따라, 상기 비어있는 큐 내에 상기 널(Null) 패킷을 생성하는 단계를 포함할 수 있다.In the packet flow scheduling method of the present invention, the empty queue processing may include determining whether the empty queue exists and, as the empty queue exists, the null in the empty queue. Generating a packet.

한편, 본 발명의 패킷 플로우 스케줄링 방법 중 상기 널(Null) 패킷의 크기 는, 남아있는 최대 전송 허용량(Deficit)값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정하는 것이 바람직하다.Meanwhile, in the packet flow scheduling method of the present invention, the size of the null packet may be set to a value obtained by adding a quantity value of a service to be received by one flow to a remaining maximum transmission allowance value. .

또한, 본 발명의 패킷 플로우 스케줄링 방법은 상기 패킷 플로우들의 속성을 비교하는 패킷 플로우 속성 비교 단계 및 상기 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여 집성 패킷 플로우를 생성하는 단계를 더 포함할 수 있다.In addition, the packet flow scheduling method of the present invention may further include a packet flow attribute comparison step of comparing the attributes of the packet flows and aggregating packet flows having similar attributes among the packet flows to generate an aggregate packet flow. have.

한편, 본 발명의 패킷 플로우 스케줄링 방법은 상기 집성 패킷 플로우를 수신하는 단계 및 상기 집성 패킷 플로우를 세그리게이션하여 패킷 플로우들을 획득하는 집성 플로우 분리 단계를 더 포함할 수 있다.On the other hand, the packet flow scheduling method of the present invention may further comprise the step of receiving the aggregate packet flow and the aggregate flow separation step of obtaining the packet flows by the aggregation of the aggregate packet flow.

또한, 본 발명의 패킷 플로우 스케줄링 방법은 상기 수신된 패킷 플로우를 식별하는 단계 및 상기 패킷 플로우를 참조하여 상기 최대 전송 허용량 값을 설정하는 단계를 포함하는 것이 바람직하다.In addition, the packet flow scheduling method of the present invention preferably includes identifying the received packet flow and setting the maximum transmission allowance value with reference to the packet flow.

한편, 본 발명의 패킷 플로우 스케줄링 방법의 상기 최대 전송 허용량 값 설정 단계는 상기 남아 있는 최대 전송 허용량 값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정하는 단계를 포함하는 것이 바람직하다.On the other hand, the step of setting the maximum transmission allowance value of the packet flow scheduling method of the present invention preferably comprises the step of setting the remaining maximum transmission allowance value to the value of the service value (Quantum value) to receive one flow. .

또한, 본 발명의 패킷 플로우 스케줄링 방법의 상기 패킷 플로우에 대한 서비스 수행 단계는 상기 서비스 패킷의 크기와 상기 남아 있는 최대 전송 허용량 값의 크기를 비교하는 단계 및 상기 크기 비교 단계의 비교 결과에 따라 선택된 패킷 서비스를 실행하는 단계를 포함하는 것이 바람직하다.In addition, the performing of the service on the packet flow of the packet flow scheduling method of the present invention comprises comparing the size of the service packet with the size of the remaining maximum transmission allowance value and the packet selected according to the comparison result of the size comparison step. It is preferable to include the step of executing a service.

한편, 본 발명의 패킷 플로우 스케줄링 방법의 상기 패킷 서비스 실행 단계 는 상기 남아 있는 최대 전송 허용량 값의 크기가 상기 서비스 패킷의 크기보다 크거나 같음에 따라, 상기 서비스 패킷이 상기 널 패킷인지 여부를 판정하는 단계와, 상기 서비스 패킷이 상기 널(Null) 패킷임에 따라 상기 널 패킷에 대하여 매체 접근 제어 계층(MAC Layer)에서 서비스를 수행하는 단계 및 상기 남아 있는 최대 전송 허용량 값을 갱신하는 단계를 포함하는 것이 바람직하다.On the other hand, the packet service execution step of the packet flow scheduling method of the present invention determines whether the service packet is the null packet as the size of the remaining maximum transmission allowance value is greater than or equal to the size of the service packet. And performing a service in a media access control layer (MAC Layer) on the null packet as the service packet is the null packet and updating the remaining maximum transmission allowance value. It is preferable.

또한, 본 발명의 패킷 플로우 스케줄링 방법의 상기 패킷 서비스 실행 단계는 상기 서비스 패킷이 상기 리얼(Real) 패킷임에 따라, 상기 리얼 패킷에 대하여 매체 접근 제어 계층에서 서비스를 수행하는 단계와 상기 리얼 패킷을 물리 계층(PHY layer)으로 전송하는 단계 및 상기 남아 있는 최대 전송 허용량(Deficit)값을 갱신하는 단계를 포함하는 것이 바람직하다.In addition, the packet service execution step of the packet flow scheduling method of the present invention may be performed by performing a service in a media access control layer on the real packet and performing the real packet as the service packet is the real packet. Preferably, the method includes transmitting to the PHY layer and updating the remaining maximum transmission allowance value.

한편, 본 발명의 패킷 플로우 스케줄링 방법의 상기 최대 전송 허용량 값 갱신 단계는, 상기 남아 있는 최대 전송 허용량 값에서 상기 서비스 패킷의 크기를 차감한 값을 새로운 남아 있는 최대 전송 허용량 값으로 설정하는 단계를 포함하는 것이 바람직하다.On the other hand, the updating of the maximum transmission allowance value of the packet flow scheduling method of the present invention includes setting a value obtained by subtracting the size of the service packet from the remaining maximum transmission allowance value to a new remaining maximum transmission allowance value. It is desirable to.

또한, 본 발명의 패킷 플로우 스케줄링 방법의 상기 패킷 서비스 실행 단계는, 상기 남아 있는 최대 전송 허용량 값의 크기가 상기 서비스 패킷의 크기보다 작음에 따라, 상기 패킷을 대기시키는 단계를 포함하는 것이 바람직하다.In addition, the packet service execution step of the packet flow scheduling method of the present invention preferably includes waiting for the packet as the size of the remaining maximum transmission allowance value is smaller than the size of the service packet.

한편, 본 발명의 패킷 플로우 스케줄링 장치는 전달 정보를 포함하지 않는 널(Null) 패킷 및 전달 정보를 포함하는 리얼(Real) 패킷을 포함하는 서비스 패킷을 지원하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치에 있어서, 패킷 플로우를 수신하는 수신부 및 상기 수신부로부터 상기 패킷 플로우를 입력받아 상기 패킷 플로우 별 비어있는 큐를 처리하고, 상기 처리된 패킷 플로우에 대한 서비스를 수행하는 제어부를 포함한다.Meanwhile, the packet flow scheduling apparatus of the present invention is a packet flow scheduling apparatus of a packet switching network supporting a service packet including a null packet not including delivery information and a real packet including delivery information. And a controller configured to receive a packet flow, process the empty queue for each packet flow by receiving the packet flow from the receiver, and perform a service on the processed packet flow.

또한, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는, 상기 비어 있는 큐가 존재하는지 여부를 판정하고, 상기 비어있는 큐가 있음에 따라, 상기 비어 있는 큐 내에 상기 널(Null) 패킷을 생성하는 것을 포함할 수 있다.In addition, the control unit of the packet flow scheduling apparatus of the present invention determines whether the empty queue exists, and as the empty queue exists, generating the null packet in the empty queue. It may include.

한편, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 널(Null) 패킷의 크기를, 남아 있는 최대 전송 허용량(Deficit)값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정하는 것이 바람직하다.Meanwhile, the control unit of the packet flow scheduling apparatus of the present invention sets the size of the null packet to a value obtained by adding a quantity value of a service to be received by one flow to a maximum remaining allowable transmission value. It is preferable.

또한, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 패킷 플로우들의 속성을 비교하고, 상기 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여 집성 패킷 플로우를 생성할 수 있다.In addition, the controller of the packet flow scheduling apparatus of the present invention may compare the attributes of the packet flows and aggregate the packet flows having similar attributes among the packet flows to generate an aggregated packet flow.

한편, 본 발명의 패킷 플로우 스케줄링 장치의 상기 수신부는 상기 집성 패킷 플로우를 수신하고, 상기 제어부는 상기 집성 패킷 플로우를 세그리게이션하여, 패킷 플로우들을 획득할 수 있다.Meanwhile, the receiving unit of the packet flow scheduling apparatus of the present invention may receive the aggregate packet flow, and the controller may segment the aggregate packet flow to obtain packet flows.

또한, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 패킷 플로우를 식별하고, 상기 패킷 플로우를 참조하여 상기 남아 있는 최대 전송 허용량 값을 설정하는 것이 바람직하다.In addition, the control unit of the packet flow scheduling apparatus of the present invention preferably identifies the packet flow and sets the remaining maximum transmission allowance value with reference to the packet flow.

한편, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 남아 있는 최대 전송 허용량(Deficit)값에 하나의 플로우가 받을 서비스량(Quantum value) 을 더한 값으로 설정하는 것이 바람직하다.On the other hand, the control unit of the packet flow scheduling apparatus of the present invention preferably sets the remaining maximum transmission allowance (Deficit) value to the value of the service value (Quantum value) to receive one flow.

또한, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 서비스 패킷의 크기와 상기 남아 있는 최대 전송 허용량(Deficit)값의 크기를 비교하고, 상기 크기 비교 단계의 비교 결과에 따라 선택된 패킷 서비스를 실행하는 것이 바람직하다.In addition, the control unit of the packet flow scheduling apparatus of the present invention compares the size of the service packet and the size of the remaining maximum transmission allowance (Deficit) value, and executes the packet service selected according to the comparison result of the size comparison step It is preferable.

한편, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 남아 있는 최대 전송 허용량(Deficit)값의 크기가 상기 서비스 패킷의 크기보다 크거나 같음에 따라, 상기 서비스 패킷이 상기 널 패킷인지 여부를 판정하고, 상기 서비스 패킷이 상기 널(Null) 패킷임에 따라 상기 널 패킷에 대하여 매체 접근 제어 계층(MAC Layer)에서 서비스를 수행하며, 상기 남아 있는 최대 전송 허용량 값을 갱신하는 것이 바람직하다.On the other hand, the controller of the packet flow scheduling apparatus of the present invention determines whether the service packet is the null packet as the size of the remaining maximum transmission allowance value is greater than or equal to the size of the service packet. As the service packet is the null packet, it is preferable to perform a service in a media access control layer (MAC Layer) for the null packet and to update the remaining maximum transmission allowance value.

또한, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 서비스 패킷이 상기 리얼(Real) 패킷임에 따라, 상기 리얼 패킷에 대하여 매체 접근 제어 계층에서 서비스를 수행하고,상기 리얼 패킷을 물리 계층(PHY layer)으로 전송하며, 상기 남아 있는 최대 전송 허용량 값을 갱신하는 것이 바람직하다.The control unit of the packet flow scheduling apparatus of the present invention performs a service in a media access control layer with respect to the real packet as the service packet is the real packet, and transmits the real packet to a physical layer (PHY). layer), and it is preferable to update the remaining maximum transmission allowance value.

한편, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 남아 있는 최대 전송 허용량 값에서 상기 서비스 패킷의 크기를 차감한 값을 새로운 최대 전송 허용량 값으로 설정하는 것이 바람직하다.On the other hand, the control unit of the packet flow scheduling apparatus of the present invention preferably sets the new maximum transmission allowance value by subtracting the size of the service packet from the remaining maximum transmission allowance value.

또한, 본 발명의 패킷 플로우 스케줄링 장치의 상기 제어부는 상기 남아 있는 최대 전송 허용량 값의 크기가 상기 서비스 패킷의 크기보다 작음에 따라, 상기 패킷을 대기시키는 것이 바람직하다.In addition, the controller of the packet flow scheduling apparatus of the present invention preferably waits for the packet as the size of the remaining maximum transmission allowance value is smaller than the size of the service packet.

한편, 본 발명의 패킷 플로우 스케줄링 장치는 상기 패킷 플로우의 아이디(ID), 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value), 남아 있는 최대 전송 허용량 값, 처음 패킷 포인터(Initial Packet Pointer), 다음 패킷 포인터(Next Packet Pointer)와 같은 패킷 플로우 정보 및 패킷 정보를 저장하는 저장부를 더 포함할 수 있다.Meanwhile, the packet flow scheduling apparatus of the present invention includes an ID (ID), a flag, a service value to be received by one flow, a remaining maximum transmission allowance value, and an initial packet pointer. The apparatus may further include a storage unit configured to store packet flow information and packet information, such as a next packet pointer.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The operation principle of the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 1은 본 발명의 제1 실시예에 따른 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법을 나타낸 동작 흐름도이다.1 is a flowchart illustrating a packet flow scheduling method of a packet switching network according to a first embodiment of the present invention.

먼저, 본 발명에 따른 패킷 플로우 스케줄링 장치(710)의 수신부(720)를 통하여 서비스 패킷의 정보를 포함하는 패킷을 수신한다(S110). First, a packet including information of a service packet is received through the receiving unit 720 of the packet flow scheduling apparatus 710 according to the present invention (S110).

여기서, 데이터 패킷을 송수신하는 패킷 스위칭 네트워크에서는 '플로우(Flow)'라고 불리는 각 트래픽의 단위에 대하여 서비스 대역폭을 예약한다. 이 예약된 서비스 대역폭을 보장하기 위해서, 패킷 스위칭 네트워크는 스케줄링 알고리즘을 이용하여 할당된 만큼의 대역폭을 특정 플로우의 트래픽에 효율적으로 적용시킬 수 있다. Here, in a packet switching network that transmits and receives data packets, a service bandwidth is reserved for each traffic unit called 'flow'. In order to guarantee this reserved service bandwidth, the packet switching network can efficiently apply the allocated bandwidth to the traffic of a specific flow using a scheduling algorithm.

또한, 많은 플로우들이 독립적으로 다루어지는 IntServs(Integrated Services)에서의 스케줄링 알고리즘은 주어진 성능 메트릭들(Performance Metrics), 즉 지연(delay)이나 손실(loss)에 근거하여, 전송할 다음 패킷을 선택하거나 그의 전송 시기를 결정한다. In addition, the scheduling algorithm in IntServs (Integrated Services), where many flows are handled independently, selects or transmits the next packet to transmit based on given Performance Metrics, ie delay or loss. Determine when.

한편, 대역폭을 플로우에 제공하는 스케줄링 알고리즘으로 대표되는 방식은 PGPS(Packet-level Generalized Processor Sharing)와 WFQ(Weighted Fair Queueing)이다. Meanwhile, the schemes represented by the scheduling algorithm for providing bandwidth to the flow are packet-level generalized processor sharing (PGPS) and weighted fair queuing (WFQ).

또한, 이러한 트래픽 스케줄링 알고리즘의 수행과 변동은 유동성의 플로우 트래픽 모델에 근거하여 정확한 스케줄러들의 패킷 레벨 추정에 의하여 할 수 있고, 약속된 율로 제공되는 동안에 각 플로우들에게 최소 지연과 최대 적정(Fair)을 제공할 수 있다. In addition, the performance and variation of this traffic scheduling algorithm can be made by packet schedule estimation of accurate schedulers based on the flow flow model of the fluidity, and provides minimum delay and maximum fairness to each flow while being provided at the promised rate. Can provide.

한편, 플로우 관리에 따라 트래픽 내역(Traffic Specification)에 리키 버킷 파라미터(Leaky-bucket Parameters)를 포함하고, 요청 내역(Request Specification)에 예약율을 포함한다. Meanwhile, according to the flow management, the leaky-bucket parameter is included in the traffic specification and the reservation rate is included in the request specification.

또한, 트래픽의 종류로 서비스 품질을 제어하는 DiffServs(Differentiated services)에서는, 통신할 때에 대역을 확보하지 않고 트래픽에 우선순위를 매기며, 프레임이나 패킷의 헤더 정보에 따라 랜 스위치나 라우터에서의 우선 제어를 실행 한다. In addition, DiffServs (Differentiated services), which controls the quality of service based on the type of traffic, prioritizes traffic without securing a bandwidth when communicating, and prioritizes control in a LAN switch or router according to header or packet header information. Run

여기서, DiffServs는 플로우들을 클래스별로 분류하여 스케줄링하므로, 단일 플로우(Single flow)나 대량 플로우들(Bulk Flows)을 처리하게 된다.Here, DiffServs classifies flows by class and schedules them, thereby processing a single flow or a bulk flow.

그 후, 패킷 플로우 스케줄링 장치(710)의 제어부(730)는 수신된 패킷 플로우 별 비어있는 큐에 대한 처리를 한다(S120).Thereafter, the control unit 730 of the packet flow scheduling apparatus 710 processes an empty queue for each received packet flow (S120).

이 후, 제어부(730)는 처리된 패킷 플로우에 대한 서비스를 수행할 수 있다(S130). 여기서, 패킷 플로우에 대한 서비스의 경우, 서비스 패킷의 크기와 남아 있는 최대 전송 허용량 값의 크기를 비교하고, 크기 비교 결과에 따라 선택된 패킷 서비스를 실행한다.Thereafter, the controller 730 may perform a service on the processed packet flow (S130). In the case of the service for the packet flow, the size of the service packet is compared with the size of the remaining maximum transmission allowance value, and the selected packet service is executed according to the size comparison result.

도 2는 도 1의 패킷 플로우 스케줄링 방법 중 패킷 플로우 별 비어있는 큐 처리 단계를 나타낸 동작 흐름도이다.2 is a flowchart illustrating an empty queue processing step for each packet flow in the packet flow scheduling method of FIG. 1.

먼저, 패킷 플로우 스케줄링 장치(710)의 제어부(730)는 비어있는 큐가 존재하는지 여부를 판정한다(S210). First, the controller 730 of the packet flow scheduling apparatus 710 determines whether an empty queue exists (S210).

여기서, 큐는 데이터 정보가 처리되도록 저장되고 기다리는 일종의 버퍼(buffer)이다. 가장 잘 알려진 큐의 작동은 FIFO(First-In-First-Out) 큐 처리이다. Here, a queue is a kind of buffer that is stored and waiting for data information to be processed. The best known behavior of queues is FIFO (First-In-First-Out) queuing.

FIFO 큐에 있어서, 큐에 있는 첫번째 요소가 처음으로 나오게 된다. For a FIFO queue, the first element in the queue comes first.

큐는 들어오는 요청들을 서비스하는 시스템에 대한 자연스런 데이터 구조이다. 작동 시스템에 있어서 대부분의 프로세스 스케줄링에서 큐를 사용한다.A queue is a natural data structure for a system that serves incoming requests. In operating systems, most process scheduling uses queues.

제어부(730)는 비어있는 큐의 존재를 판정한 결과, 비어있는 큐가 있으면, 비어있는 큐 내에 널(Null) 패킷을 생성한다(S220). As a result of determining the existence of the empty queue, the control unit 730 generates a null packet in the empty queue when there is an empty queue (S220).

여기서, 널(Null) 패킷의 크기는, 남아 있는 최대 전송 허용량(Deficit) 값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정할 수 있다.Herein, the size of a null packet may be set to a value obtained by adding a quantity value of a service to be received by one flow to a remaining maximum transmission allowance value.

도 3은 도 1의 패킷 플로우 스케줄링 방법 중 집성 패킷 플로우 생성 단계를 나타낸 동작 흐름도이다.3 is an operation flowchart illustrating an aggregate packet flow generation step in the packet flow scheduling method of FIG. 1.

먼저, 패킷 플로우 스케줄링 장치(710)의 제어부(730)는 패킷 플로우들의 속성을 비교할 수 있다(S310).First, the controller 730 of the packet flow scheduling apparatus 710 may compare the attributes of the packet flows (S310).

이어, 제어부(730)는 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여(S320), 집성 패킷 플로우를 생성할 수 있다(S330). 여기서, 패킷이나 패킷이 포함되어 있는 플로우들을 EF(expedited forwarding), AF(assured forwarding) 그리고 BE (best effort) 서비스 클래스와 같은, 트래픽 클래스들로 분류하고, 클래스당 같은 서비스 품질(QoS) 요구 사항을 가지는 트래픽들을 애그리게이션할 수 있다.Subsequently, the controller 730 may aggregate packet flows having similar attributes among the packet flows (S320) and generate an aggregated packet flow (S330). Here, the packet or flows containing the packet are classified into traffic classes, such as expedited forwarding (EF), assured forwarding (AF) and best effort (BE) service classes, and have the same quality of service (QoS) requirements per class. Aggregate traffic with

도 4는 도 1의 패킷 플로우 스케줄링 방법 중 수신된 집성 패킷 플로우 분리 단계를 나타낸 동작 흐름도이다.4 is a flowchart illustrating an operation of separating an aggregated packet flow in the packet flow scheduling method of FIG. 1.

먼저, 패킷 플로우 스케줄링 장치(710)의 제어부(730)는 집성 패킷 플로우를 수신할 수 있다(S410).First, the controller 730 of the packet flow scheduling apparatus 710 may receive an aggregate packet flow (S410).

이어, 제어부(730)는 집성 패킷 플로우를 세그리게이션하여(S420), 패킷 플로우들을 획득할 수 있다(S430).Subsequently, the controller 730 may segment the aggregate packet flow (S420), and may acquire packet flows (S430).

도 5는 도 1의 패킷 플로우 스케줄링 방법 중 수신된 패킷 플로우 식별 및 최대 전송 허용량 값 설정 단계를 나타낸 동작 흐름도이다.5 is a flowchart illustrating an operation of identifying a received packet flow and setting a maximum transmission allowance value in the packet flow scheduling method of FIG. 1.

먼저, 패킷 플로우 스케줄링 장치(710)의 제어부(730)는 수신부(720)를 통하여 수신된 패킷 플로우의 정보가 저장되어 있는 저장부(750)에서 패킷 플로우의 정보를 읽어와 식별할 수 있다(S510).First, the controller 730 of the packet flow scheduling apparatus 710 may read and identify the packet flow information from the storage unit 750 in which the information of the packet flow received through the receiver 720 is stored (S510). ).

이어, 제어부(730)는 패킷 플로우의 정보를 참조하여 최대 전송 허용량 값을 기존 남아 있는 최대 전송 허용량 값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정하고(S520), 설정한 값을 저장부(750)에 저장할 수 있다.Subsequently, the controller 730 sets the maximum transmission allowance value to a value obtained by adding a quantity value of a service to be received by one flow to the existing maximum transmission allowance value with reference to the packet flow information (S520). The value may be stored in the storage unit 750.

도 6은 도 1의 패킷 플로우 스케줄링 방법 중 패킷 플로우에 대한 서비스를 수행하는 단계를 나타낸 동작 흐름도이다.6 is a flowchart illustrating an operation of performing a service for a packet flow in the packet flow scheduling method of FIG. 1.

먼저, 패킷 플로우 스케줄링 장치(710)의 제어부(730)는 저장부(750)에 저장된 남아 있는 최대 전송 허용량 값의 크기가 서비스 패킷의 크기보다 크거나 같은 경우(S610), 서비스 패킷이 널(Null) 패킷인지 여부를 판단한다(S620).First, the control unit 730 of the packet flow scheduling apparatus 710 when the size of the remaining maximum transmission allowance value stored in the storage unit 750 is greater than or equal to the size of the service packet (S610), the service packet is null It is determined whether the packet (S620).

제어부(730)는 서비스 패킷이 널(Null) 패킷이면, 널(Null) 패킷에 대하여 매체 접근 제어 계층(MAC Layer)에서 서비스를 실행할 수 있다(S630).If the service packet is a null packet, the controller 730 may execute a service in a medium layer on a null packet (S630).

한편, 서비스 패킷이 리얼(Real) 패킷이면, 제어부(730)는 리얼(Real) 패킷에 대하여 매체 접근 제어 계층에서 서비스를 실행하고, 리얼(Real) 패킷을 물리 계층(PHY layer)으로 전달하여 전송부(740)를 통하여 전송할 수 있다(S650).On the other hand, if the service packet is a real packet, the controller 730 executes the service in the medium access control layer for the real packet, and delivers the real packet to the physical layer (PHY layer) for transmission. The transmission can be made through the unit 740 (S650).

제어부(730)는 최대 전송 허용량 값은 기존 남아 있는 최대 전송 허용량 값에서 서비스 패킷의 크기를 차감한 값을 새로운 최대 전송 허용량 값으로 설정하여(S640), 저장부(750)에 저장할 수 있다.The controller 730 may set the maximum transmission allowance value as a new maximum transmission allowance value by subtracting the size of the service packet from the existing maximum transmission allowance value (S640) and store it in the storage unit 750.

또한, 제어부(730)는 저장부(750)에 저장된 남아 있는 최대 전송 허용량 값의 크기가 서비스 패킷의 크기보다 작은 경우, 패킷을 대기시킬 수 있다(S660).In addition, when the size of the remaining maximum transmission allowance value stored in the storage unit 750 is smaller than the size of the service packet, the controller 730 may queue the packet (S660).

도 7은 본 발명의 제1 실시예에 따른 패킷 플로우 스케줄링 장치를 나타낸 블럭도이다.7 is a block diagram illustrating a packet flow scheduling apparatus according to a first embodiment of the present invention.

본 발명의 패킷 플로우 스케줄링 장치(710)는, 수신부(720), 제어부(730), 전송부(740) 및 저장부(750)를 포함할 수 있다.The packet flow scheduling apparatus 710 of the present invention may include a receiver 720, a controller 730, a transmitter 740, and a storage 750.

여기서, 수신부(720)는, 서비스 패킷의 정보를 포함하는 패킷 플로우를 수신하는 역할을 할 수 있다.Here, the receiver 720 may serve to receive a packet flow including information of a service packet.

또한, 저장부(750)는 패킷 플로우의 아이디(ID), 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value), 남아 있는 최대 전송 허용량 값, 처음 패킷 포인터(Initial Packet Pointer), 다음 패킷 포인터(Next Packet Pointer)와 같은 패킷 플로우 정보 및 패킷 정보를 저장하는 역할을 하나 이에 한정되지 않는다.In addition, the storage unit 750 may include an ID (ID) of a packet flow, a flag, a quantity of services to be received by one flow, a remaining maximum transmission allowance value, an initial packet pointer, and a next packet. It plays a role of storing packet flow information and packet information such as a next packet pointer, but is not limited thereto.

한편, 제어부(730)는 수신부(720)로부터 패킷 플로우를 입력받아 패킷 플로 우 별 비어있는 큐를 처리하는 역할을 하나 이에 한정되지 않는다.The controller 730 receives a packet flow from the receiver 720 and processes an empty queue for each packet flow, but is not limited thereto.

또한, 제어부(730)는 처리된 패킷 플로우에 대한 서비스를 수행하는 수신된 서비스 패킷의 정보를 저장부(750)에 저장하는 역할을 하나 이에 한정되지 않는다.In addition, the controller 730 stores the information of the received service packet, which performs a service on the processed packet flow, in the storage 750, but is not limited thereto.

한편, 제어부(730)는 저장부(750)에 저장된 패킷 플로우의 아이디(ID), 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value), 최대 전송 허용량 값, 처음 패킷 포인터(Initial Packet Pointer), 다음 패킷 포인터(Next Packet Pointer)와 같은 패킷 플로우 정보 및 패킷 정보를 읽고, 갱신하며, 패킷 서비스를 수행하고, 전송부(740)를 통하여 전송하는 역할을 하나 이에 한정되지 않는다.On the other hand, the control unit 730 is the ID (ID), the flag (Flag) of the packet flow stored in the storage unit 750, the quantity of service (Quantum value), the maximum transmission allowance value, the first packet pointer (Initial Packet) Pointer, a packet flow information such as Next Packet Pointer (Read Next), and the packet information to read, update, perform a packet service, and transmits through the transmission unit 740, but is not limited thereto.

또한, 제어부(730)는 패킷 플로우들의 속성을 비교하고, 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여 집성 패킷 플로우를 생성하고, 집성 패킷 플로우를 세그리게이션하며, 집성 패킷 플로우를 분리하여 패킷 플로우들을 생성할 수 있으나 이에 한정되지 않는다.In addition, the controller 730 compares the attributes of the packet flows, aggregates packet flows having similar attributes among the packet flows to generate an aggregate packet flow, aggregates the aggregate packet flows, and separates the aggregate packet flows. Packet flows may be generated, but are not limited thereto.

한편, 전송부(740)는 패킷을 전송하는 역할을 하나 이에 한정되지 않는다.Meanwhile, the transmitter 740 plays a role of transmitting a packet, but is not limited thereto.

도 8은 본 발명의 패킷 플로우 스케줄링 장치 및 방법이 적용된 시스템의 동작을 나타낸 예시도이다.8 is an exemplary view showing the operation of a system to which the packet flow scheduling apparatus and method of the present invention are applied.

도 8에 도시된 바와 같이, 패킷 스위칭 네트워크는 제1 스위치 노드(810)와 제2 스위치 노드(820) 내지 제7 스위치 노드(870)를 포함할 수 있다. As shown in FIG. 8, the packet switching network may include a first switch node 810 and a second switch node 820 to a seventh switch node 870.

또한, 각 스위치 노드는 내부적으로 구비된 스위치 제어부에 의해 데이터 패킷을 전송하는 것을 제어할 수 있다. In addition, each switch node may control the transmission of the data packet by the switch control unit provided internally.

여기서, 제1 스위치 노드(810)는 제1 스위치 제어부(880)를 구비하고, 제2 스위치 노드(820)는 제2 스위치 제어부(890)를 구비하며, 제7 스위치 노드(870)는 제7 스위치 제어부(940)를 구비할 수 있다.Here, the first switch node 810 includes a first switch control unit 880, the second switch node 820 includes a second switch control unit 890, and the seventh switch node 870 includes a seventh switch node. The switch controller 940 may be provided.

도 8의 패킷 스위칭 네트워크에서, 전송해야 할 데이터 패킷에 대해 제1 패킷 플로우 내지 제14 패킷 플로우를 포함할 수 있다. In the packet switching network of FIG. 8, the data packet to be transmitted may include a first packet flow to a fourteenth packet flow.

제1 패킷 플로우와 제2 패킷 플로우는 제1 스위치 노드(810)와 제2 스위치 노드(820)를 경유하여 제7 스위치 노드(870)까지 전송될 수 있다. The first packet flow and the second packet flow may be transmitted to the seventh switch node 870 via the first switch node 810 and the second switch node 820.

이에 반하여, 제3 패킷 플로우 내지 제8 패킷 플로우는 제1 스위치 노드(810)만을 경유하여 스케줄링되고, 제9 패킷 플로우 내지 제14 패킷 플로우는 제2 스위치 노드(820)만을 경유하여 스케줄링 될 수 있다. 또한, 제6 패킷 플로우가 제7 스위치 노드(870)를 경유하여 스케줄링 될 수 있다. In contrast, the third to eighth packet flows may be scheduled only through the first switch node 810, and the ninth and fourteenth packet flows may be scheduled only through the second switch node 820. . In addition, the sixth packet flow may be scheduled via the seventh switch node 870.

여기서, 제1 패킷 플로우와 제2 패킷 플로우는 제1 스위치 노드(810) 내지 제7 스위치 노드(870)까지 스케줄링되므로 전송 경로의 특성상 유사한 점이 있을 수 있다.Here, since the first packet flow and the second packet flow are scheduled from the first switch node 810 to the seventh switch node 870, similar characteristics may exist in the transmission path.

또한, 제1 패킷 플로우와 제2 패킷 플로우는 각 패킷 플로우의 데이터 패킷이 제1 스위치 노드(810) 내지 제7 스위치 노드(870)를 경유해 전송되므로, 각각의 스위치 노드의 스케줄링에 따라 각 스위치 노드마다 지연 시간이 발생할 수 있다. In addition, since the data packet of each packet flow is transmitted via the first switch node 810 to the seventh switch node 870, the first packet flow and the second packet flow are each switched according to the scheduling of each switch node. Latency can occur for each node.

도 9는 본 발명에 따른 패킷 플로우 스케줄링 방법을 설명하기 위한 스위치 노드의 구조를 나타낸 것이다.9 illustrates a structure of a switch node for explaining a packet flow scheduling method according to the present invention.

도 9에 도시된 바와 같이, 플로우 (i)와 플로우 (j)가 입력되는 제1 스위치 노드(810)는 LR(Latency-Rate) 서버의 역할을 하는 제1 스위치 제어부(880)를 구비할 수 있다. 이 외에도 저장부, 수신부, 전송부를 포함할 수 있다.As shown in FIG. 9, the first switch node 810 to which flows (i) and (j) are input may include a first switch controller 880 serving as a latency-rate (LR) server. have. In addition, it may include a storage unit, a receiver, and a transmitter.

여기서, 저장부는 외부로부터 입력된 데이터 패킷을 저장하는 패킷 메모리부와 각 플로우에 따른 데이터 패킷의 정보를 저장하는 플로우 정보 메모리부를 포함할 수 있다. Here, the storage unit may include a packet memory unit for storing data packets input from the outside and a flow information memory unit for storing information of data packets according to each flow.

여기서, 제어부는 각 플로우 정보에 따라 다수의 플로우 가운데 활성화된 플로우를 서비스하고, 활성화되지 않은 플로우(Deactive Flow)는 서비스하지 않는다. 또한, 제어부는 활성화된 플로우와 활성화되지 않은 플로우에 대한 액티브 리스트를 가지고 있으며, 플로우 정보에 근거한 액티브 리스트에 따라 플로우 서비스를 수행할 수 있다.Here, the controller services an activated flow among a plurality of flows according to each flow information, and does not service a deactivated flow. In addition, the controller has an active list for activated flows and non-activated flows, and may perform a flow service according to an active list based on flow information.

한편, 제1 스위치 노드(810)는 입력된 다수의 플로우 중에 그 속성이 유사한 플로우가 있는지 비교할 수 있다. 여기서, 속성(Property)은 각 플로우의 전송 경로 등을 포함할 수 있다. On the other hand, the first switch node 810 may compare whether there are flows with similar attributes among a plurality of input flows. Here, the property may include a transmission path of each flow.

도 9에서 플로우 (i)와 플로우 (j)의 속성이 유사한 것으로 판단되면, 제1 스위치 노드(810)에서 제1 스위치 제어부(880)는 플로우 (i)와 플로우 (j)를 애그리게이션하여 집성 플로우(g)를 생성할 수 있다. 그리고, 제1 스위치 제어부(880)는 집성 플로우(g)를 전송부를 통해 패킷 스위칭 네트워크로 전송할 수 있다.In FIG. 9, when it is determined that the attributes of the flows (i) and the flows (j) are similar, the first switch control unit 880 aggregates the flows (i) and the flow (j) at the first switch node 810. The flow g can be generated. The first switch controller 880 may transmit the aggregation flow g to the packet switching network through the transmitter.

도 10은 본 발명에 따른 패킷 플로우 스케줄링 방법에서 패킷 스위치의 큐 처리를 나타낸 것이다.10 illustrates queue processing of a packet switch in a packet flow scheduling method according to the present invention.

제1 스위치 노드(810)에서 패킷 스위치(S)는 스케줄러의 역할을 담당하며, 순차적으로 입력된 각각의 플로우에 대하여, 현재 플로우를 서비스하다가 외부로부터 새로운 플로우가 입력되면, 플로우 정보 저장부에 새로운 플로우에 대한 정보를 저장할 수 있다. 그리고, 제1 플로우로부터 제n 플로우까지 순차적으로 스케줄링되도록 액티브 리스트 처리부를 제어할 수 있다.In the first switch node 810, the packet switch S plays a role of a scheduler. When a new flow is input from the outside while the current flow is serviced for each sequentially input flow, a new switch is added to the flow information storage unit. Information about the flow can be stored. The active list processor may be controlled to sequentially schedule the first flow to the nth flow.

도 11은 본 발명에 따른 패킷 플로우 스케줄링 방법에서 집성 플로우를 수신한 스위치 노드의 구조를 나타낸 것이다.11 illustrates the structure of a switch node that receives an aggregation flow in the packet flow scheduling method according to the present invention.

패킷 스위칭 네트워크로부터 집성 플로우(g)를 수신한 제7 스위치 노드(870)는 LR 서버로서의 제7 스위치 제어부(940)를 구비할 수 있다.The seventh switch node 870 receiving the aggregation flow g from the packet switching network may include a seventh switch control unit 940 as an LR server.

제7 스위치 제어부(940)는 입력된 집성 플로우(g)를 스케줄링할 때, 집성 플로우(g)를 세그리게이션하여 원래의 플로우 (i)와 플로우 (j)를 얻을 수 있다.When scheduling the input aggregation flow g, the seventh switch controller 940 may segment the aggregation flow g to obtain the original flow i and the flow j.

도 12는 본 발명에 따른 플로우의 애그리게이션과 세그리게이션 모델을 나타낸 도면이다.12 is a diagram illustrating an aggregation and a aggregation model of a flow according to the present invention.

여기서, 현재 스위치 노드에 구비된 서버(Sn)는 이전 스위치 노드의 서버 S(n-1)으로부터 전달된 집성 플로우를 세그리게이션하고, 세그리게이션된 플로우 중 하나의 플로우와 새로 입력되는 플로우를 애그리게이션할 수 있다.Here, the server Sn provided in the current switch node segments the aggregation flow delivered from the server S (n-1) of the previous switch node, and displays one of the segmented flows and a newly input flow. It can be aggregated.

이전 스위치 노드의 서버 S(n-1)는 출력 트래픽을 생성하여 현재 스위치 노 드(Sn)로 전송해 줄 수 있다. 현재 스위치 노드는 수신부에서 이전 스위치 노드의 서버(S(n-1))으로부터 전달된 출력 트래픽을 플로우와 다른 플로우로 세그리게이션 할 수 있다. 그리고, 현재 스위치 노드의 서버(Sn)는 플로우와 새로 입력된 플로우를 애그리게이션하여 집성 플로우를 생성하여 전송할 수 있다.The server S (n-1) of the previous switch node may generate output traffic and transmit it to the current switch node Sn. The current switch node may segment the output traffic delivered from the server S (n-1) of the previous switch node at a receiver into a flow different from the flow. The server Sn of the current switch node may aggregate the flow and the newly input flow to generate and transmit an aggregate flow.

도 13은 본 발명에 따른 애그리게이션과 세그리게이션을 가지는 플로우의 지연 범위를 나타낸 것이다.Figure 13 shows the delay range of the flow with aggregation and aggregation according to the present invention.

도 13에 도시된 바와 같이, 시작 노드에서 전송된 플로우들은 제1 서버(S1)와 제2 서버(S2), 제3 서버(S3), 제4 서버(S4), 제5 서버(S5), 및 제6 서버(S6)를 경유해 종점 노드로 전달된다. 따라서, 패킷 스위칭 네트워크 내에 있는 제1 서버(S1) 내지 제6 서버(S6)를 경유 서버(S)로 나타낼 수 있다. 이 때, 네트워크에서 패킷 최대 지연은 네트워크를 횡단하는 패킷이 속한 플로우들의 지연 합에 의해 계산될 수 있다.As shown in FIG. 13, the flows transmitted from the start node include the first server S1, the second server S2, the third server S3, the fourth server S4, the fifth server S5, And the sixth server S6 to be delivered to the endpoint node. Accordingly, the first server S1 to the sixth server S6 in the packet switching network may be referred to as the passthru server S. FIG. At this time, the packet maximum delay in the network may be calculated by the delay sum of the flows belonging to the packet traversing the network.

도 9에 도시된 바와 같은 네트워크 내의 어떤 포인트에서 플로우(i)는 서버(S)에 의해 집성되어 집성 플로우(g)를 생성하고, 도 11에 도시된 바와 같이, 집성 플로우(g)는 다른 포인트에서 분리되어 플로우(i)로 생성될 수 있다.At some point in the network as shown in FIG. 9, the flow i is aggregated by the server S to produce an aggregation flow g, and as shown in FIG. 11, the aggregation flow g is at another point. It can be separated from and generated in flow (i).

도 14는 본 발명의 종단간 지연(end-to-end delay)에 따른 플로우 애그리게이션을 나타낸 도면이다.14 is a diagram illustrating flow aggregation according to an end-to-end delay of the present invention.

도 14의 패킷 스위칭 네트워크에서, 전송해야 할 데이터 패킷에 대해 제1 플 로우 내지 제14 플로우가 있다. In the packet switching network of FIG. 14, there are first to fourteenth flows for data packets to be transmitted.

제1 스위치 컨트롤러(880)는 제1 스위치 노드(810)로 입력되는 제1 플로우와 제1 플로우, 제3 플로우 내지 제8 플로우에 대하여, 제1 플로우와 제2 플로우를 애그리게이션하여 집성 플로우(1,2)를 생성하여 전송부를 통해 제2 스위치 노드(820)로 전달할 수 있다.The first switch controller 880 aggregates the first flow and the second flow with respect to the first flow, the first flow, and the third to eighth flows input to the first switch node 810 to form an aggregation flow ( 1,2 may be generated and transferred to the second switch node 820 through the transmitter.

제2 스위치 노드(820)에서 제2 스위치 컨트롤러(890)는 입력되는 집성 플로우(1,2)와 제9 플로우 내지 제14 플로우을 스케줄링하여, 집성 플로우(1,2)를 전송부를 통해 패킷 스위칭 네트워크로 전송할 수 있다. 이에 따라, 집성 플로우(1,2)는 패킷 스위칭 네트워크 내의 다른 스위치 노드들을 경유하여 제7 스위치 노드(870)로 전달될 수 있다.At the second switch node 820, the second switch controller 890 schedules the aggregate flows (1, 2) and the ninth through fourteenth flows to be input, and transmits the aggregate flows (1, 2) through the transmitter to the packet switching network. Can be sent to. As such, the aggregation flow 1, 2 can be delivered to the seventh switch node 870 via other switch nodes in the packet switching network.

즉, 집성 플로우인 제1 플로우와 제2 플로우는 제1 스위치 노드(810)와 제2 스위치 노드(820)를 경유하여 제7 스위치 노드(870)까지 전송될 수 있다. 이에 반하여, 제3 플로우 내지 제8 플로우는 제1 스위치 노드(810)만을 경유하여 스케줄링되고, 제9 플로우 내지 제14 플로우는 제2 스위치 노드(820)만을 경유하여 스케줄링될 수 있다. 또한, 제6 플로우가 제7 스위치 노드(870)로 입력되고, 제7 스위치 제어부(940)가 이를 스케줄링할 수 있다. That is, the first flow and the second flow, which are the aggregation flows, may be transmitted to the seventh switch node 870 via the first switch node 810 and the second switch node 820. In contrast, the third to eighth flows may be scheduled via only the first switch node 810, and the ninth to fourteenth flows may be scheduled via only the second switch node 820. In addition, the sixth flow may be input to the seventh switch node 870, and the seventh switch controller 940 may schedule it.

도 15는 각 스위치 노드에서의 애그리게이션과 세그리게이션을 나타낸 도면이다.15 is a diagram illustrating aggregation and aggregation at each switch node.

도 15에 도시된 바와 같이, 패킷 스위칭 네트워크를 구성하는 제1 스위치 노 드(810)와 제2 스위치 노드(820) 내지 제7 스위치 노드(870)는 본 발명에 따라 애그리게이션과 세그리게이션을 수행할 수 있다.As shown in FIG. 15, the first switch node 810 and the second switch node 820 to the seventh switch node 870 constituting the packet switching network are configured to perform aggregation and aggregation according to the present invention. Can be done.

도 15에서, 제1 스위치 노드(810)는 제1 플로우와 제7 플로우가 입력될 경우에 두 플로우가 그 속성이 유사하면 제1 스위치 제어부(880)가 제1 플로우와 제7 플로우를 애그리게이션하여 집성 플로우(g)를 생성할 수 있다. 그리고, 제1 스위치 노드(810)의 제1 스위치 제어부(880)는 집성 플로우(g)를 전송하여 다음 제2 스위치 노드(820)로 전달할 수 있다.In FIG. 15, when the first flow and the seventh flow are input, the first switch node 810 aggregates the first flow and the seventh flow when the two flows have similar attributes. To generate an aggregation flow g. In addition, the first switch controller 880 of the first switch node 810 may transmit the aggregation flow g to the next second switch node 820.

제2 스위치 노드(820)는 입력된 집성 플로우(g)를 세그리게이션하여 분리된 제1 플로우와 제7 플로우를 생성할 수 있다. 또한, 제2 스위치 노드(820)의 제2 스위치 제어부(890)는 제2 스위치 노드(820)로 새로운 제2 플로우가 입력되면, 제2 플로우와 제1 플로우가 그 속성이 유사할 경우에 애그리게이션하여 집성 플로우(f)를 생성할 수 있다. 그리고, 제2 스위치 제어부(890)는 집성 플로우(f)를 전송부를 통해 패킷 스위치 네트워크로 전송할 수 있다.The second switch node 820 may generate the separated first flow and the seventh flow by segmenting the input aggregation flow g. In addition, when a new second flow is input to the second switch node 820, the second switch controller 890 of the second switch node 820 is agglomerated when the second flow and the first flow have similar attributes. Can be aggregated to generate an aggregation flow f. In addition, the second switch controller 890 may transmit the aggregation flow f to the packet switch network through the transmitter.

제2 스위치 노드(820)에서 전송된 집성 플로우(f)가 다른 스위치 노드들을 경유해 그대로 제7 스위치 노드까지 전달된 경우, 제7 스위치 노드(870)는 집성 플로우(f)를 세그리게이션하여 제1 플로우와 제2 플로우를 생성한다. 이때, 제7 스위치 노드(870)로 아무런 새로운 플로우에 대한 입력이 없으면 제1 플로우를 그대로 전송하고, 제7 플로우가 새로 입력되면 그 속성이 유사할 경우에 제1 플로우와 제7 플로우를 애그리게이션하여 집성 플로우를 생성하게 된다.When the aggregation flow f transmitted from the second switch node 820 is transferred directly to the seventh switch node via other switch nodes, the seventh switch node 870 segments the aggregation flow f. Create a first flow and a second flow. In this case, if there is no input for a new flow to the seventh switch node 870, the first flow is transmitted as it is, and when the seventh flow is newly input, the first flow and the seventh flow are aggregated when the attributes are similar. To generate an aggregation flow.

도 16은 본 발명에 따른 애그리게이션 플로우의 세그리게이션을 나타낸 도면이다.16 is a view showing the aggregation of the aggregation flow according to the present invention.

도 16에서, 제1 스위치 노드(810)로 제1 플로우와 제2 플로우가 입력되면, 제1 스위치 제어부(880)는 제1 플로우와 제2 플로우를 애그리게이션하여 집성 플로우를 생성하여 패킷 스위칭 네트워크로 전송하도록 제어할 수 있다. In FIG. 16, when the first flow and the second flow are input to the first switch node 810, the first switch controller 880 aggregates the first flow and the second flow to generate an aggregate flow to generate a packet switching network. Can be controlled to be sent.

제1 스위치 노드(810)에서 전송된 집성 플로우는 제2 스위치 노드(820)와 다른 스위치 노드들을 경유하여 제7 스위치 노드(870)로 전달될 수 있다.The aggregation flow transmitted from the first switch node 810 may be transferred to the seventh switch node 870 via the second switch node 820 and other switch nodes.

제7 스위치 노드(870)에서는 입력된 집성 플로우를 세그리게이션하여 제1 플로우와 제2 플로우를 획득하고, 각각 다른 전송부를 통해 전송할 수 있다.The seventh switch node 870 may segment the input aggregation flow to obtain a first flow and a second flow, and may transmit them through different transmitters.

따라서, 데이터 패킷이 제1 스위치 노드(810)에서 제7 스위치 노드(870)까지 전송되는 동안 지연을 살펴보면 다음과 같다.Accordingly, the delay while the data packet is transmitted from the first switch node 810 to the seventh switch node 870 is as follows.

도 16에서, 제1 패킷 플로우와 제2 패킷 플로우가 제1 스위치 노드(810)에서 애그리게이션되고 제7 스위치 노드(870)에서 세그리게이션 된다고 하면, 최대 패킷 크기가 266 바이트(bytes)이고 10 Mbps 용량을 가질 경우, 제1 스위치 노드(810)에서 제7 스위치 노드(870)까지 전송되는 동안 최대 지연값은 약 6ms 정도일 수 있다. In FIG. 16, if the first packet flow and the second packet flow are aggregated at the first switch node 810 and aggregated at the seventh switch node 870, the maximum packet size is 266 bytes and 10. In case of having the Mbps capacity, the maximum delay value during the transmission from the first switch node 810 to the seventh switch node 870 may be about 6 ms.

한편, 본 발명의 패킷 플로우 스케줄링 방법은 약 4ms로 최대 지연값을 감소시킬 수 있다.Meanwhile, the packet flow scheduling method of the present invention can reduce the maximum delay value to about 4 ms.

도 17는 본 발명에 따른 패킷 플로우 스케줄링 장치의 구성을 나타낸 것이 다.17 shows a configuration of a packet flow scheduling apparatus according to the present invention.

도 17에서, 본 발명에 따른 패킷 플로우 스케줄링 장치는, 패킷 메모리(960)와 플로우 정보 저장부(980)를 포함하는 저장부(750), 액티브 리스트 처리부(Active List Processor)(980)를 포함하는 제어부(730), 그리고 전송부(740)를 포함할 수 있다.In FIG. 17, a packet flow scheduling apparatus according to the present invention includes a storage unit 750 including a packet memory 960 and a flow information storage unit 980, and an active list processor 980. The controller 730 and the transmitter 740 may be included.

패킷 메모리(960)는 외부로부터 입력된 데이터 패킷(970)을 저장하고 있다. 패킷 메모리(960)는 예컨대, 대용량의 SRAM을 사용할 수 있다. 도 17에 도시된 바와 같이 패킷 메모리(960)에 저장되어 있는 하나의 데이터 패킷은 다음 패킷 플래그(Next Packet Flag)와, 다음 패킷 사이즈(Next Packet Size), 다음 패킷 포인터(Next Packet Pointer), 현재 패킷 사이즈(Current Packet Size), 패킷 등으로 구성될 수 있다. The packet memory 960 stores a data packet 970 input from the outside. The packet memory 960 may use a large amount of SRAM, for example. As illustrated in FIG. 17, one data packet stored in the packet memory 960 includes a next packet flag, a next packet size, a next packet pointer, and a current packet. The packet size may include a packet size, a packet, and the like.

제어부(730)는 현재 제1 플로우를 서비스하다가 외부로부터 새로운 플로우가 입력되어 백로그(backlog)되면, 플로우 정보 저장부(990)에 다음 서비스 순서로 새로운 플로우에 대한 정보를 저장하고, 제1 플로우의 현재 서비스가 종료되면 새로운 플로우가 서비스되도록 액티브 리스트 처리부(980)를 제어할 수 있다. 그리고, 제어부(730)는 새로운 플로우의 서비스가 종료되면 스케줄링에 따라 제2 플로우를 서비스하고, 이어 제3 플로우, 제4 플로우, ... 등 다음 순서의 플로우를 서비스할 수 있다. If a new flow is inputted from the outside while the service flows backlog after the current flow of the first flow, the controller 730 stores the information about the new flow in the next service order in the flow information storage unit 990 and the first flow. When the current service is terminated, the active list processor 980 may control the new flow to be serviced. When the service of the new flow is terminated, the controller 730 may service the second flow according to the scheduling, and then service the next flow such as the third flow, the fourth flow, ...

여기서, 제어부(730)는 제1 플로우를 서비스할 때, 플로우 정보 저장부(990)로부터 현재 패킷 포인터(Current Packet Pointer), 현재 플로우 포인터(Current Flow Pointer), 하나의 플로우가 받을 서비스량(Quantum value)값, 남아 있는 최대 전송 허용량(Deficit)값, 현재 패킷 사이즈(Current Packet Size) 등의 제1 플로우 정보를 읽어와, 서비스할 데이터 패킷으로 구성하여 전송부(740)로 전달할 수 있다. Here, when the control unit 730 services the first flow, the current packet pointer, the current flow pointer, and the amount of services to be received by one flow from the flow information storage unit 990. The first flow information such as a value, a maximum transmission allowance (Deficit) value, and a current packet size may be read, configured as a data packet to be serviced, and transmitted to the transmission unit 740.

전송부(740)는 제어부(730)로부터 전달받은 서비스할 데이터 패킷을 패킷 버퍼(Packet Buffer)에 버퍼링한 후 목적지로 서비스할 수 있다. The transmission unit 740 may buffer the data packet to be delivered received from the control unit 730 in a packet buffer and then serve the destination.

액티브 리스트 처리부(980)는 각 플로우 정보에 따라 다수의 플로우 가운데 활성화된 플로우를 서비스하고, 활성화되지 않은 플로우(Deactive Flow)는 서비스하지 않음이 바람직하다. 또한, 액티브 리스트 처리부(980)는 활성화된 플로우와 활성화되지 않은 플로우에 대한 액티브 리스트를 가지고 있으며, 플로우 정보에 근거한 액티브 리스트에 따라 플로우 서비스 동작을 수행할 수 있다. The active list processing unit 980 preferably services an activated flow among a plurality of flows according to each flow information, and does not service a deactivated flow. In addition, the active list processing unit 980 has an active list for activated flows and non-activated flows, and may perform a flow service operation according to an active list based on flow information.

플로우 정보 저장부(990)는 각 플로우에 따른 데이터 패킷의 정보를 저장할 수 있다. 플로우 정보 저장부(990)는 제1 플로우에 대한 정보(1000), 제2 플로우에 대한 정보(1010) 등 다수의 플로우 정보를 각각 저장할 수 있다. 각 플로우에 대한 정보는 도 17에 도시된 바와 같이 플로우 ID, 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value)값, 남아 있는 최대 전송 허용량(Deficit)값, 처음 패킷 포인터(Initial Packet Pointer), 다음 플로우 포인터(Next Flow Pointer) 등을 포함할 수 있다. The flow information storage unit 990 may store information of a data packet according to each flow. The flow information storage unit 990 may store a plurality of flow information, such as information about the first flow 1000 and information about the 1010 flow 1010. As shown in FIG. 17, information on each flow includes a flow ID, a flag, a value of a quantity to be received by one flow, a maximum remaining allowable value, and an initial packet pointer. Pointer, Next Flow Pointer, etc. may be included.

도 18a, 18b, 18c는 본 발명에 따른 패킷 플로우 스케줄링 방법의 패킷 서비 스 실행 단계의 실예를 나타낸 것이다.18A, 18B, and 18C illustrate an example of a packet service execution step of the packet flow scheduling method according to the present invention.

도 18a에서, 패킷 서비스 실행은 각 플로우에 대하여 큐에 대기하고 있는 데이터 패킷을 선입선출(FIFO) 방식으로 서비스함이 바람직하다. 각 플로우의 선두(HOL:Head Of Line)에 대한 스케줄링 정보를 큐에 하나씩 저장하는 것이 바람직하다. 이어, 패킷이 도착하면 그 플로우의 HOL 패킷인지 확인하고, HOL 패킷이면 스케줄링 정보를 큐에 저장할 수 있다. 큐에는 하나의 플로우가 받을 서비스량(Quantum value)이 할당되어 있으며, 하나의 플로우가 받을 서비스량(Quantum value)을 고려한 카운터 값보다 작은 데이터 패킷에 대한 스케줄링 정보는 현재 서비스되고 있는 큐에 저장하고, 패킷 카운터 값보다 크면 다른 큐에 저장할 수 있다. 서비스되고 있는 큐가 완전히 빌 때까지 계속 서비스하며, 그 큐에 백로그(Backlog)된 스케줄링 정보가 없을 때 다른 스케줄링 큐를 서비스함이 바람직하다. 이때 새로운 라운드가 시작될 수 있다. 새로운 라운드에서도 동일한 과정으로 각 플로우를 서비스할 수 있다.In FIG. 18A, packet service execution preferably serves data packets waiting in a queue for each flow in a first-in first-out (FIFO) manner. It is preferable to store one scheduling information for a head of line (HOL) in each queue. Subsequently, when the packet arrives, it may be checked whether the packet is a HOL packet, and if the packet is a HOL packet, scheduling information may be stored in a queue. The queue is assigned a quantity of service value to be received by one flow, and the scheduling information for data packets smaller than the counter value considering the quantity of service to be received by one flow is stored in the queue currently being serviced. If it is larger than the packet counter value, it can be stored in another queue. It is desirable to continue to service until the queue being served is completely empty, and to serve another scheduling queue when there is no backlog scheduling information in that queue. At this point a new round may begin. Each flow can be serviced in the same process in the new round.

도 18a와 도 18b에서, 첫번째 서비스로 100의 크기의 패킷(1020)이 서비스된다. 여기서, 남아 있는 최대 전송 허용량(Deficit)값(1100)은 하나의 플로우가 받을 서비스량(Quantum value)값(1090)에서 서비스된 패킷(1020) 크기인 100을 차감한 100이 됨이 바람직하다.18A and 18B, a packet 1020 of size 100 is serviced as a first service. Here, it is preferable that the maximum remaining allowable value (Deficit) value 1100 is 100 minus 100, which is the size of the serviced packet 1020, from the quantity value 1090 that one flow receives.

그리고, 두번째 큐의 400 크기 패킷(1030)은 하나의 플로우가 받을 서비스량(Quantum value)값 200보다 크므로 서비스 하지 않는 것이 바람직하다. Since the 400 size packet 1030 of the second queue is larger than the service value 200 that one flow receives, it is preferable not to service the packet.

또한, 세번째 큐의 50 크기 패킷(1040)은 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1120)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 50을 차감한 150이 되는 것이 바람직하다.In addition, the 50th size packet 1040 of the third queue is serviced, and the remaining maximum transmission allowance value (Deficit) value 1120 is subtracted from the service value value received by one flow, which is the serviced packet size of 50. It is preferable to be 150.

그리고, 네번째 큐의 340 크기 패킷(1050)은 하나의 플로우가 받을 서비스량(Quantum value)값인 200보다 크므로 서비스 하지 않는 것이 바람직하다.Since the 340 size packet 1050 of the fourth queue is larger than 200, which is a value of a quantum value of one flow, it is preferable not to service it.

도 18b에서, 세번째 큐는 비어 있음이 확인되므로, 널(Null) 패킷(1070)을 생성하여 서비스하게 됨이 바람직하다. 널(Null) 패킷의 크기는, 남아 있는 최대 전송 허용량(Deficit)값(1120)에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값인 350으로 설정하는 것이 바람직하다.In FIG. 18B, since the third queue is confirmed to be empty, it is preferable to generate and service a null packet 1070. The size of a null packet is preferably set to 350, which is a value obtained by adding a maximum value of a residual transmission value 1120 to a quantity value of a service to be received by one flow.

다음 단계로, 도 18b와 도 18c에서, 첫번째 큐의 600 패킷(1060)은 여전히 남아 있는 최대 전송 허용량(Deficit)값(1140)보다 크므로 서비스하지 않는 것이 바람직하다.As a next step, in Figs. 18B and 18C, 600 packets 1060 of the first queue are preferably not serviced because they are larger than the maximum transmission allowance value 1140 still remaining.

그리고, 두번째 큐의 400 크기 패킷(1030)은 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1150)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 400을 차감한 0이 됨이 바람직하다.Then, the 400 size packet 1030 of the second queue is serviced, and the maximum transmission allowance value 1150 remaining is obtained by subtracting the service packet size 400 from the service value value one flow will receive. It is preferred to be zero.

또한, 세번째 큐의 350 크기 널(Null) 패킷(1070)은 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1160)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 350을 차감한 0이 됨이 바람직하다.In addition, the 350 size null packet 1070 of the third queue is serviced, and the maximum transmission allowance value 1160 remaining is the size of the serviced packet at the quantity value received by one flow. It is preferable to become 0 which subtracted 350.

그리고, 네번째 큐의 340 크기 패킷(1050)이 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1170)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 340을 차감한 60이 되는 것이 바람직하다.In addition, the 340 size packet 1050 of the fourth queue is serviced, and the remaining maximum transmission allowance value 1170 is subtracted from the service packet value 340, which is the size of the service packet, to receive one flow. It is preferable to become 60.

다음 단계에서, 세번째 큐는 비어 있으므로 널(Null) 패킷을 생성하여 서비스하게 됨이 바람직하다. 널(Null) 패킷(1080)의 크기는, 남아 있는 최대 전송 허용량(Deficit)값(1160)에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값인 200으로 설정하는 것이 바람직하다.In the next step, the third queue is empty, so it is desirable to generate and service null packets. The size of the null packet 1080 is preferably set to 200, which is a value obtained by adding a maximum value of the remaining allowable transmission value 1160 to a quantity value of a service to be received by one flow.

전술한 바와 같이 본 발명에 의하면, 패킷 플로우(flow) 내에서 비어있는 큐(queue)를 검출하고, 비어 있는 큐의 존재 여부에 따라 패킷 서비스 방식을 결정하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법과 장치를 실현할 수 있게 된다.As described above, according to the present invention, a packet flow scheduling method and apparatus of a packet switching network for detecting an empty queue in a packet flow and determining a packet service method according to whether an empty queue exists. Can be realized.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments.

본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명에 의하면, 비어 있는 큐 내에 널(Null) 패킷을 생성하여 처리하는 것으로 인해, 패킷 스위칭 네트워크의 최대 지연값(maximum delay)을 감소시키고 패킷 스위칭 네트워크에서의 서비스 품질(QoS)을 보장할 수 있는 효과가 있다. As described above, according to the present invention, by generating and processing a null packet in an empty queue, the maximum delay of the packet switching network is reduced and the quality of service (QoS) in the packet switching network is reduced. ) Is effective to ensure.

Claims (24)

전달 정보를 포함하지 않는 널(Null) 패킷과 전달 정보를 포함하는 리얼(Real) 패킷을 포함하는 서비스 패킷을 지원하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법에 있어서,A packet flow scheduling method of a packet switching network supporting a service packet including a null packet not including delivery information and a real packet including delivery information, 패킷 플로우를 수신하는 단계;Receiving a packet flow; 상기 패킷 플로우 별 비어있는 큐(queue)에 대한 처리를 하는 단계; 및Processing an empty queue for each packet flow; And 처리된 상기 패킷 플로우에 대한 서비스를 수행하는 단계;를 포함하며,Performing a service on the processed packet flow; 상기 널(Null) 패킷의 크기는,The size of the null packet is, 남아 있는 최대 전송 허용량(Deficit)값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정되는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.A method of scheduling a packet flow in a packet switching network, characterized in that the maximum transmission allowance (Deficit) value is added to a value of a service value (Quantum value) to be received by one flow. 제 1 항에 있어서, The method of claim 1, 상기 비어있는 큐에 대한 처리를 하는 단계는, Processing the empty queue, 상기 비어있는 큐가 존재하는지 여부를 판정하는 단계; 및Determining whether the empty queue exists; And 상기 비어있는 큐가 존재하는 경우, 상기 비어있는 큐 내에 상기 널(Null) 패킷을 생성하는 단계;Generating the null packet in the empty queue if the empty queue exists; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.Packet flow scheduling method of a packet switching network comprising a. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 패킷 플로우들의 속성을 비교하는 패킷 플로우 속성 비교 단계; 및A packet flow attribute comparing step of comparing the attributes of the packet flows; And 상기 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여 집성 패킷 플로우를 생성하는 단계; Aggregating packet flows having similar attributes among the packet flows to generate an aggregate packet flow; 를 추가로 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.The packet flow scheduling method of a packet switching network further comprising. 제 4 항에 있어서,5. The method of claim 4, 상기 집성 패킷 플로우를 수신하는 단계; 및Receiving the aggregate packet flow; And 상기 집성 패킷 플로우를 세그리게이션하여 패킷 플로우들을 획득하는 단계;Segmenting the aggregate packet flow to obtain packet flows; 를 추가로 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.The packet flow scheduling method of a packet switching network further comprising. 제 1 항에 있어서,The method of claim 1, 수신된 상기 패킷 플로우를 식별하는 단계; 및Identifying the received packet flow; And 상기 패킷 플로우를 참조하여 최대 전송 허용량 값을 설정하는 단계;Setting a maximum transmission allowance value with reference to the packet flow; 를 추가로 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로 우 스케줄링 방법.The packet flow scheduling method of a packet switching network further comprising. 제 6 항에 있어서, The method of claim 6, 상기 최대 전송 허용량 값을 설정하는 단계는,The setting of the maximum transmission allowance value may include: 남아 있는 최대 전송 허용량 값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정하는 단계; Setting a service value (Quantum value) to be received by one flow to a remaining maximum transmission allowance value; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.      Packet flow scheduling method of a packet switching network comprising a. 제 1 항에 있어서, The method of claim 1, 상기 패킷 플로우에 대한 서비스를 수행하는 단계는, Performing a service for the packet flow, 상기 서비스 패킷의 크기와 남아 있는 최대 전송 허용량 값의 크기를 비교하는 단계; 및 Comparing the size of the service packet with the size of the remaining maximum transmission allowance value; And 상기 크기를 비교하는 단계의 비교 결과에 따라 선택된 패킷 서비스를 실행하는 단계;Executing the selected packet service according to the comparison result of the comparing of the sizes; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.Packet flow scheduling method of a packet switching network comprising a. 제 8 항에 있어서, 9. The method of claim 8, 상기 패킷 서비스를 실행하는 단계는,The step of executing the packet service, 상기 남아 있는 최대 전송 허용량 값의 크기가 상기 서비스 패킷의 크기보다 크거나 같음에 따라, 상기 서비스 패킷이 상기 널 패킷인지 여부를 판정하는 단계;Determining whether the service packet is the null packet as the size of the remaining maximum transmission allowance value is greater than or equal to the size of the service packet; 상기 서비스 패킷이 상기 널(Null) 패킷인 경우에 상기 널(Null) 패킷에 대하여 매체 접근 제어 계층(MAC Layer)에서 서비스를 실행하는 단계; 및Executing a service in a media access control layer (MAC Layer) on the null packet if the service packet is the null packet; And 상기 최대 전송 허용량 값을 갱신하는 단계;      Updating the maximum transmission allowance value; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.      Packet flow scheduling method of a packet switching network comprising a. 제 9 항에 있어서, The method of claim 9, 상기 패킷 서비스를 실행하는 단계는, The step of executing the packet service, 상기 서비스 패킷이 상기 리얼(Real) 패킷인 경우에, 상기 리얼(Real) 패킷에 대하여 매체 접근 제어 계층에서 서비스를 실행하는 단계; If the service packet is the real packet, executing a service in a media access control layer on the real packet; 상기 리얼(Real) 패킷을 물리 계층(PHY layer)으로 전송하는 단계; 및Transmitting the real packet to a physical layer; And 상기 최대 전송 허용량 값을 갱신하는 단계;Updating the maximum transmission allowance value; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.Packet flow scheduling method of a packet switching network comprising a. 제 9 항에 있어서, The method of claim 9, 상기 최대 전송 허용량 값을 갱신하는 단계는, 상기 남아 있는 최대 전송 허용량 값에서 상기 서비스 패킷의 크기를 차감한 값을 새로운 최대 전송 허용량 값 으로 설정하는 단계; The updating of the maximum transmission allowance value may include: setting a value obtained by subtracting the size of the service packet from the remaining maximum transmission allowance value as a new maximum transmission allowance value; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법. Packet flow scheduling method of a packet switching network comprising a. 제 9 항에 있어서, The method of claim 9, 상기 패킷 서비스를 실행하는 단계는, The step of executing the packet service, 상기 남아 있는 최대 전송 허용량 값의 크기가 상기 서비스 패킷의 크기보다 작음에 따라, 상기 패킷을 대기시키는 단계;       Waiting for the packet as the size of the remaining maximum transmission allowance value is smaller than the size of the service packet; 를 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 방법.      Packet flow scheduling method of a packet switching network comprising a. 전달 정보를 포함하지 않는 널(Null) 패킷과 전달 정보를 포함하는 리얼(Real) 패킷을 포함하는 서비스 패킷을 지원하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치에 있어서,A packet flow scheduling apparatus of a packet switching network that supports a service packet including a null packet not including delivery information and a real packet including delivery information, 패킷 플로우를 수신하는 수신부; 및A receiver for receiving a packet flow; And 상기 수신부로부터 상기 패킷 플로우를 입력받아 상기 패킷 플로우 별 비어있는 큐에 대한 처리를 하고, 처리된 상기 패킷 플로우에 대한 서비스를 수행하는 제어부;를 포함하며,And a controller configured to receive the packet flow from the receiving unit, process the empty queue for each packet flow, and perform a service on the processed packet flow. 상기 제어부는,The control unit, 남아있는 최대 전송 허용량(Deficit) 값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 상기 널(Null) 패킷의 크기를 설정하는 것을 특징으로 하는 패킷 스위칭 네트워크의 플로우 스케줄링 장치.And setting the size of the null packet to a value obtained by adding a quantum value of a single flow to a remaining maximum transmission allowance (Deficit) value. 제 13 항에 있어서, The method of claim 13, 상기 제어부는, 상기 비어있는 큐가 존재하는지 여부를 판정하고, 상기 비어있는 큐가 존재하는 경우, 상기 비어있는 큐 내에 상기 널(Null) 패킷을 생성하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.The controller determines whether the empty queue exists and, when the empty queue exists, generates the null packet in the empty queue. Device. 삭제delete 제 13 항에 있어서, The method of claim 13, 상기 제어부는, 상기 패킷 플로우들의 속성을 비교하고, 상기 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여 집성 패킷 플로우를 생성하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.The controller compares the attributes of the packet flows and aggregates the packet flows having similar attributes among the packet flows to generate an aggregate packet flow. 제 16 항에 있어서,17. The method of claim 16, 상기 제어부는, 상기 집성 패킷 플로우를 세그리게이션하며, 상기 집성 패킷 플로우를 분리하여 패킷 플로우들을 생성하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.And the control unit segments the aggregate packet flow and separates the aggregate packet flow to generate packet flows. 제 13 항에 있어서,The method of claim 13, 상기 제어부는, 수신한 상기 패킷 플로우를 식별하고, 상기 패킷 플로우를 참조하여 상기 최대 전송 허용량 값을 설정하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.And the control unit identifies the received packet flow and sets the maximum transmission allowance value with reference to the packet flow. 제 18 항에 있어서,The method of claim 18, 상기 제어부는, 상기 서비스 패킷의 크기와 남아있는 최대 전송 허용량 값의 크기를 비교하고, 상기 크기의 비교 결과에 따라 선택된 패킷 서비스를 실행하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.The control unit compares the size of the service packet with the size of the remaining maximum transmission allowance value, and executes the packet service selected according to the result of the comparison of the size, packet flow scheduling apparatus of a packet switching network. 제 19 항에 있어서,20. The method of claim 19, 상기 제어부는, 상기 남아있는 최대 전송 허용량값의 크기가 상기 서비스 패킷의 크기보다 크거나 같음에 따라, 상기 서비스 패킷이 상기 널 패킷인지 여부를 판정하고, 상기 서비스 패킷이 상기 널(Null) 패킷인 경우에, 상기 널 패킷에 대하여 매체 접근 제어 계층(MAC Layer)에서 서비스를 수행하며, 상기 최대 전송 허용량 값을 갱신하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.The controller determines whether the service packet is the null packet as the size of the remaining maximum transmission allowance value is greater than or equal to the size of the service packet, and the service packet is the null packet. In this case, the packet flow scheduling apparatus of the packet switching network, characterized in that to perform a service in the MAC layer for the null packet, and to update the maximum transmission allowance value. 제 19 항에 있어서,20. The method of claim 19, 상기 제어부는, 상기 서비스 패킷이 상기 리얼(Real) 패킷인 경우에, 상기 리얼 패킷에 대하여 매체 접근 제어 계층에서 서비스를 수행하고, 상기 리얼 패킷을 물리 계층(PHY layer)으로 전송하며, 상기 최대 전송 허용량 값을 갱신하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.When the service packet is the real packet, the controller performs a service in a media access control layer on the real packet, transmits the real packet to a physical layer, and transmits the maximum packet. Packet flow scheduling apparatus of a packet switching network, characterized in that for updating the allowance value. 제 19 항에 있어서,20. The method of claim 19, 상기 제어부는, 상기 남아 있는 최대 전송 허용량값에서 상기 서비스 패킷의 크기를 차감한 값을 새로운 최대 전송 허용량 값으로 설정하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.And the control unit sets a value obtained by subtracting the size of the service packet from the remaining maximum transmission allowance value to a new maximum transmission allowance value. 제 19 항에 있어서,20. The method of claim 19, 상기 제어부는, 상기 남아 있는 최대 전송 허용량 값의 크기가 상기 서비스 패킷의 크기보다 작음에 따라, 상기 패킷을 대기시키는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.And the control unit waits for the packet as the size of the remaining maximum transmission allowance value is smaller than the size of the service packet. 제 13 항에 있어서,The method of claim 13, 상기 하나의 플로우가 받을 서비스량(Quantum value) 및 상기 최대 전송 허용량 값 중 적어도 하나를 저장하는 저장부;A storage unit for storing at least one of a quantity value and a maximum transmission allowance value to be received by the one flow; 를 추가로 포함하는 것을 특징으로 하는 패킷 스위칭 네트워크의 패킷 플로우 스케줄링 장치.Packet flow scheduling apparatus of a packet switching network further comprising.
KR1020060065479A 2006-02-16 2006-07-12 Apparatus for scheduling of packet flow and method thereof in packet switching network KR101224593B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060015340 2006-02-16
KR1020060015340 2006-02-16

Publications (2)

Publication Number Publication Date
KR20070082482A KR20070082482A (en) 2007-08-21
KR101224593B1 true KR101224593B1 (en) 2013-01-22

Family

ID=38612158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060065479A KR101224593B1 (en) 2006-02-16 2006-07-12 Apparatus for scheduling of packet flow and method thereof in packet switching network

Country Status (1)

Country Link
KR (1) KR101224593B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040160971A1 (en) * 2002-11-27 2004-08-19 Edward Krause Apparatus and method for dynamic channel mapping and optimized scheduling of data packets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040160971A1 (en) * 2002-11-27 2004-08-19 Edward Krause Apparatus and method for dynamic channel mapping and optimized scheduling of data packets

Also Published As

Publication number Publication date
KR20070082482A (en) 2007-08-21

Similar Documents

Publication Publication Date Title
US6519595B1 (en) Admission control, queue management, and shaping/scheduling for flows
Guérin et al. Quality-of-service in packet networks: basic mechanisms and directions
US7142513B2 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
JP4662670B2 (en) Packet data traffic scheduling and acceptance control
US8638664B2 (en) Shared weighted fair queuing (WFQ) shaper
JP3683133B2 (en) Packet scheduling device
KR101468833B1 (en) Hierarchical profiled scheduling and shaping
JP3953819B2 (en) Scheduling apparatus and scheduling method
JP5659125B2 (en) Relay device and relay method
US8553543B2 (en) Traffic shaping method and device
US6795870B1 (en) Method and system for network processor scheduler
CN109088829B (en) Data scheduling method, device, storage medium and equipment
US20050047425A1 (en) Hierarchical scheduling for communications systems
JP2002232470A (en) Scheduling system
JP2001103120A (en) Method and system for scheduling traffic in communication network
JP7211765B2 (en) PACKET TRANSFER DEVICE, METHOD AND PROGRAM
EP2996293B1 (en) A packet scheduling networking device for deadline aware data flows
EP2985963A1 (en) Packet scheduling networking device
CN101212417B (en) Time granularity based internet QoS assurance method
KR101224593B1 (en) Apparatus for scheduling of packet flow and method thereof in packet switching network
Ding et al. DAQ: deadline-aware queue scheme for scheduling service flows in data centers
JP4846601B2 (en) Instant service method of short round robin data packet scheduling
JP2004241952A (en) System and method for packet transfer control, and program and router
Zhang et al. End-to-end window-constrained scheduling for real-time communication
EP3364616A1 (en) Resource allocation device and method to multiple access networks according to a network condition of each

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee