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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
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
도 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
여기서, 데이터 패킷을 송수신하는 패킷 스위칭 네트워크에서는 '플로우(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
이 후, 제어부(730)는 처리된 패킷 플로우에 대한 서비스를 수행할 수 있다(S130). 여기서, 패킷 플로우에 대한 서비스의 경우, 서비스 패킷의 크기와 남아 있는 최대 전송 허용량 값의 크기를 비교하고, 크기 비교 결과에 따라 선택된 패킷 서비스를 실행한다.Thereafter, the
도 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
여기서, 큐는 데이터 정보가 처리되도록 저장되고 기다리는 일종의 버퍼(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
여기서, 널(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
이어, 제어부(730)는 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여(S320), 집성 패킷 플로우를 생성할 수 있다(S330). 여기서, 패킷이나 패킷이 포함되어 있는 플로우들을 EF(expedited forwarding), AF(assured forwarding) 그리고 BE (best effort) 서비스 클래스와 같은, 트래픽 클래스들로 분류하고, 클래스당 같은 서비스 품질(QoS) 요구 사항을 가지는 트래픽들을 애그리게이션할 수 있다.Subsequently, the
도 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
이어, 제어부(730)는 집성 패킷 플로우를 세그리게이션하여(S420), 패킷 플로우들을 획득할 수 있다(S430).Subsequently, the
도 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
이어, 제어부(730)는 패킷 플로우의 정보를 참조하여 최대 전송 허용량 값을 기존 남아 있는 최대 전송 허용량 값에 하나의 플로우가 받을 서비스량(Quantum value)을 더한 값으로 설정하고(S520), 설정한 값을 저장부(750)에 저장할 수 있다.Subsequently, the
도 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
제어부(730)는 서비스 패킷이 널(Null) 패킷이면, 널(Null) 패킷에 대하여 매체 접근 제어 계층(MAC Layer)에서 서비스를 실행할 수 있다(S630).If the service packet is a null packet, the
한편, 서비스 패킷이 리얼(Real) 패킷이면, 제어부(730)는 리얼(Real) 패킷에 대하여 매체 접근 제어 계층에서 서비스를 실행하고, 리얼(Real) 패킷을 물리 계층(PHY layer)으로 전달하여 전송부(740)를 통하여 전송할 수 있다(S650).On the other hand, if the service packet is a real packet, the
제어부(730)는 최대 전송 허용량 값은 기존 남아 있는 최대 전송 허용량 값에서 서비스 패킷의 크기를 차감한 값을 새로운 최대 전송 허용량 값으로 설정하여(S640), 저장부(750)에 저장할 수 있다.The
또한, 제어부(730)는 저장부(750)에 저장된 남아 있는 최대 전송 허용량 값의 크기가 서비스 패킷의 크기보다 작은 경우, 패킷을 대기시킬 수 있다(S660).In addition, when the size of the remaining maximum transmission allowance value stored in the
도 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
여기서, 수신부(720)는, 서비스 패킷의 정보를 포함하는 패킷 플로우를 수신하는 역할을 할 수 있다.Here, the
또한, 저장부(750)는 패킷 플로우의 아이디(ID), 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value), 남아 있는 최대 전송 허용량 값, 처음 패킷 포인터(Initial Packet Pointer), 다음 패킷 포인터(Next Packet Pointer)와 같은 패킷 플로우 정보 및 패킷 정보를 저장하는 역할을 하나 이에 한정되지 않는다.In addition, the
한편, 제어부(730)는 수신부(720)로부터 패킷 플로우를 입력받아 패킷 플로 우 별 비어있는 큐를 처리하는 역할을 하나 이에 한정되지 않는다.The
또한, 제어부(730)는 처리된 패킷 플로우에 대한 서비스를 수행하는 수신된 서비스 패킷의 정보를 저장부(750)에 저장하는 역할을 하나 이에 한정되지 않는다.In addition, the
한편, 제어부(730)는 저장부(750)에 저장된 패킷 플로우의 아이디(ID), 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value), 최대 전송 허용량 값, 처음 패킷 포인터(Initial Packet Pointer), 다음 패킷 포인터(Next Packet Pointer)와 같은 패킷 플로우 정보 및 패킷 정보를 읽고, 갱신하며, 패킷 서비스를 수행하고, 전송부(740)를 통하여 전송하는 역할을 하나 이에 한정되지 않는다.On the other hand, the
또한, 제어부(730)는 패킷 플로우들의 속성을 비교하고, 패킷 플로우들 중 속성이 유사한 패킷 플로우들을 애그리게이션하여 집성 패킷 플로우를 생성하고, 집성 패킷 플로우를 세그리게이션하며, 집성 패킷 플로우를 분리하여 패킷 플로우들을 생성할 수 있으나 이에 한정되지 않는다.In addition, the
한편, 전송부(740)는 패킷을 전송하는 역할을 하나 이에 한정되지 않는다.Meanwhile, the
도 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
또한, 각 스위치 노드는 내부적으로 구비된 스위치 제어부에 의해 데이터 패킷을 전송하는 것을 제어할 수 있다. 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
도 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
이에 반하여, 제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
여기서, 제1 패킷 플로우와 제2 패킷 플로우는 제1 스위치 노드(810) 내지 제7 스위치 노드(870)까지 스케줄링되므로 전송 경로의 특성상 유사한 점이 있을 수 있다.Here, since the first packet flow and the second packet flow are scheduled from the
또한, 제1 패킷 플로우와 제2 패킷 플로우는 각 패킷 플로우의 데이터 패킷이 제1 스위치 노드(810) 내지 제7 스위치 노드(870)를 경유해 전송되므로, 각각의 스위치 노드의 스케줄링에 따라 각 스위치 노드마다 지연 시간이 발생할 수 있다. In addition, since the data packet of each packet flow is transmitted via the
도 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
여기서, 저장부는 외부로부터 입력된 데이터 패킷을 저장하는 패킷 메모리부와 각 플로우에 따른 데이터 패킷의 정보를 저장하는 플로우 정보 메모리부를 포함할 수 있다. 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
도 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
도 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
도 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
제7 스위치 제어부(940)는 입력된 집성 플로우(g)를 스케줄링할 때, 집성 플로우(g)를 세그리게이션하여 원래의 플로우 (i)와 플로우 (j)를 얻을 수 있다.When scheduling the input aggregation flow g, the
도 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
제2 스위치 노드(820)에서 제2 스위치 컨트롤러(890)는 입력되는 집성 플로우(1,2)와 제9 플로우 내지 제14 플로우을 스케줄링하여, 집성 플로우(1,2)를 전송부를 통해 패킷 스위칭 네트워크로 전송할 수 있다. 이에 따라, 집성 플로우(1,2)는 패킷 스위칭 네트워크 내의 다른 스위치 노드들을 경유하여 제7 스위치 노드(870)로 전달될 수 있다.At the
즉, 집성 플로우인 제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
도 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
도 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
제2 스위치 노드(820)는 입력된 집성 플로우(g)를 세그리게이션하여 분리된 제1 플로우와 제7 플로우를 생성할 수 있다. 또한, 제2 스위치 노드(820)의 제2 스위치 제어부(890)는 제2 스위치 노드(820)로 새로운 제2 플로우가 입력되면, 제2 플로우와 제1 플로우가 그 속성이 유사할 경우에 애그리게이션하여 집성 플로우(f)를 생성할 수 있다. 그리고, 제2 스위치 제어부(890)는 집성 플로우(f)를 전송부를 통해 패킷 스위치 네트워크로 전송할 수 있다.The
제2 스위치 노드(820)에서 전송된 집성 플로우(f)가 다른 스위치 노드들을 경유해 그대로 제7 스위치 노드까지 전달된 경우, 제7 스위치 노드(870)는 집성 플로우(f)를 세그리게이션하여 제1 플로우와 제2 플로우를 생성한다. 이때, 제7 스위치 노드(870)로 아무런 새로운 플로우에 대한 입력이 없으면 제1 플로우를 그대로 전송하고, 제7 플로우가 새로 입력되면 그 속성이 유사할 경우에 제1 플로우와 제7 플로우를 애그리게이션하여 집성 플로우를 생성하게 된다.When the aggregation flow f transmitted from the
도 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
제1 스위치 노드(810)에서 전송된 집성 플로우는 제2 스위치 노드(820)와 다른 스위치 노드들을 경유하여 제7 스위치 노드(870)로 전달될 수 있다.The aggregation flow transmitted from the
제7 스위치 노드(870)에서는 입력된 집성 플로우를 세그리게이션하여 제1 플로우와 제2 플로우를 획득하고, 각각 다른 전송부를 통해 전송할 수 있다.The
따라서, 데이터 패킷이 제1 스위치 노드(810)에서 제7 스위치 노드(870)까지 전송되는 동안 지연을 살펴보면 다음과 같다.Accordingly, the delay while the data packet is transmitted from the
도 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
한편, 본 발명의 패킷 플로우 스케줄링 방법은 약 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
패킷 메모리(960)는 외부로부터 입력된 데이터 패킷(970)을 저장하고 있다. 패킷 메모리(960)는 예컨대, 대용량의 SRAM을 사용할 수 있다. 도 17에 도시된 바와 같이 패킷 메모리(960)에 저장되어 있는 하나의 데이터 패킷은 다음 패킷 플래그(Next Packet Flag)와, 다음 패킷 사이즈(Next Packet Size), 다음 패킷 포인터(Next Packet Pointer), 현재 패킷 사이즈(Current Packet Size), 패킷 등으로 구성될 수 있다. The
제어부(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
여기서, 제어부(730)는 제1 플로우를 서비스할 때, 플로우 정보 저장부(990)로부터 현재 패킷 포인터(Current Packet Pointer), 현재 플로우 포인터(Current Flow Pointer), 하나의 플로우가 받을 서비스량(Quantum value)값, 남아 있는 최대 전송 허용량(Deficit)값, 현재 패킷 사이즈(Current Packet Size) 등의 제1 플로우 정보를 읽어와, 서비스할 데이터 패킷으로 구성하여 전송부(740)로 전달할 수 있다. Here, when the
전송부(740)는 제어부(730)로부터 전달받은 서비스할 데이터 패킷을 패킷 버퍼(Packet Buffer)에 버퍼링한 후 목적지로 서비스할 수 있다. The
액티브 리스트 처리부(980)는 각 플로우 정보에 따라 다수의 플로우 가운데 활성화된 플로우를 서비스하고, 활성화되지 않은 플로우(Deactive Flow)는 서비스하지 않음이 바람직하다. 또한, 액티브 리스트 처리부(980)는 활성화된 플로우와 활성화되지 않은 플로우에 대한 액티브 리스트를 가지고 있으며, 플로우 정보에 근거한 액티브 리스트에 따라 플로우 서비스 동작을 수행할 수 있다. The active
플로우 정보 저장부(990)는 각 플로우에 따른 데이터 패킷의 정보를 저장할 수 있다. 플로우 정보 저장부(990)는 제1 플로우에 대한 정보(1000), 제2 플로우에 대한 정보(1010) 등 다수의 플로우 정보를 각각 저장할 수 있다. 각 플로우에 대한 정보는 도 17에 도시된 바와 같이 플로우 ID, 플래그(Flag), 하나의 플로우가 받을 서비스량(Quantum value)값, 남아 있는 최대 전송 허용량(Deficit)값, 처음 패킷 포인터(Initial Packet Pointer), 다음 플로우 포인터(Next Flow Pointer) 등을 포함할 수 있다. The flow
도 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
그리고, 두번째 큐의 400 크기 패킷(1030)은 하나의 플로우가 받을 서비스량(Quantum value)값 200보다 크므로 서비스 하지 않는 것이 바람직하다. Since the 400
또한, 세번째 큐의 50 크기 패킷(1040)은 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1120)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 50을 차감한 150이 되는 것이 바람직하다.In addition, the
그리고, 네번째 큐의 340 크기 패킷(1050)은 하나의 플로우가 받을 서비스량(Quantum value)값인 200보다 크므로 서비스 하지 않는 것이 바람직하다.Since the 340
도 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
다음 단계로, 도 18b와 도 18c에서, 첫번째 큐의 600 패킷(1060)은 여전히 남아 있는 최대 전송 허용량(Deficit)값(1140)보다 크므로 서비스하지 않는 것이 바람직하다.As a next step, in Figs. 18B and 18C, 600
그리고, 두번째 큐의 400 크기 패킷(1030)은 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1150)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 400을 차감한 0이 됨이 바람직하다.Then, the 400
또한, 세번째 큐의 350 크기 널(Null) 패킷(1070)은 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1160)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 350을 차감한 0이 됨이 바람직하다.In addition, the 350 size
그리고, 네번째 큐의 340 크기 패킷(1050)이 서비스되고, 남아 있는 최대 전송 허용량(Deficit)값(1170)은 하나의 플로우가 받을 서비스량(Quantum value)값에서 서비스된 패킷 크기인 340을 차감한 60이 되는 것이 바람직하다.In addition, the 340
다음 단계에서, 세번째 큐는 비어 있으므로 널(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
전술한 바와 같이 본 발명에 의하면, 패킷 플로우(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)
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)
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 |
-
2006
- 2006-07-12 KR KR1020060065479A patent/KR101224593B1/en not_active IP Right Cessation
Patent Citations (1)
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 |