KR20070107394A - 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법 - Google Patents

오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법 Download PDF

Info

Publication number
KR20070107394A
KR20070107394A KR1020060039837A KR20060039837A KR20070107394A KR 20070107394 A KR20070107394 A KR 20070107394A KR 1020060039837 A KR1020060039837 A KR 1020060039837A KR 20060039837 A KR20060039837 A KR 20060039837A KR 20070107394 A KR20070107394 A KR 20070107394A
Authority
KR
South Korea
Prior art keywords
weight
packet
class
service
quality
Prior art date
Application number
KR1020060039837A
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 KR1020060039837A priority Critical patent/KR20070107394A/ko
Publication of KR20070107394A publication Critical patent/KR20070107394A/ko

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 스케줄러(Scheduler)에 관한 것으로, 패킷네트워크의 스케줄링 장치에 있어서, 가중치설정과정에 대한 제어와 패킷 송수신 과정에 대한 제어를 담당하는 제어부와, 상기 제어부의 지시에 의해 패킷의 서비스품질(Quality of Service)에 따른 가중치를 설정하고 상기 제어부로 제공하는 가중치설정부를 포함하는 것으로 패킷마다 도착시간이나 여유 타임슬롯 정보를 태깅하지 않으면서도, 패킷의 지연특성을 만족하여 서비스할 수 있으므로 시스템에 대한 오버헤드를 줄일 수 있고, 클래스마다 독립적으로 가중치를 적용할 수 있어 유연한 패킷 전송 서비스가 가능하다.
패킷 스케줄러(Packet Scheduler), 라운드 로빈(Round-Robin), 지연 허용치, 적응 가중치.

Description

오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및 방법{APPARATUS AND METHOD FOR ADAPTIVE WEIGHT ALLOCATED SCHEDULING WITH OFFSET COUNTER}
도 1은 본 발명의 실시 예에 따른 스케줄링의 개념을 도시한 도면,
도 2는 본 발명의 실시 예에 따른 가중치와 해당 클러스터의 관계를 도시한 도면,
도 3는 본 발명의 실시 예에 따른 패킷 서비스를 도시한 도면,
도 4는 본 발명의 실시 예에 따른 가중치 설정 장치의 기능블록을 도시한 도면, 및,
도 5는 본 발명의 실시 예에 따른 가중치 설정 과정을 도시한 흐름도.
본 발명은 스케줄러(Scheduler)에 관한 것으로, 특히 입력되는 패킷을 상기 패킷의 지연특성에 따라 클래스단위로 구분하고 허용되는 최대 지연 값 이내에서 전송하는 장치 및 방법에 관한 것이다. 본 발명의 장치 및 방법은 상기 패킷의 지 연 허용 한계를 초과하지 않도록 상기 클래스단위의 지연 특성과 패킷의 양을 기준으로 매 사이클마다 클래스의 가중치를 설정한다.
일반적으로 패킷 네트워크에서 실시간 전송이 요구되는 패킷들은 각각의 패킷의 지연(예를 들어 특정 큐(Queue)에 입력된 패킷들이 서비스받기 전까지 대기하는 시간)이 상기 패킷의 지연 허용범위보다 크지 않을 경우 원할히 전송될 수 있다.
왜냐하면 상기 실시간 전송이 요구되는 패킷들은 일반적으로 종단에서 사람이 듣거나 보는 서비스를 위해 사용된다. 따라서 상기 사람이 느끼지 못할 정도의 지연 내에서만 서비스가 이루어지면(패킷 송수신이 가능하면) 서비스 품질은 만족되고 무조건 빨리 전송된다고 해서 서비스 품질이 향상되는 것은 아니다. 물론, 지연 허용치를 넘어서 송수신 되는 패킷들은 서비스 품질을 만족하지 못할 수 있으므로 최대한 억제되어야 한다. 반면, 비실시간 전송 패킷의 경우에는 패킷을 가능한 빨리 전송해 줄수록 서비스 품질이 높아진다고 볼 수 있다.
상기의 실시간 전송이 요구되는 패킷들을 상기 지연시간 내에 전송해 주기 위한 종래의 기술들은 하기와 같다.
먼저, HOL-PJ(Head-Of-the Line with Priority Jumps)기술에 대해 설명하면, 수신 패킷(트래픽:Traffic)을 실시간 서비스의 우선순위에 따라 클래스별로 분류하며, 높은 우선 순위를 가진 클래스를 우선적으로 처리한다. 그리고 상기 클래스의 큐(Queue)에 입력되는 패킷마다 도착시각을 관리하여, 상기 패킷이 상기 클래스에 설정된 지연 허용시간을 초과할 경우, 상기 패킷을 상기 클래스보다 하나 높은 우 선순위의 클래스의 큐로 이동한다. 상기 방식은 우선순위가 높은 클래스의 QoS(Quality of Service)는 보장해 줄 수 있으나 우선순위가 낮은 클래스의 경우는 심각한 품질 저하가 있을 수 있다. 상기 클래스의 큐에 따라 상기 지연 허용시간을 설정 하지만 상기 패킷이 지연 허용시간이 넘었을 경우에 우선순위의 상기 클래스의 큐로 이동하므로, 상기 클래스의 큐 각각의 지연 허용 시간들이 독립적이지 않아 상기 패킷의 특성에 맞는 유연한 동작이 어려운 문제점이 있다.
다음으로, MLT(Minimum Laxity Threshold)기술에 대해 설명하면, 상기 기술은 입력되는 패킷을 실시간 클래스와 비실시간 클래스로 분류하고, 상기 패킷이 상기 스케줄러로부터 서비스를 제공받아야 하는 시점까지의 여유 타임슬롯(이완시간:laxity time)을 모든 패킷에 할당하여 관리하는 방식을 사용한다.
즉, 실시간 클래스의 패킷들의 최소 여유 타임슬롯이 정해진 임계치보다 작거나 같을 경우에 상기 실시간 클래스에 대해, 그렇지 않은 경우에는 상기 비 실시간 클래스에 대해 서비스한다. 이렇게 함으로써, 상기 기술은 상기 실시간 클래스 패킷들의 지연 요구사항을 보장할 수 있고 지연변이(delay variance)도 상대적으로 작게 할 수 있는 장점이 있다.
하지만, 패킷마다 도착 시각이나 여유 타임슬롯을 태깅(tagging)하는 방식은 추가적인 시스템 메모리를 요구하고 패킷처리에 대한 오버헤드를 증가시키는 문제점이 있다. 상기와 같은 문제점은 네트워크의 부하가 증가하는 혼잡(Congestion)상황에서 더욱 심각해질 수 있다.
따라서, 본 발명의 목적은 패킷마다 도착시각이나 여유 타임슬롯 정보를 태깅하지 않고서도 패킷의 지연특성을 만족하여 서비스할 수 있는 스케줄링 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 클래스의 큐마다 지연 허용 시간을 독립적으로 설정할 수 있는 스케줄링 장치 및 방법을 제공함에 있다.
상기 문제점을 해결하기 위한 본 발명의 제 1 견지에 따르면, 패킷네트워크의 스케줄링 장치에 있어서, 가중치설정과정에 대한 제어와 패킷 송수신 과정에 대한 제어를 담당하는 제어부와, 상기 제어부의 지시에 의해 패킷의 서비스품질(Quality of Service)에 따른 가중치를 설정하고 상기 제어부로 제공하는 가중치설정부를 포함하는 것을 특징으로 한다..
상기 문제점을 해결하기 위한 본 발명의 제 2 견지에 따르면, 패킷네트워크의 스케줄링 방법에 있어서, 패킷을 수신하는 과정과, 상기 패킷의 서비스품질에 따라 다수의 클래스로 분류하는 과정과, 상기 패킷 분류 후, 상기 다수의 클래스마다 가중치를 설정하는 과정과, 상기 가중치 설정 후, 상기 다수의 클래스의 오프셋카운터를 갱신하는 과정과, 상기 갱신한 오프셋카운터 값을 기반으로 상기 패킷을 송신하는 과정을 포함하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명 한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하, 본 발명은 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및 방법에 대해 설명할 것이다.
본 발명의 스케줄링 방식은 타임슬롯(Time Slot)을 기반으로 한다. 상기 타임슬롯은 N S 바이트의 길이를 가지는 패킷을 처리하는데 걸리는 시간을 나타낸다. 1 사이클(cycle)은 P C 개의 슬롯(slot)들로 구성된다.
도 1은 본 발명의 실시 예에 따른 스케줄링의 개념을 도시한 것이다.
상기 도 1에서 본 발명의 스케줄러는 N-1개의 실시간(RT:Real-Time, 또는 Preferred)클래스들(130, 132, 134)과 1 개의 비 실시간(NRT:Non Real Time, 또는 Best Effort)클래스(136)가 있다. 상기 모든 클래스들(130, 132, 134, 136)은 큐(Queue)를 포함한다.
상기 각각의 실시간 클래스들(130, 132, 134)의 큐는 지연허용치(Delay Tolerance)를 가진다. 상기 지연허용치는 상기 각각의 실시간 클래스의 큐에 입력된 패킷이 상기 패킷의 QoS 요구사항에 위배되지 않고 상기 큐에서 대기할 수 있는 최대의 지연시간을 슬롯 단위로 나타낸 것이다.
또한, 상기 실시간 클래스들(130, 132, 134)은
Figure 112006031304270-PAT00001
개의 카운 터 변수들(예를 들면,클래스 1의 경우
Figure 112006031304270-PAT00002
)을 가진다. 여기서 k i 는 실시간 클래스 i 에 입력된 패킷이 상기 클래스 i 의 지연 허용 범위 내에서 서비스를 받기 위해 가질 수 있는 여유 사이클의 수이다.
다시 설명하면, 상기 클래스 i 에 입력된 상기 패킷들은 상기 패킷들의 QoS를 준수하기 위해 상기 큐에 입력된 이후 상기 k i 사이클 이내에 서비스를 받아야 하며, 상기 k i 사이클 내에 서비스를 받지 못한 상기 패킷들은 지연 허용 범위를 초과하기 때문에 QoS는 준수되지 못한다. 따라서, 상기 지연 허용 범위를 초과한 패킷들은 패킷 서비스 품질을 낮추는 원인이 될 수 있다.
상기
Figure 112006031304270-PAT00003
값은 주어긴 값보다 작거나 같은 최대 정수값을 나타내는 플로어(floor)함수를 사용하여 그 결과값을 유도한다. s j i 는 상기 클래스 i 에서, 연속한 j 개의 사이클 내에 서비스를 제공받아야 하는 패킷의 총 길이(length)를 나타낸다.
그리고 c j i (클러스터)는 상기 s j i 에 포함된 패킷들의 묶음을 나타낸다. 즉, 상기 c j i 는 클래스 i 에서 연속한 상기 j 개의 사이클 이내에 서비스를 받아야 하는 패킷들의 묶음을 나타낸다. 상기 클래스 i 의 카운터 변수들은 s j -1 i = s j i - [이전 사이클에서 서비스를 받거나 폐기된 패킷의 수]의 관계를 가지며 이때 j = 2, 3, …,k i 이다. 각 클래스의 카운터 변수값들 과 가중치는 1 사이클에 1 번씩 조정된다.
상기 각 클래스의 가중치 값은 매 사이클의 시작 시점(정확하게는 사이클이 시작되기 직전에)에서 계산되며, 상기 s j i 와 같은 변수값들은 매 사이클마다 가중치 값이 결정되기 바로 직전에 갱신되어 해당 사이클에서 서비스될 가중치 값에 반영된다. 상기 가중치와 클래스의 관계는 하기 도 2에서 설명될 것이다.
도 2는 본 발명의 실시 예에 따른 가중치와 해당 클러스터의 관계를 도시한 것이다.
상기 도 2를 참조하면, 상기 도 1의 실시간 클래스 i (200)의 경우, 가중치 값은 매 사이클이 시작되기 바로 직전에 결정된다. w i 의 값들(210, 212, 214)는 상기 실시간 클래스의 클러스터에 포함된 패킷들이 정해진 QoS 이내에 서비스를 받기 위해 설정되는 가중치 값들을 나타낸다.
상기 도 2에서 해당 클래스의 가중치는 상기 클래스 내의 모든 클러스터가 QoS를 만족할 수 있도록 하기 위해 상기 클러스터마다 계산된 가중치들 중에서 가장 큰 값이 선택된다.
상기 도 2에서 i = 1, 2, … , N-1 이고 t i 는 각각의 실시간 클래스의 타이머 값으로 범위는 0< t i < P C 이다. 상기 타이머 값은 한 사이클에서 각 클래스에 입력된 패킷들이 다음 사이클의 가중치 결정에 반영되기 전에 이미 지연된 시간을 나타낸다.
상기 타이머는 입력된 패킷이 상기 실시간 클래스의 큐에 대기할 수 있는 지연 허용치를 보정해 주기 위한 것으로, 상기 각 실시간 클래스마다 하나씩 존재하며 해당 큐에 패킷이 도착할 때마다 '0’으로 초기화된다.
따라서, 상기 타이머는 상기 큐에 가장 최근에 입력된 패킷이 도착한 시점에서부터 현재까지 경과된 시간을 나타내고 상기 타이머는 상기 각 클래스마다 가중치 값들이 결정되는 시점에는 매 사이클에서 마지막으로 입력된 셀의 도착 시점과 다음 사이클의 시작 시점 간의 시간차를 갖게 된다.
상기 시간차는 상기 각 실시간 클래스의 가중치를 결정할 때 지연허용치에서 차감된다. 따라서 상기 실시간 클래스 큐의 가중치에 반영되어 상기 큐에 입력된 패킷들이 상기 실시간 클래스의 상기 지연 허용치 내에 서비스를 받을 수 있게 한다.
상기 도 2의 u j i 는 해당 클러스터의 서비스 긴급도(urgency factor)를 나타내는 값으로 하기 <수학식 1>과 같이 정의된다.
Figure 112006031304270-PAT00004
여기서, P c 는 한 사이클동안의 타임슬롯을 나타내고, T i 는 클래스 i 의 지 인허용치이고 t i 는 클래스 i 의 타이머이고, k i 는 클래스 i 에서 카운터 변수들의 갯수이고 j 는 사이클의 수를 나타낸다.
상기 u j i 의 역수는 해당 클러스터 내의 패킷들을 서비스해야 할 여유 사이클 수를 나타내고 범위는
Figure 112006031304270-PAT00005
이다.
즉, 상기 클러스터에 대한 가중치는, 해당 클러스터에 있는 패킷 수를 그 클러스터 내의 모든 패킷들을 서비스해야 할 여유 사이클 수로 나눈 값이다.
상기 가중치는 QoS를 만족하면서 정수값을 가져야 하므로 계산된 값보다 같거나 큰 최소 정수를 택하기 위해 실링(ceiling) 함수를 사용한다.
상기 실시간 클래스들의 가중치 값들이 결정되면, 한 사이클 주기에서 이들 실시간 클래스들을 서비스하고 남는 여분의 서비스 시간은 비 실시간 클래스의 서비스를 위해 사용된다. 상기 비 실시간 클래스의 가중치 값은 하기 <수학식 2>와 같다.
Figure 112006031304270-PAT00006
여기서, P c 는 한 사이클동안의 타임슬롯을 나타낸다. 그리고 w N 은 비 실시간 클래스에서의 가중치를 나타낸다.
만약, 상기 실시간 클래스들의 가중치 총합이 한 사이클 내의 슬롯 수를 초 과하는 경우에는 상기 각 실시간 클래스들의 가중치를 하기 <수학식 3>과 같이 다시 설정한다. 이 경우, 상기 실시간 클래스들은 각 가중치의 상대적인 크기에 해당하는 만큼의 가중치를 다시 할당받게 되고, 상기 비 실시간 클래스는 해당 사이클에서 서비스되지 않는다.
Figure 112006031304270-PAT00007
여기서
Figure 112006031304270-PAT00008
이다. 그리고, P c 는 한 사이클 동안의 타임슬롯을 나타낸다. 그리고 w i는 실시간 클래스 i에서의 가중치를 나타낸다.
만약, 상기 비 실시간 클래스 패킷의 총 길이(s N i )가 가중치를 적용한 상기 비실시간 클래스의 패킷의 총길이(
Figure 112006031304270-PAT00009
)보다 작은 경우는 상기 비 실시간 클래스에 필요 이상의 가중치가 할당된 경우이므로, 상기 비 실시간 클래스(N)의 상기 필요 이상의 가중치를 라운드 로빈 방식의 가중치 재분배 절차를 통해 상기 실시간 클래스(1, 2, ... , N-1)가 나누어 가진다.
상기의 가중치 분배, 재분배를 이용한 실제 패킷 서비스는 하기 도 3에서 설명될 것이다.
도 3는 본 발명의 실시 예에 따른 패킷 서비스를 도시한 것이다.
상기 도 3을 참조하면, 각 사이클마다 가중치가 결정되면, 해당 클래스의 처리해야할 패킷의 위치를 가리키는 오프셋 카운터(O i ) )는 하기 <수학식 4>를 이용해 갱신되어 상기 가중치만큼의 서비스 수행량이 더해진다.
Figure 112006031304270-PAT00010
여기서 O i 는 오프셋 카운터를 나타낸다. Ns는 한 슬롯에 처리되는 패킷의 길이를 나타내고, w i 는 실시간 클래스 i에서의 가중치를 나타낸다.
상기 <수학식 4 >에 따라 모든 큐의 오프셋 카운터가 갱신되면 스케줄러는 각각의 큐에서 제일 먼저 입력된 패킷(head-of-line packet)부터 순차적으로 서비스한다. 패킷 p 1 i 이 상기 스케줄러에 의해 서비스된 후, 하기 <수학식 5>와 같이 p 1 i 길이인 l 1 i 상기 O 1 i 에서 차감된다.
Figure 112006031304270-PAT00011
여기서 O 1 i 클래스 i 의 오프셋 카운터를 나타내고 l 1 i 패킷 p 1 i 의 길이를 나타낸다.
상기와 같은 방식으로 상기 각 사이클에서의 서비스는 상기 서비스 수행량이 모두 서비스될 때까지 계속된다. 상기 패킷에 대한 서비스를 제공하는 주체인 스케줄러의 세부적인 기능블록은 하기 도 4와 같다.
도 4는 본 발명의 실시 예에 따른 가중치 설정 장치의 기능블록을 도시한 것이다.
상기 도 4를 참조하면, 제어부(410)는 스케줄러의 일반적인 동작에 대한 제어를 담당한다. 즉, 수신부(430)의 패킷 수신에 대한 제어, 송신부(440)의 패킷 송신에 대한 제어를 담당하고, 본 발명의 특성에 따라 가중치설정부(420)가 제공한 각각의 클래스의 가중치를 적용한 오프셋가운터를 기반으로 패킷전송을 결정하고 제어하는 역할을 담당한다.
상기 가중치설정부(420)는 상기 각각의 클래스의 가중치를 설정하는 역할을 담당한다. 그리고 상기 가중치 설정 후 오프셋 카운터를 갱신한다. 수신부(430)는 패킷수신을 담당하고 큐를 포함하고 있어 수신한 패킷을 임시로 저장하고, 상기 제어부(410)의 제어에 의해 상기 송신부(440)로 상기 패킷을 제공한다. 상기 송신부(440)는 상기 입력부(430)로부터의 상기 패킷을 제공받아 상기 제어부(440)의 제어에 의해 전송한다.
상기 스케줄러에서 상기 가중치 설정과정을 포함한 전체적인 동작흐름은 하기 도 5와 같다.
도 5는 본 발명의 실시 예에 따른 가중치 설정 과정을 도시한 흐름도이다.
상기 도 5를 참조하면, 스케줄러는 505단계에서 최초로 스케줄러가 동작하기 위해서 주요 변수들을 초기화한다. 이후, 510단계에서 상기 스케줄러는 사이클을 시작하고, 515단계에서 s 1 i 를 갱신한다.
이후, 520단계에서 실시간 클래스인 클래스 1, 2, ... , N-1에 대한 가중치를 계산하고 525단계에서 상기 실시간 클래스의 가중치 총합이 P c 보다 큰 경우, 535단계로 진행하여 상기 실시간 클래스의 가중치를 재 계산하고 비 실시간 클래스의 가중치(W N )를 0으로 설정하고 545단계로 진행하여 클래스에 따른 오프셋카운터의 값을 설정한다.
이후, 570단계로 진행하여 상기 스케줄러는 패킷 전송을 시작하고, 상기 패킷 전송이 시작된 후부터 상기 전송된, 즉 서비스된 패킷의 길이만큼 오프셋 카운터의 값을 갱신한다.
만약, 상기 525단계에서 상기 실시간 클래스의 가중치 총합이 P c 보다 작은 경우, 530단계로 진행하여 비 실시간 클래스에 대한 가중치(W N )를 계산한 후, 540단계로 진행하여 클래스에 따른 오프셋카운터의 값을 설정한다.
이후, 550단계로 진행하여 비실시간 클래스 패킷의 총 길이(SN i )가
Figure 112006031304270-PAT00012
보다 작은 경우, 560단계로 진행하여 상기 비 실시간 클래스(N)의 필요 이상 가중치를 상기 실시간 클래스 (1, 2, ... , N-1)가 라운드 로빈 방식으로 나누어 재분 배한다. 상기 재분배 과정 후, 오프셋 카운터의 값은 다시 설정된다.
이후, 상기 570단계의 과정을 수행한다. 상기 스케줄러에 의한 패킷 전송은 사이클이 끝날 때까지 계속된다.
이후, 본 발명에 따른 알고리즘을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 패킷마다 도착시간이나 여유 타임슬롯 정보를 태깅하지 않으면서도, 패킷의 지연특성을 만족하여 서비스할 수 있으므로 시스템에 대한 오버헤드를 줄일 수 있고, 클래스마다 독립적으로 가중치를 적용할 수 있어 유연한 패킷 전송 서비스가 가능하다.

Claims (18)

  1. 패킷네트워크의 스케줄링 장치에 있어서,
    가중치설정과정에 대한 제어와 패킷 송수신 과정에 대한 제어를 담당하는 제어부와,
    상기 제어부의 지시에 의해 패킷의 서비스품질(Quality of Service)에 따른 가중치를 설정하고 상기 제어부로 제공하는 가중치설정부를 포함하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서,
    상기 장치는 상기 제어부의 지시에 의해 송신부로 패킷을 제공하는 수신부를 더 포함하는 것을 특징으로 하는 장치.
  3. 제 1항에 있어서,
    상기 장치는 상기 제어부의 지시에 의해 패킷을 외부네트워크로 송신하는 송신부를 더 포함하는 것을 특징으로 하는 장치.
  4. 제 1항에 있어서,
    상기 제어부는 실시간처리가 필요한 서비스품질을 가진 클래스에 대한 가중치가 상기 장치가 일정시간내에 처리할 수 있는 패킷의 길이를 초과한 경우, 상기 가중치의 재설정을 상기 가중치 설정부로 지시하는 것을 특징으로 하는 장치.
  5. 제 4항에 있어서,
    상기 가중치 재설정부는 상기 가중치 재설정을 하기 <수학식 6>을 이용한 알고리즘을 통해 수행한 후, 상기 알고리즘의 결과값을 바탕으로 오프셋카운터를 갱신하는 것을 특징으로 하는 장치.
    Figure 112006031304270-PAT00013
    여기서
    Figure 112006031304270-PAT00014
    이다. 그리고, P c 는 한 사이클 동안의 타임슬롯을 나타낸다. 그리고 w i는 실시간 클래스 i에서의 가중치를 나타낸다.
  6. 제 1항에 있어서,
    상기 제어부는 실시간처리가 필요한 서비스품질을 가진 클래스에 대한 가중 치가 상기 장치가 일정시간 내에 처리할 수 있는 패킷의 길이를 초과한 경우, 상기 일정시간내에는 비 실시간 처리가 필요한 서비스품질을 가진 클래스의 패킷은 처리하지 않는 것을 특징으로 하는 장치.
  7. 제 1항에 있어서,
    상기 제어부는 비 실시간처리가 필요한 서비스품질을 가진 클래스의 패킷의 총 길이가 상기 비 실시간처리가 필요한 서비스품질을 가진 클래스의 가중치보다 작은 경우, 상기 비 실시간처리가 필요한 서비스품질을 가진 클래스 패킷의 총길이와 가중치 차이만큼을 상기 실시간처리가 필요한 서비스품질을 가진 클래스에 나누어 분배하도록 상기 가중치 분배를 지시하는 것을 특징으로 하는 장치.
  8. 제 2항에 있어서,
    상기 가중치설정부는 상기 입력부를 통해 입력된 패킷을, 상기 패킷의 서비스품질에 따라 다수의 클래스로 구분하고 상기 다수의 클래스마다 독립적으로 가중치를 설정하는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서,
    상기 가중치설정부는 상기 가중치설정을 하기 <수학식 7> 및 <수학식 8>을 이용한 알고리즘을 통해 설정한 후, 상기 알고리즘의 결과값을 바탕으로 오프셋카운터를 갱신하는 것을 특징으로 하는 장치.
    Figure 112006031304270-PAT00015
    여기서, u j i 는 상기 클래스 i 에 속하는 클러스터의 서비스 긴급도(urgency factor)를 나타내고 상기 u j i 는 하기 <수학식 8>과 같이 정의된다. 그리고
    Figure 112006031304270-PAT00016
    는 상기 클래스 i에 속하는 패킷의 총 길이를, N s 는 일정시간에 처리되는 패킷의 길이를 나타낸다.
    Figure 112006031304270-PAT00017
    P c 는 일정시간 동안의 타임슬롯을 나타내고, T i 는 클래스 i 의 지연허용치이고 t i 는 클래스 i 의 타이머이고, k i 는 클래스 i 에서 카운터 변수들의 갯수이고 j 는 사이클의 수를 나타낸다.
  10. 제 1항에 있어서,
    상기 제어부는 외부네트워크로 패킷송신을 지시할 경우, 상기 가중치설정부가 제공한 오프셋 카운터의 값을 이용하여 송신을 지시하는 것을 특징으로 하는 장치.
  11. 제 1항에 있어서,
    상기 가중치설정부는 패킷 송신 후, 상기 패킷송신량만큼 감산하여 상기 오프셋카운터를 갱신하는 것을 특징으로 하는 장치.
  12. 패킷네트워크의 스케줄링 방법에 있어서,
    패킷을 수신하는 과정과,
    상기 패킷의 서비스품질에 따라 다수의 클래스로 분류하는 과정과,
    상기 패킷 분류 후, 상기 다수의 클래스마다 가중치를 설정하는 과정과,
    상기 가중치 설정 후, 상기 다수의 클래스의 오프셋카운터를 갱신하는 과정과,
    상기 갱신한 오프셋카운터 값을 기반으로 상기 패킷을 송신하는 과정을 포함하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서,
    상기 다수의 클래스마다 가중치를 설정하는 과정은,
    실시간처리가 필요한 서비스품질을 가진 클래스에 대한 가중치가 상기 장치가 일정시간내에 처리할 수 있는 패킷의 길이를 초과한 경우, 상기 가중치의 재설정을 수행하는 과정을 포함하는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서,
    상기 가중치 재설정과정은,
    하기 <수학식 9>을 이용한 알고리즘을 통해 수행한 후, 상기 알고리즘의 결과값을 바탕으로 오프셋카운터를 갱신하는 것을 특징으로 하는 방법.
    Figure 112006031304270-PAT00018
    여기서
    Figure 112006031304270-PAT00019
    이다. 그리고, P c 는 한 사이클 동안의 타임슬롯을 나타낸다. 그리고 w i는 실시간 클래스 i에서의 가중치를 나타낸다.
  15. 제 12항에 있어서,
    상기 다수의 클래스마다 가중치를 설정하는 과정은,
    실시간처리가 필요한 서비스품질을 가진 클래스에 대한 가중치가 상기 장치가 일정시간 내에 처리할 수 있는 패킷의 길이를 초과한 경우, 상기 일정시간 내에는 비 실시간 처리가 필요한 서비스품질을 가진 클래스의 패킷은 처리하지 않는 것을 특징으로 하는 방법.
  16. 제 12항에 있어서,
    상기 다수의 클래스마다 가중치를 설정하는 과정은,
    비 실시간처리가 필요한 서비스품질을 가진 클래스의 패킷의 총 길이가 상기 비 실시간처리가 필요한 서비스품질을 가진 클래스의 가중치보다 작은 경우, 상기 비 실시간처리가 필요한 서비스품질을 가진 클래스 패킷의 총길이와 가중치 차이만큼을 실시간처리가 필요한 서비스품질을 가진 클래스에 나누어 분배하도록 상기 가중치 분배를 수행하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  17. 제 12항에 있어서,
    상기 다수의 클래스마다 가중치를 설정하는 과정은,
    하기 <수학식 10> 및 <수학식 11>을 이용한 알고리즘을 통해 상기 가중치를 설정한 후, 상기 알고리즘의 결과값을 바탕으로 오프셋카운터를 갱신하는 것을 특징으로 하는 방법.
    Figure 112006031304270-PAT00020
    여기서, u j i 는 상기 클래스 i 에 속하는 클러스터의 서비스 긴급도(urgency factor)를 나타내고 상기 u j i 는 하기 <수학식 11>과 같이 정의된다. 그리고
    Figure 112006031304270-PAT00021
    는 상기 클래스 i에 속하는 패킷의 총 길이를, N s 는 일정시간에 처리되는 패킷의 길이를 나타낸다.
    Figure 112006031304270-PAT00022
    P c 는 일정시간 동안의 타임슬롯을 나타내고, T i 는 클래스 i 의 지연허용치이고 t i 는 클래스 i 의 타이머이고, k i 는 클래스 i 에서 카운터 변수들의 갯수이고 j 는 사이클의 수를 나타낸다.
  18. 제 12항에 있어서,
    상기 갱신한 오프셋카운터 값을 기반으로 상기 패킷을 송신하는 과정은,
    상기 패킷송신 후, 상기 패킷전송량만큼 감산하여 상기 오프셋카운터를 갱신하는 과정을 더 포함하는 것을 특징으로 하는 방법.
KR1020060039837A 2006-05-03 2006-05-03 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법 KR20070107394A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060039837A KR20070107394A (ko) 2006-05-03 2006-05-03 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060039837A KR20070107394A (ko) 2006-05-03 2006-05-03 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법

Publications (1)

Publication Number Publication Date
KR20070107394A true KR20070107394A (ko) 2007-11-07

Family

ID=39062747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060039837A KR20070107394A (ko) 2006-05-03 2006-05-03 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법

Country Status (1)

Country Link
KR (1) KR20070107394A (ko)

Similar Documents

Publication Publication Date Title
EP1523134B1 (en) Coordinated data flow control and buffer sharing in UMTS
US5905730A (en) High speed packet scheduling method and apparatus
US6839358B2 (en) Relaying apparatus
US7385997B2 (en) Priority based bandwidth allocation within real-time and non-real-time traffic streams
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
CN111211830B (zh) 一种基于马尔可夫预测的卫星上行链路带宽资源分配方法
US8289972B2 (en) Gigabit passive optical network strict priority weighted round robin scheduling mechanism
US7415477B2 (en) Method and apparatus for allocating link bandwidth
US8000247B2 (en) Bandwidth management apparatus
US9042224B2 (en) Method and system for weighted fair queuing
CN100463442C (zh) 用于带宽控制可变长帧的修整装置、通信节点装置及信息流控制方法
US6950396B2 (en) Traffic control method and system
JPH10313324A (ja) 通信ネットワークにおけるパケットの配送装置とその方法
CN107483363B (zh) 一种分层的加权轮询调度装置及方法
US20010024452A1 (en) Data rate limiting
CN104079501A (zh) 一种基于多优先级的队列调度方法
WO2002067514A1 (en) Dynamic bandwidth allocation
JP2003224599A (ja) リアルタイムトラヒックに対する保証された帯域幅配達を備える遅延最小化システム
US20050078655A1 (en) Hierarchical credit queuing for traffic shaping
US7843825B2 (en) Method and system for packet rate shaping
CN101414958A (zh) 一种业务调度方法及装置
CN107204930B (zh) 令牌添加方法及装置
US8467401B1 (en) Scheduling variable length packets
KR20070107394A (ko) 오프셋 카운터를 가진 적응가중치 설정 스케줄링 장치 및방법
US7450510B1 (en) System and method for distributing guaranteed bandwidth among service groups in a network node

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination