KR20040076246A - 고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법 - Google Patents

고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법 Download PDF

Info

Publication number
KR20040076246A
KR20040076246A KR1020040063692A KR20040063692A KR20040076246A KR 20040076246 A KR20040076246 A KR 20040076246A KR 1020040063692 A KR1020040063692 A KR 1020040063692A KR 20040063692 A KR20040063692 A KR 20040063692A KR 20040076246 A KR20040076246 A KR 20040076246A
Authority
KR
South Korea
Prior art keywords
packet
value
flow
register
time
Prior art date
Application number
KR1020040063692A
Other languages
English (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 김태준
Priority to KR1020040063692A priority Critical patent/KR20040076246A/ko
Publication of KR20040076246A publication Critical patent/KR20040076246A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues

Abstract

ATM(Asynchronous Transfer Mode), MPLS(Multi-Protocol Label Switching) 및 인터넷과 같은 고속 패킷 교환망의 패킷 노드에서 제한된 출력링크의 대역폭을 복수의 트래픽 흐름에 공정하게 분배하기 위해 공정 패킷 스케줄링(fair packet scheduling) 방법이 요구된다. 종래 공정 패킷 스케줄링 방법으로 채택되어 왔던 WFQ(Weighted Fair Queuing)와 이의 구현복잡성을 줄이기 위해 개발된 유사 WFQ 방법은 모두 트래픽 흐름의 예약속도에 반비례하는 레이턴시(latency) 특성을 갖는다. 이러한 레이턴시 특성은 비디오, 음성, 문자 등 상이한 전송 속도의 미디어가 별도의 채널을 통해 전달되는 멀티미디어 통신에 있어 착신측에서 요구되는 미디어간의 동기화에 어려움을 초래할 수 있다. 본 발명은 패킷의 예상 전송시점을 의미하는 가상시간인 시작태그(Start-Tag)를 타임스탬프로 사용하는 SWFQ(Start-Tag WFQ) 방법에 관한 것이다. SWFQ에서 각 트래픽 흐름은 자신의 예약속도에 종속되지 않는 레이턴시를 가지므로 종래 방식에서 초래되었던 미디어간 동기화의 어려움 해소에 도움될 것으로 기대된다.

Description

고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷 스케줄링 방법{A Fair Packet Scheduling Method for Multimedia Service in High-speed Packet Networks}
본 발명은 SLA(Service Level Agreement)에 의해 서비스 품질을 보장할 수 있는 비동기 전송 모드(이하 ATM 이라 약칭함) 네트워크, MPLS(Multi-Protocol Label Switching) 네트워크 및 인터넷과 같은 고속 패킷 교환망의 핵심장비인 패킷 교환노드에서 적용 가능한 공정 패킷 스케줄링 (fair packet scheduling) 방법에 관한 것으로, 보다 상세하게는 동일한 출력 링크로의 패킷 전송을 요구하는 다수의 흐름에 대해 각 흐름에게 할당된 전송속도 (이하 예약속도라 칭함)를 보장해주고, 링크자원에 여유가 있을 때 각각의 흐름에게 공정하게 링크 자원을 배분해주는 장치 및 방법에 관한 것이다.
본 기술분야에서 통상적으로 알려져 있는 패킷 스케줄링 방법의 기준이 되는 가설적인 이론은 Abhay K.Parekh 와 Robert G. Gallager의 논문 "A generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-node case" (IEEE/ACM Transactions on Networking, Vol.1, No.3, 1993년 6월)에 제안되어 있다. 이 이론은 모든 입력 트래픽을 유체의 흐름으로 모델링하고 서버는 서비스를 요청하는 모든 흐름에 대하여 동시에 서비스를 제공하는 스케줄링 방법(GPS: Generalized Processor Sharing)이며 이상적인 공정성 및 최적의 레이턴시, 즉 지연 바운드(delay bound) 값을 제공한다. 그러나 실제 패킷망 환경에서는 트래픽의 최소단위가 패킷이고 특정 순간에 서버는 하나의 패킷만을 전송 가능하므로, 실제 구현은 불가능하고 모든 공정 스케줄링 방법이 지향하는 개념적인 성능 기준만을 제공할 뿐이다.
상술한 Abhay K.Parekh 와 Robert G.Gallager의 GPS 방법의 개념을 가장 근접하게 실제 망 환경에서 구현한 방법으로, Abhay K.Parekh 와 Robert G. Gallager의 Ageneralized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-node case(IEEE/ACM Transactions on Networking, Vol.1, No.3, 1993년 6월)이 있다. 이 방법은 상술한 GPS와 달리 인입 트래픽의 기본 단위를 패킷으로 가정하고 있으며, PGPS(Packet-by-packet Generalized Processor Sharing) 또는 WFQ(Weighted Fair Queuing)라 지칭된다. 이 방법은 마치 유체의 흐름으로 모델링된 트래픽을 동시에 서비스를 제공하는 것처럼 GPS 서버의 동작을 모방하여야 하므로 GPS 서버의 동작정도를 표시한 가상시간(virtual time) 이라는 개념을 도입하여 새로운 패킷이 도착하거나 서비스 중인 패킷이 서비스를 종료하고 서버를 떠날 때마다 가상시간을 새로 계산하여 갱신함으로써 새로 도착하는 패킷의 타임스탬프(timestamp)를 할당할 때 기준 값으로 활용한다. 이 방법은 GPS에 근접된 성능을 제공할 수 있으나 하나의 패킷이 전송되는 동안 최악의 경우 모든 흐름으로부터 새로운 패킷이 도착할 수 있으므로 흐름의 수만큼의 가상시간 계산 및 갱신이 반복될 수 있다. 즉, 패킷에 대한 고속의 전송순서 결정이 요구되는 고속망 환경에서는 구현이 사실상 어려운 방법이라 볼 수 있다.
또한 WFQ 방법은 패킷이 도착할 때 그 패킷의 예상 전송완료 시점을 의미하는 종료태그(Finish-Tag)를 그 패킷의 타임스탬프로 사용함으로 인해 다음에 설명되는 미디어 동기화의 어려움이 예상된다. 패킷의 예상 전송완료 시점이란 패킷의 예상 전송시작 시점에 그 패킷의 정규화된 길이를 더한 값이며, 패킷의 정규화된 길이란 비트 수로 표현되는 그 패킷의 실제 길이를 그 패킷이 속하는 흐름의 예약속도로나눈 값이다. 이러한 종료태그기반의 타임스탬프를 사용함으로 인해 예약속도에 종속되는 레이턴시 특성이 나타난다. 예를 들어 예약속도가 1 Kbps인 흐름에 속하는 패킷 a와 예약속도가 1 Mbps인 흐름에 속하는 패킷 b의 길이가 똑같이 1 Kbit라 할 때 패킷 a의 정규화된 길이는 1인 반면 패킷 b는 0.001이 된다. 두 패킷이 동일한 예상 전송시점, 예로 10의 값을 갖는다고 가정할 경우 패킷 a와 b의 종료태그는 각각 11과 10.001이 되므로 예약속도가 느린 흐름에 속하는 패킷 a의 우선순위가 낮아져 이의 레이턴시(latency)가 증가하게 된다. 어떤 흐름의 예약속도가 다른 흐름에 비해 느린 정도가 심할수록 이러한 현상은 더욱 심해진다. 전송속도가 서로 다른 다수의 미디어를 갖는 멀티미디어 통신 서비스, 예를 들어 비디오 채널, 오디오 채널, 문자채널을 갖는 VoIP(Voice of Internet Protocol) 서비스가 보급 확산되고 있다. 미디어 채널별로 별도의 트래픽 흐름이 할당되므로 흐름별로 예약속도가 서로 다를 수 있다. 발신측에서 발생시킨 비디오, 오디오, 문자 미디어의 조합인 멀티미디어 트래픽은 상이한 예약속도를 갖는 다수의 흐름으로 분리되어 전송되고, 이들은 착신측에서 다시 하나의 멀티미디어 흐름으로 조합되어 재생되어야 한다. 그런데 WFQ방식의 경우 흐름의 예약속도에 반비례하는 레이턴시를 가지므로 흐름별로 패킷의 전달지연이 다를 수 있다. 착신측에서 하나의 멀티미디어 흐름으로 조합할 때 가장 지연이 큰 흐름에 동기를 맞추어야 하는데, 이로 인해 전달지연이 증가하고 과도한 동기화 버퍼가 요구되는 문제점이 야기될 수 있다. 구체적인 사례를 들어보자. 출력 전송링크로 45Mbps급 T3 1회선을 구비하며, 동시에 20 호의 VoIP 통화를 수용하고, 각 VoIP호는 2Mbps의 비디오 채널, 200Kbps의 오디오채널,20Kbps의 문자채널의 3 채널을 가지는 것으로 가정해보자. 그러면 전체적으로 총 60개의 트래픽 흐름이 발생하며, 예약속도의 총 합은 44.4Mbps가 된다. 모든 흐름에 대해 패킷크기는 50바이트에서 150바이트, 즉 400비트에서 1200비트로 가변되는 것으로 하자. 먼저 흐름별로 레이턴시를 구해보면 비디오 흐름은 0.63mS, 오디오 흐름은 6.03mS, 문자 흐름은 60.3mS가 된다. VoIP 착신단말에서는 가장 레이턴시가 큰 문자 흐름에 동기를 맞추어야 하므로 서비스 전체에 60.3mS의 과다한 지연이 초래될 수 있다. 또한 미리 도착하는 비디오와 오디오 흐름의 패킷을 보관할 과다한 동기 버퍼가 요구된다.
WFQ의 구현 복잡성을 개선하기 위하여 S. Jamaloddin Golestani에 의해 1994년 Proceedings of INFOCOM에 명칭 "A Self-Clocked Fair Queueing Scheme for Broadband applications"으로 발표된 자가 클럭 공정 분배 작업보존 방식 방법(SCFQ)가 있다. 이 방법에서는 WFQ와는 달리 연속적인 GPS 시뮬레이션 없이 새로운 패킷 도착 시 서비스 중인 패킷의 타임스탬프를 가상시간으로 간주한다. 따라서 하나의 전송 중 도착한 패킷은 모두 동일한 가상시간을 공유하게 되므로 가상시간을 계산하는데 소요되는 복잡성은 대폭 개선되었다. 그러나 최악의 경우 모든 흐름이 임의의 패킷 도착 시 서비스 중인 타임스탬프와 동일한 시간을 가질 수 있고 따라서 새로 도착한 패킷은 트래픽 약속 준수 여부와 무관하게 최대 모든 흐름의 패킷이 전송되기까지 대기하여야 하고 이 경우 대기하여야 하는 시간의 길이는 흐름의 수에 비례한다. 그러나, 이 방법은 가상시간 계산에 따르는 복잡성은 개선되었으나보장 가능한 지연 바운드는 WFQ보다 열화되었다.
SCFQ와 유사한 관점에서 WFQ의 계산 복잡성을 개선하기 위한 방법으로 Pawan Goyal, Harrick M. Vin 및 Haichen Cheng의 논문 "Start-Time Fair Queueing : A scheduling Algorithm for Integrated Services Packet Switching Networks" (IEEE/ACM Transactions on Networking, Vol.5, No5, 1997년 10월)이 제안되었다. 이 방법(SFQ : Starting Potential Fair Queueing)은 패킷 도착 시 서비스 중인 패킷의 시작 가상시간을 가상시간으로 이용하는 방법이다. 계산 복잡성은 SCFQ와 동일하게 WFQ에 비하여 월등하게 개선되었으나 지연특성은 여전히 SCFQ와 마찬가지로 트래픽 흐름의 수에 의존되나 가지나 흐름의 예약속도에 종속되지 않는 특징을 갖는다. SCFQ와 SFQ와 같이 전송중인 패킷의 타임스탬프를 서버 가상시간으로 사용하는 방식을 총칭하여 자가클럭 방식이라 칭한다. 이러한 자가클럭 방식의 공정큐잉 방법에서는 어떤 패킷의 전송 중에 새로 백로그되는 흐름들의 선두 패킷이 모두 동일한 타임스탬프를 갖는데, 이의 결과로 이들 패킷의 우선순위를 구별할 수 없어 지연특성이 나빠지는 문제점도 있다.
SCFQ가 서버 가상시간의 계산 복잡도는 줄였으나 성능이 악화되는 단점을 개선하기 위한 방법의 하나로서 1999년 1월 12일 Anujan Varma 및 Dimitrios Stiliadis에게 발명의 명칭 "Traffic Scheduling System and Method for Packet-switched networks"로 공고된 미국특허 제 5859835 호가 있다. 이 방법(SPFQ : StartingPotential Based Fair Queueing)은 매 패킷의 전송이 끝날 때마다 각 큐의 선두에 있는 패킷들의 가상 시작 시간의 값중 가장 작은 값을 가상시간으로 재 설정하는 방법으로서 우수한 성능을 유지하지만 가상 시작 시간의 부가적인 정렬이 필요한 단점이 있다. 그리고 WFQ가 갖는 흐름의 예약속도에 종속되는 레이턴시의 문제점은 여전히 해결되지 않고 있다.
서버 가상시간 계산 복잡성을 O(1)로 줄인 방식이 2003년 1월 30일 "고속 통합 서비스망에서 WFQ의 에뮬레이션을 통한 공정패킷 스케줄링 방법 및 그 공정 패킷 스케줄러" 로 공고된 대한민국 특허 10-0369562 호가 있다. 이 방법 역시 WFQ와 마찬가지로 흐름의 예약속도에 종속되는 레이턴시의 문제점을 갖는다.
공정 패킷 스케줄링 방법이 사용되는 스케줄러의 설계에 있어 주목해야 할 향후 동향은 크게 두 가지로 요약할 수 있다. 첫째는 네트워크가 고속화 되어간다는 것이고, 둘째는 미디어 별로 별도의 통신 채널을 갖는 멀티미디어 서비스가 보급 확산 된다는 점이다. 고속 네트워크 환경에서 강조되는 스케줄링 방법의 특성은 고속의 스케줄링이 가능하도록 해주는 방법의 단순성이라 할 수 있다. 그러나 컴퓨팅 기술의 발전으로 컴퓨팅 속도가 급속히 고속화되고 있어 고속 스케줄링을 위한 방법의 단순성 요구는 그 정도가 약해지고 있다고 볼 수 있다. 한편 각 미디어 별로 별도의 채널을 갖는 멀티미디어 서비스를 원활히 지원하기 위해서는 착신단에서 별도의 채널을 통해 도착하는 각 미디어의 트래픽 흐름을 하나의 멀티미디어 트래픽 흐름으로 조합 재생해야 하는데, 이때 미디어간의 동기화가 요구된다. 원활한 미디어 동기화를 위해 흐름의 속도에 상관없이 동일한 레이턴시를 가지는 것이 매우 중요하다. 그런데, 종래의 WFQ와 이의 구현 복잡성을 줄이려고 개발된 여러 공정 패킷 스케줄링 방법은 모두 흐름의 예약속도에 종속되는 레이턴시 특성을 가져 미디어 동기화시 가장 느린 미디어의 속도에 동기화를 맞추어야 함으로 인해 서비스의 전달지연이 증가하고, 또한 빨리 도착하는 트래픽의 보관을 위한 동기화 버퍼가 과도하게 요구되는 문제점이 대두된다.
본 발명은 상기의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 ATM교환기, MPLS 교환기, 인터넷 라우터 등에 활용되는 고속 패킷 노드에 적용을 목적으로 트래픽 흐름의 예약속도에 상관없이 일정한 레이턴시를 갖게 해주고, WFQ 수준의 공정성 특성을 보장하는 공정 패킷 스케줄링 방법 및 장치를 제공하는 것이다. 이를 위해 타임스탬프의 계산방법을 개선하는 것이 본 발명의 주된 기술적 과제이다.
도 1은 본 발명에 따른 공정 패킷 스케줄러의 블록도,
도 2는 본 발명에 따른 패킷의 도착 처리 절차를 수행하는 과정을 설명하는 흐름도,
도 3은 본 발명에 따른 패킷의 전송 처리 절차를 수행하는 과정을 설명하는 흐름도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예의 동작을 상세하게 설명한다.
도 1은 고속 패킷 노드의 공정 패킷 스케줄러 부분의 구성을 보여준다. 입력 트래픽에 대한 도착 처리를 담당하는 패킷입력 처리부(110), 입력 트래픽에 대한 처리를 마친 트래픽을 저장하는 큐 블록(120), 다음 전송할 패킷을 선택하여 출력링크로 전송하는 패킷출력 처리부(130) 및 다수의 레지스터(register)(140,150,160,170)를 구비한다. 도 1의 큐 블록(120)에는 각 흐름별로 별도의 큐를 구비하는데, 흐름의 최대 수를 V 라 할때 V개의 큐가 구비된다. 구비되는 레지스터에는 서버 가상시간 값을 갖는 가상시간 레지스터 Vtime(150), 서버에 백로그 중인 모든 흐름의 정규화된 예약속도의 합을 갖는 입력속도 레지스터 Snrates(160), 가장 최근에 서버 가상시간이 갱신된 때의 실시간 값을 갖는 갱신시점 레지스터 Tupdate(170) 및 각 흐름별로 가장 최근에 도착한 패킷의 종료태그 값을 갖는 종료태그 레지스터 행렬 F[V](140)가 포함된다.
패킷입력 처리부(110)는 인입되는 각 입력 트래픽으로부터 새로운 패킷이 도착할 때마다 노드내에서 지속적으로 유지 및 관리되는 서버 가상시간 값을 기준으로 타임스탬프를 계산하여 패킷의 헤더에 부가한다. 패킷입력 처리부 (110)에 의해 처리된 트래픽은 큐 블록(120)내 해당 흐름의 큐에 저장된다. 패킷출력 처리부 (130)는 다음번에 전송할 패킷을 선택할 때, 패킷이 대기 중인 각 흐름의 큐로부터 선두패킷의 타임스탬프를 비교하여 타임스탬프 값이 가장 적은 패킷을 선택하여 전송 서비스를 제공한다.
도 2는 도 1에 도시된 패킷입력 처리부(110)에서 도착하는 패킷을 큐 블록(120)에 저장하기 전에 수행되는 도착 패킷의 처리 과정을 설명하는 순서도를 도시한다. 먼저, 패킷입력 처리부(110)는 새로운 패킷이 도착되는 경우에 다음과 같은 동작을 수행한다. 단계(220)에서 새로운 패킷의 도착 시점의 서버 가상시간을 계산한다. 도착시점의 실시간을 tn이라 하고 가장 최근에 서버 가상시간이 갱신된 시점의 실시간을 tn-1이라 할때 패킷 도착 시점의 서버 가상시간 v(tn)는 하기 수학식 1과 같이 계산된다.
여기서 ρi는 흐름 i 의 정규화된 예약속도로 ri/r로 계산되며, r 은 서버의 전송속도, ri는 흐름 i 의 예약속도, 그리고 B(t1,t2)는 (t1,t2] 구간 동안 백로그된, 즉 큐에 패킷이 대기하고 있는 흐름의 집합을 의미한다. 수학식 1의 구현에는 가상시간 레지스터 Vtime, 입력속도 레지스터 Snrates 및 갱신시점 레지스터 Tupdate가 사용되는데, 레지스터 Vtime, Snrates 및 Tupdate의 값을 각각 V_Vtime, V_Snrates 및 V_Tupdate라 칭한다. 이들 레지스터 값은 서버에 대기하고 있는 패킷이 없는, 즉 서버 휴지구간 동안은 모두 0의 값을 갖는다. 서버 가상시간 v(tn)는 V_Vtime+(tn-V_Tupdate)/V_Snrates로 계산된다.
단계(230)에서는 도착한 패킷의 첫번째 비트가 출력링크로 전송될 시점의 가상시간을 의미하는 시작태그(Start-Tag)를 계산하고 이를 타임스탬프로 사용하는데, 먼저 시작태그의 계산방법을 설명한다. 도착한 패킷이 흐름 i의 k번째 패킷이라고 가정하면 이 패킷의 시작태그 Si k는 이 패킷의 도착시점 (tn이라 하자)의 서버 가상시간 v(tn)과 흐름 i의 (k-1)번째 패킷의 종료태그 Fi k -1에 의해 하기 수학식 2와 같이 계산된다.
수학식 2에서, 흐름 i의 (k-1)번째 패킷의 종료태그 Fi k -1는 그 패킷의 시작태그에 그 패킷의 정규화된 길이만큼 증가시킨 값으로 하기 수학식 3과 같이 계산된다.
수학식 3에서 li k -1는 흐름 i의 k-1번째 패킷의 길이를, li k -1/ri는 흐름 i의 k-1번째 패킷의 정규화된 길이를 의미한다.
수학식 2와 3을 구현하기 위해 각 흐름별로 가장 최근에 도착한 패킷의 종료태그값을 갖는 레지스터 행렬 F[V]를 정의하며 초기값은 모두 0으로 설정한다. 여기서 V는 흐름의 최대 수이다. 단계 (230)의 상세한 구현은 다음과 같다; 상기 단계 (220)에서 계산된 서버 가상시간과 도착한 패킷이 속하는 흐름 (흐름 i라 하자)의 종료태그 레지스터 F[i]값을 상호 비교하여 큰 값을 시작태그 값으로 설정하고 이를 타임스탬프로 하여 패킷에 부착 후 해당 흐름의 큐에 수록한다.
단계 (240)에서 가상시간 레지스터 Vtime을 상기 단계 (220)에서 계산된 서버 가상시간 값으로 갱신하고, 갱신시점 레지스터 Tupdate를 현재의 실시간 값으로 갱신하고, 그리고 흐름 i의 종료태그 레지스터 F[i]를 도착한 패킷의 정규화된 길이 값을 그 패킷의 시작태그에 더한 값으로 갱신한다.
그리고 단계 (250)에서 새로이 도착한 패킷이 속하는 흐름이 이미 백로그되어 있었는지를 조사한다. 만약 새로 백로그되는 경우이면 단계 (260)에서 입력속도 레지스터 Snrates의 값인 V_Snrates에 이 흐름(흐름 i로 가정)의 정규화된 예약속도를 더한 값, 즉 V_Snrates + ri/r의 값으로 레지스터 Snratres를 갱신한다.
도 3은 패킷출력 처리부(130)에서 수행되는 패킷 출발 과정에 대한 상세한 흐름도로서, 현재 전송하고 있는 패킷에 대한 서비스가 종료될 때 서버가상 시간이 재조정되고 다음 전송될 패킷을 선택하여 전송하는 과정에 대하여 설명된다.
현재 서비스 중인 패킷의 서비스가 종료되면(단계 310), 그 패킷이 속한 흐름이 계속 백로그 상태로 지속되는지 휴지상태로 변했는지를 확인한다(단계 320). 만약 휴지상태로 변할 경우 단계(330)에서 서버 가상시간을 갱신하고 관련 레지스터를 갱신하는데, 구체적으로 살펴보면 다음과 같다; 서버 가상시간의 계산은 상기 단계 (220)과 마찬가지로 계산되는데, 현재의 실시간을 tm이라 할때 V_Vtime+(tm- V_Tupdate)/V_Snrates로 계산된다. 이 값을 레지스터 Vtime에 수록하고, 현재의 실시간을 레지스터 Tupdate에 수록하고, 레지스터 Snrates의 값에 휴지상태로 변한 흐름 (흐름 i로 가정)의 정규화된 에약속도를 감한 값, 즉 V_Snrates - ri/r의 값을 레지스터 Snrates에 수록한다.
임의 패킷에 대한 서비스 종료 순간 다음에 전송할 패킷을 선택하여야 한다. 따라서, 패킷 출력 처리부(130)는 전송할 패킷을 선택하기 위하여 큐 블록(120)내에 대기 패킷이 존재하는 지를 검색한다(단계 340). 검색결과 대기 패킷이 존재하면, 단계(350)로 진행하여, 대기 패킷을 갖는 흐름의 큐의 선두 패킷 중 가장 적은 타임스탬프 값을 갖는 패킷을 선택하여 전송한다.
패킷입력 처리부(110)와 패킷입력 처리부(130)는 새로운 패킷의 도착 또는 현재 서비스 중인 패킷의 전송 완료 이벤트 발생 시마다 상호 독립적으로 동작하게 되며패킷출력 처리부(130)에서 갱신되는 레지스터 Vtime, Tupdate 및 Snrates의 값은 전체 서버의 글로벌 변수로서 입력 트래픽 처리부(110)에서 참조하게 된다.
실제 서비스 상황에서 본 발명의 SWFQ 의 레이턴시 특성을 WFQ와 비교 해본다. SWFQ와 WFQ의 레이턴시는 하기 수학식과 같다. 여기서 Li는 흐름 i의 최대 패킷길이이고, Lmax는 서버의 최대 패킷 길이이고, V는 흐름의 최대 수이다.
미디어별로 별도의 채널을 갖는 VoIP 서비스를 대상으로 WFQ와 SWFQ의 지연특성을 비교한다. 서버 및 트래픽 환경은 앞에서 기술한 사례와 동일하며, 구체적으로 다음과 같다; 전송링크는 45Mbps급 T3 1회선을 구비하며, 동시에 20 호의 VoIP 통화를 수용한다. 각 VoIP호는 2Mbps의 비디오 채널, 200Kbps의 오디오채널, 20Kbps의 문자채널의 3 채널을 가지는 것으로 한다. 전체적으로 총 60개의 트래픽 흐름이 발생하며, 총 예약속도는 44.4Mbps가 된다. 모든 흐름에 대해 패킷크기는 50바이트에서 150바이트, 즉 400비트에서 1200비트로 가변되는 것으로 가정한다. 먼저 WFQ와 SWFQ에 대해 흐름별로 레이턴시를 구해보면 하기 표 1과 같다. WFQ를 사용할 경우레이턴시가 60.3mS 로 가장 큰 문자 흐름에 동기를 맞추어야 한다. 반면에 SWFQ를 사용하면 각 흐름이 모두 1.6mS의 작은 값의 레이턴시를 가지므로 착신단말에서 미디어 동기화에 따른 추가적 지연이 없고, 또한 요구되는 동기화 버퍼의 요구량이 최소화 될 수 있다. 만약 발착신 단말사이의 트래픽 흐름이 N개 서버를 거칠 경우 N배로 레이턴시가 증가하므로 WFQ대비 SWFQ의 우수성은 한층 더 돋보일 것으로 예상된다.
표 1
방식 비디오흐름 오디오흐름 문자흐름
WFQ 0.63ms 6.03ms 60.03ms
SWFQ 1.6ms 1.6ms 1.6ms
이상에서 설명한 바와 같이, 본 발명에 있어서 가장 중요한 효과 중 하나로는 각 흐름의 레이턴시가 그 흐름의 예약속도에 종속되지 않도록 개선한 것으로 이는 패킷이 도착할때 그 패킷에 부착되는 타임스탬프의 계산에 있어 그 패킷의 예상 전송완료 시점을 의미하는 종료태그 대신에 그 패킷의 예상 전송시작 시점을 의미하는 시작태그를 사용함으로서 성취할 수 있다. 발신측에서 전송속도가 서로 상이한 다수의 미디어를 별도의 트래픽 흐름으로 전달하고, 착신측에서 별도의 흐름으로 입력되는 다수의 트래픽 흐름을 하나의 멀티미디어로 조합하여 재생할때 흐름간의 동기화가 필요한데, 이때 본 발명에서 얻을 수 있는 흐름의 속도에 무관한 레이턴시 특성에 의해 동기화시 전체 서비스의 지연특성을 개선하고, 동기화 버퍼의 크기를줄일 수 있는 효과를 기대할 수 있다.

Claims (3)

  1. 서비스 품질을 보장할 수 있는 ATM 망, MPLS망 및 인터넷 등에 적용되는 고속 패킷 노드의 공정 패킷 스케줄러에 있어서,
    상기 스케줄러로 새로운 패킷이 도착할 때마다 도착한 패킷의 첫번째 비트가 출력링크로 전송될 시점의 가상시간을 의미하는 시작태그를 계산하고 이를 타임스탬프로 설정하여 상기 도착 패킷의 헤더에 부착하고 해당 흐름의 큐에 수록하며, 관련 레지스터를 갱신하는 패킷입력 처리부;
    상기 입력 트래픽 처리부에서 처리된 패킷을 일시 저장하여 대기시키는 각 흐름별 큐로 구성되는 큐 블록;
    상기 큐 블록에 대기중인 패킷을 갖는 흐름의 큐의 선두 패킷중 가장 작은 타임스탬프값을 갖는 패킷을 선택하여 전송하는 패킷출력 처리부를 포함하며;
    상기 패킷출력 처리부는 상기 패킷에 대한 패킷 전송이 종료되고 새로운 패킷의 전송시작 시점 이전에 전송 완료된 패킷이 속하는 흐름이 휴지상태로 천이할 경우 서버 가상시간을 갱신하고, 관련 레지스터를 갱신하는 것을 특징으로 하는 공정 패킷 스케줄러.
  2. 제 1 항에 있어서,
    패킷이 새로 도착한 시점의 실시간 값에서 갱신시점 레지스터 값을 감한 후의 값을 입력속도 레지스터 값으로 나누어 가상시간 증가분을 구하고, 가상시간 레지스터 값에 상기 가상시간 증가분을 더한 값으로 서버 가상시간을 계산하는 수단;
    상기 패킷이 도착한 시점에 상기 갱신된 가상시간 레지스터 값과 상기 도착한 패킷이 속하는 흐름의 종료태그 레지스터 값을 상호 비교하여 큰 값을 시작태그로 계산하고 이를 타임스탬프로 설정하는 수단;
    상기 계산된 서버 가상시간 값으로 가상시간 레지스터를 갱신하고, 상기 패킷이 도착한 시점의 실시간 값을 갱신시점 레지스터에 수록하며, 상기 계산된 시작태그 값에 상기 도착한 패킷의 정규화된 길이를 더한 값으로 그 흐름의 종료태그 레지스터를 갱신하는 수단; 및
    상기 패킷이 도착한 시점에 상기 패킷이 속하는 트래픽 흐름이 새로 백로그되는 경우이면 입력속도 레지스터 값에 상기 흐름의 정규화된 예약속도를 더한 값으로 입력속도 레지스터를 갱신하는 수단을 갖는 패킷입력 처리부.
  3. 제 1 항에 있어서,
    전송중인 패킷의 전송이 종료되고 새로운 패킷의 전송시작 시점 이전에 전송 완료된 패킷이 속하는 흐름이 휴지상태로 천이할 경우,
    상기 전송중인 패킷의 전송이 종료될 시점의 실시간 값에서 갱신시점 레지스터 값을 감한 결과의 값을 입력속도 레지스터 값으로 나누어 가상시간 증가분을 구하고, 가상시간 레지스터 값에 상기 가상시간 증가분을 더한 값으로 서버 가상시간을 계산하는 수단; 및
    상기 계산된 서버 가상시간 값으로 가상시간 레지스터를 갱신하고, 상기 전송중인 패킷의 전송이 종료될 시점의 실시간 값으로 갱신시점 레지스터를 갱신하며, 입력속도 레지스터 값에 상기 휴지상태로 천이하는 흐름의 정규화된 예약속도를 감한 결과의 값으로 입력속도 레지스터를 갱신하는 수단을 갖는 패킷출력 처리부.
KR1020040063692A 2004-08-13 2004-08-13 고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법 KR20040076246A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040063692A KR20040076246A (ko) 2004-08-13 2004-08-13 고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040063692A KR20040076246A (ko) 2004-08-13 2004-08-13 고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법

Publications (1)

Publication Number Publication Date
KR20040076246A true KR20040076246A (ko) 2004-08-31

Family

ID=37362192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063692A KR20040076246A (ko) 2004-08-13 2004-08-13 고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법

Country Status (1)

Country Link
KR (1) KR20040076246A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8792415B2 (en) 2005-06-27 2014-07-29 Samsung Electronics Co., Ltd. Apparatus and method for scheduling of high-speed portable internet system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8792415B2 (en) 2005-06-27 2014-07-29 Samsung Electronics Co., Ltd. Apparatus and method for scheduling of high-speed portable internet system

Similar Documents

Publication Publication Date Title
US6396834B1 (en) Flexible scheduler in an asynchronous transfer mode (ATM) switch
JPH10313324A (ja) 通信ネットワークにおけるパケットの配送装置とその方法
JP2003218924A (ja) ネットワークノードの接続容量を増大させる方法、およびネットワークノードのための統合トラフィック成形システム、およびネットワークにおけるセルの処理方法および調整成形方法、およびネットワークノードにおいて用いられる統合トラフィック調整成形システム
JP2008503127A (ja) ネットワーク・デバイス及びトラフィックのシェーピング方法
JP3830937B2 (ja) 高速パケット網のためのパケットスケジューリングシステム及び方法
CN101212417B (zh) 一种基于时间粒度的互联网服务质量保证方法
JP4087279B2 (ja) 帯域制御方法およびその帯域制御装置
WO2022068617A1 (zh) 流量整形方法及装置
KR20040076246A (ko) 고속 패킷 통신망에서 멀티미디어 서비스를 위한 공정패킷스케줄링 방법
KR100369562B1 (ko) 고속 통합 서비스망에서 wfq의 에뮬레이션을 통한 공정패킷 스케쥴링 방법 및 그 공정 패킷 스케쥴러
Sun et al. Coordinated aggregate scheduling for improving end-to-end delay performance
KR20040076248A (ko) 고속 패킷 통신망에서 멀티미디어 서비스를 위한 고속공정 패킷 스케쥴링 방법
KR100745679B1 (ko) 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치
KR101681613B1 (ko) 분산 병렬 데이터 전송 시스템에서 자원들을 스케줄링하기 위한 장치 및 그 방법
Vila-Carbó et al. Analysis of switched Ethernet for real-time transmission
Nisar et al. An efficient voice priority queue (VPQ) scheduler architectures and algorithm for VoIP over WLAN networks
Wu Link-sharing method for ABR/UBR services in ATM networks
KR100527339B1 (ko) 이더넷 광 네트워크에서 큐오에스 보장 방법
Martinez-Morais et al. Providing QoS with the deficit table scheduler
KR100757194B1 (ko) 자원 이용도가 높고 구현 복잡성이 낮은 공정 패킷스케줄링 장치
Altintast et al. On a packet scheduling mechanism for supporting delay sensitive applications on high speed networks
Tu et al. Enhanced bulk scheduling for supporting delay sensitive streaming applications
Mirjalily et al. Performance Evaluation of Different QoS Models for Connecting Telephone Exchange Centers over Metro Ethernet Networks.
Al-Khasib Mini round robin: an enhanced frame-based scheduling algorithm for multimedia networks
Zou et al. A share-controlled packet fair queueing algorithm for IntServ EPON

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application