KR102123476B1 - 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러 - Google Patents

확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러 Download PDF

Info

Publication number
KR102123476B1
KR102123476B1 KR1020190075564A KR20190075564A KR102123476B1 KR 102123476 B1 KR102123476 B1 KR 102123476B1 KR 1020190075564 A KR1020190075564 A KR 1020190075564A KR 20190075564 A KR20190075564 A KR 20190075564A KR 102123476 B1 KR102123476 B1 KR 102123476B1
Authority
KR
South Korea
Prior art keywords
scheduler
packet
queues
backlog
service
Prior art date
Application number
KR1020190075564A
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 KR1020190075564A priority Critical patent/KR102123476B1/ko
Application granted granted Critical
Publication of KR102123476B1 publication Critical patent/KR102123476B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 레귤레이션 기능을 수행하는 스케줄러는, 중계노드의 출력 포트에 구비되어 있으며 레귤레이션 기능을 수행하는 비작업보존형(non-work-conserving) 스케줄러에 있어서, 기 설정된 기준 대비 높은 우선순위(high priority)를 가지는 제1 트래픽이 기 설정된 조건에 따라 구분된 복수의 큐에 저장되고, 상기 기준 대비 낮은 우선순위(low priority)를 갖는 제2 트래픽이 별도의 큐에 저장되며, 모든 큐에 대해서 스케줄링을 수행하되, 상기 스케줄러에 하나 이상의 실제 패킷이 존재하는 스케줄러 백로그 기간 동안 상기 모든 큐가 비어있지 않도록 가상패킷을 생성하여 스케줄링하며, 서비스 받는 상기 가상패킷은 상기 출력포트로 출력되지 않도록 하여 비작업보존 특성을 가지며, 상기 스케줄러 백로그 기간 마다 기 설정된 알고리즘에 따라 실제 패킷을 가상패킷에 비해 우선적으로 서비스하도록 큐들의 서비스 순서를 결정하는 것을 특징으로 한다.

Description

확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러 {Regulating Scheduler with improved probabilistic performance}
본 출원은 레귤레이션 기능을 동시에 수행하는 스케줄러에 관한 것이다.
스마트 팩토리, 차량 간 통신, 차량 내 통신, 전문 음향 네트워크, 대규모 전력 제어망 등 다양한 응용분야에서 단대단 네트워크 지연시간(End-to-end network delay)에 대하여 수 msec에서 수초까지의 엄격한 제한(bound)을 요구하고 있다. 이에 따라 기존 Integrated Services (IntServ) 프레임워크에서의 플로우 기반 스케줄러를 바탕으로 하는 해법들이 다시 제안되고 있다. 하지만 많은 수의 플로우를 구분하여 스케줄 하는 것은 복잡도가 커서 구현하기 어렵다. 차선책인 Class기반 스케줄러로 구성된 네트워크에서는 노드를 지나면서 버스트(burst)가 계속 증가하며, 사이클(cycle)이 존재하는 네트워크 구조(topology)에서는 버스트가 무한대로 커지기 때문에 지연시간을 제한할 수 없다. 이에 따라 트래픽 레귤레이터(regulator)와 class기반 스케줄러를 앞뒤로 배치하여 버스트의 크기를 제한하면서 동시에 스케줄러의 복잡도를 낮추어 단대단 지연시간을 일정 수준 이하로 보장하는 기술들이 등장하고 있다. 더 나아가 스케줄러와 레귤레이터 기능을 동시에 수행하는 레귤레이팅 스케줄러도 제안되었다. 하지만 레귤레이터 기능을 포함하는 비작업보존형 스케줄러는 필연적으로 작업보존형 스케줄러에 비해 평균 지연시간 등의 확률적 성능이 떨어진다.
당해 기술분야에서는 보다 간단한 구성으로 대규모 네트워크에서도 최대 지연시간을 일정 수준 이하로 보장하면서도 확률적인 성능 특성을 향상시키기 위한 방안이 요구되고 있다.
상기 과제를 해결하기 위해서, 본 발명의 일 실시예는 레귤레이션 기능을 수행하는 스케줄러를 제공한다.
상기 레귤레이션 기능을 수행하는 스케줄러는, 중계노드의 출력 포트에 구비되어 있으며 레귤레이션 기능을 수행하는 비작업보존형(non-work-conserving) 스케줄러에 있어서, 기 설정된 기준 대비 높은 우선순위(high priority)를 가지는 제1 트래픽이 기 설정된 조건에 따라 구분된 복수의 큐에 저장되고, 상기 기준 대비 낮은 우선순위(low priority)를 갖는 제2 트래픽이 별도의 큐에 저장되며, 모든 큐에 대해서 스케줄링을 수행하되, 상기 스케줄러에 하나 이상의 실제 패킷이 존재하는 스케줄러 백로그 기간 동안 상기 모든 큐가 비어있지 않도록 가상패킷을 생성하여 스케줄링하며, 서비스 받는 상기 가상패킷은 상기 출력포트로 출력되지 않도록 하여 비작업보존 특성을 가지며, 상기 스케줄러 백로그 기간 마다 기 설정된 알고리즘에 따라 실제 패킷을 가상패킷에 비해 우선적으로 서비스하도록 큐들의 서비스 순서를 결정하는 것을 특징으로 한다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따르면, 레귤레이션 기능을 스케줄러에서 동시에 실현하고 이를 인입포트 기반으로 구현함으로써 보다 간단한 구성으로 대규모 네트워크에서도 최대 지연시간을 수 ms 이내로 보장할 수 있다.
더 나아가, 큐의 서비스 순서를 백로그 기간마다 임의로 재배열하여 실제 패킷을 가상 패킷보다 가능한 한 먼저 서비스하도록 함으로써 확률적인 성능 특성을 개선할 수 있다.
도 1은 본 발명의 일 실시예에 따라 레귤레이션 기능을 동시에 수행하는 스케줄러가 포함된 노드의 구조와 노드 내에서의 통합 플로우들을 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 스케줄러의 구조를 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따라 DRR 알고리즘이 적용되는 경우의 스케줄러가 포함된 노드의 구조 및 통합 플로우들을 도시하는 도면이다.
도 4는 트래픽의 인입 속도에 따른 종래 기술과 본 발명의 실시예에 따른 스케줄러의 평균 지연시간 변화를 도시하는 도면이다.
도 5는 트래픽의 인입 속도에 따른 종래 기술과 본 발명의 실시예에 따른 스케줄러의 평균 큐 길이 변화를 도시하는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따라 레귤레이션 기능을 동시에 수행하는 스케줄러가 포함된 노드의 구조와 노드 내에서의 통합 플로우들을 도시하는 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 레귤레이션 기능을 수행하는 스케줄러(100)는 중계노드(10)의 출력포트(12)에 구비되어 트래픽을 저장하는 큐에 가상 패킷을 생성하여 스케줄링함으로써, 상기 큐가 실제 인입된 트래픽 이상의 서비스를 꾸준히 받도록 한다. 이로써, 임의의 큐가 일시에 서비스를 받아서 버스트가 증가하는 것을 방지할 수 있다. 이는 곧 레귤레이션 기능에 해당하며 별도의 레귤레이터의 구현이 필요 없도록 한다. 또한, 서비스 받는 가상 패킷은 출력포트로 출력되지 않도록 하여 스케줄러(100)는 비작업보존(non-working-conserving) 특성을 가진다.
또한, 스케줄러(100)는 중계노드(10)의 출력 포트(output port)(12)내에 위치하여 기 설정된 조건에 따라 구분되어 저장된 큐들에 대해 레귤레이션과 스케줄링을 수행할 수 있다. 이로써 구현의 복잡도를 크게 낮출 수 있다.
구체적으로, 스케줄러(100)에서 전체 트래픽은 우선순위(priority)에 따라 기 설정된 기준 대비 높은 우선순위(high priority)를 갖는 제1 트래픽과 낮은 우선순위(low priority)를 갖는 제2 트래픽으로 구분될 수 있다. 또한, 중계노드(10)(예를 들어, 스위치 등)의 출력 포트(12)에서 높은 우선순위를 갖는 제1 트래픽은 기 설정된 조건에 따라 구분될 수 있다. 여기서, 기 설정된 조건은 인입포트(11, 11') 별로 구분하거나, 플로우별로 구분하거나, 여러 플로우가 합쳐진 통합 플로우 별로 구분하는 것일 수 있다. 즉, 전체 트래픽은 기 설정된 조건에 따라 구분된 복수의 제1 트래픽과 하나의 제2 트래픽으로 구분되어 큐에 각각 저장되고, 이들 각각은 독립된 트래픽이 되며, 이 트래픽들은 후술하는 바와 같이 동시에 처리될 수 있다. 예를 들어, 인입포트별로 구분하는 경우에, 인입포트가 n개인 경우, n개의 제1 트래픽과 1개의 제2 트래픽을 포함하여 n+1개의 트래픽이 생성된다. 도 2는 본 발명의 일 실시예에 따른 스케줄러의 구조를 도시하는 도면으로, 복수의 제1 트래픽과 하나의 제2 트래픽을 가지는 스케줄러의 구조를 도시한다.
이와 같이 생성된 n+1개의 트래픽을 저장하는 모든 큐는 스케줄러(100)에서 스케줄링 알고리즘(예를 들어, DRR(deficit round robin) 알고리즘 등)에 따라 스케줄링되어 서비스될 수 있다. 이 경우, 스케줄러(100)는 스케줄러에 하나 이상의 실제 패킷이 존재하는 스케줄러 백로그(backlog) 기간 동안 각각의 트래픽을 저장하는 모든 큐가 비어 있지 않도록 가상의 패킷을 생성하여 스케줄링할 수 있다. 도 3은 본 발명의 일 실시예에 따라 DRR 알고리즘이 적용되는 경우의 스케줄러가 포함된 노드의 구조 및 통합 플로우들을 도시하는 도면이다. 도 3에 도시된 비작업보존형 DRR 스케줄러는 하나의 실시예이며, 다른 종류의 비작업보존형 스케줄러로 대치할 수 있다.
다시 말해, 중계노드의 출력 포트마다 인입포트 기반 비작업보존형 (non-work-conserving)으로 스케줄링 기능을 수행하는 스케줄러(100)가 위치하게 된다.
중계노드 출력 포트에 위치하는 스케줄러(100)는 하기와 같이 동작할 수 있다. 하기의 실시예에서는 스케줄러(100)가 DRR 알고리즘에 따라 스케줄링을 수행하는 경우를 예를 들어 설명하며, 이와 같이 동작하는 스케줄러를 qnw-DRR(quick non-work conserving DRR)라 지칭하기로 한다. 그러나, 본 발명이 반드시 DRR 알고리즘으로 제한되는 것은 아니며, 다양한 공지의 스케줄링 알고리즘에도 본 발명의 사상이 적용될 수 있다.
1. 명시된 인입 속도(arrival rate) 없이 인입하는 낮은 우선순위의 제2 트래픽 전체를 수용하는 제2 트래픽(
Figure 112019064889122-pat00001
)은 높은 우선순위의 복수의 제1 트래픽들의 인입 속도의 총합과 스케줄러의 수용량(capacity)과의 차이만큼의 인입 속도를 가진 것으로 취급될 수 있다().
2. 스케줄러(100)의 “백로그(backlog) 기간”은 전체 시스템에 실제 패킷이 저장되어 서비스를 기다리거나 서비스를 받는 기간을 의미하는 것으로, 백로그 기간이 시작되는 순간 모든 큐들의 변수(즉, deficit 값)를 최대 패킷 크기로 설정할 수 있다. 이 경우, 백로그 기간마다 큐들의 서비스 순서는 다를 수 있다. 백로그 기간 초반에, 실제 패킷이 가상패킷에 비해 최대한 우선적으로 서비스될 수 있도록 큐의 서비스 순서를 결정하는데, 큐의 서비스 순서를 결정하는 알고리즘은 하기의 표 1과 같다. 또한, 한번 결정된 순서는 해당 백로그 기간 동안에는 변경되지 않는다.
Algorithm: Service order decision in qnw-DRR
const integer N // Number of queues
integer array ServiceOrder[1..N] <- {0..0}// Service order of queues,
ServiceOrder {3..} means 3rd queue's order is 1st.
Upon actual packet arrival
if (any item in ServiceOrder) not= packet.queue_index
for i in 1..N
if ServiceOrder[i] is Null
ServiceOrder[i] ← packet.queue_index,
break, end if, end for, end if
Upon (virtual or actual) packet departure
if still system_backlog
for j in 1..N-1
if (any item in ServiceOrder) not= (packet.queue_index+j)%N
for i in 1..N
if ServiceOrder[i] is Null
ServiceOrder[i] ← (packet.queue_index+j)%N,
//Place nearest next queue in ServiceOrder list
break, end if, end for, end if, end for
else ServiceOrder[i] <- Null for all i, end if
예를 들어, 오랜만에 패킷이 하나 들어오고 더 들어오지 않으면 해당 패킷은 즉시 서비스되고 가상 패킷도 생성하지 않는다.
다른 예로, 비어 있는 시스템에 패킷 세 개가 연속으로 들어오는데 각각 순서대로 큐 3, 2, 7번으로 들어왔다면 서비스 순서는 3-2-7이다.
만약 1번부터 10번까지 열 개의 큐를 가진 시스템에 패킷 네 개가 연속으로 들어오는데 각각 큐 3, 3, 2, 7번으로 들어왔고, 3번 큐가 한 번의 라운드에 두 개 패킷을 모두 처리하지 못하면, 서비스 순서는 3-2-7-8-9-10-1-4-5-6-3 이다. 이때 3, 2, 7번을 제외한 큐는 가상 패킷을 만들어 서비스한다.
만약 패킷 세 개가 연속으로 들어오는데 각각 큐 3, 3, 2번으로 들어와서 3-2-4-5까지 서비스했는데 7번에서 실제 패킷이 들어오면, 바로 7번으로 건너뛰어서 3-2-4-5-7-8-9-10-1-6-3의 순서로 진행한다.
만약 패킷 세 개가 연속으로 들어오는데 각각 큐 3, 3, 2번으로 들어와서 3-2-4-5-6-7-8까지 서비스했는데 7번에서 실제 패킷이 들어오면, 7번 큐는 이미 서비스한 것이므로 계속 다음 큐로 진행하여 3-2-4-5-6-7-8-9-10-1-3-2-4-5-6-7의 순서로 진행한다.
상술한 알고리즘과 대비하여, 백로그 기간마다 큐들의 서비스 순서를 동일하게 유지하는 스케줄러를 nw-DRR(non-work conserving DRR)라 지칭하며 이들의 성능을 비교한 결과를 도 4 및 도 5를 참조하여 후술한다.
3. 한편, 백로그 기간 동안에만, 모든 큐들은 필요한 경우 가상 패킷을 이용하여 백로그되어야 한다. 즉, 높은 우선순위의 복수의 제1 트래픽들과 낮은 우선순위의 제2 트래픽을 포함하는 모든 트래픽들의 큐가 항상 백로그 되도록, 큐의 서비스 차례 직전에 해당 트래픽의 큐가 비어 있으면 가상 패킷을 생성할 수 있다. 여기서, 생성되는 가상 패킷의 크기는 해당 큐의 퀀텀(quantum) 크기일 수 있다. 다시 말해, 한번의 라운드(round)에 서비스될 수 있는 최대 크기의 가상 패킷을 생성할 수 있다.
4. 생성한 가상 패킷을 서비스하는 동안 해당 트래픽의 큐에 실제 패킷이 도착하면 즉시 가상 패킷의 서비스를 중단하고, 실제 패킷의 크기를 deficit 값과 비교하여 서비스 여부를 결정할 수 있다.
5. 전체 시스템에서 모든 실제 패킷이 서비스되어 사라지면 백로그 기간이 종료되며, 백로그 기간 이외의 시간 동안에는 시스템은 가상 패킷을 생성하지 않는다.
6. 한편, 가상 패킷의 서비스가 완료되어도, 가상 패킷은 스케줄러를 떠나 실제 링크로 전송하지 않는다.
이하, 상술한 바와 같이 동작하는 qnw-DRR의 성능을 DRR, nw-DRR, TDMA 스케줄러와 시뮬레이션을 통해 비교 평가한다.
시뮬레이션에서 모든 스케줄러는 10개의 큐를 가지고 있으며, 10~90Mbps 중 특정 속도로 스케줄러로 인입된 패킷은 1/10의 확률로 임의의 큐로 분배된다. 패킷의 길이는 500~2000bit 사이에서 균일하게 임의의(uniformly random) 값을 가진다. 또한, 큐가 저장할 수 있는 패킷의 수는 무한하며, 출력 링크는 100Mbps의 용량을 가지고 있다.
한편, TDMA 스케줄러에서는 최대 크기의 2000bit 패킷을 100Mbps로 서비스할 수 있도록 정해진 20μs의 슬롯 10개로 이루어진 프레임이 반복된다. 큐에 대기하는 패킷들 중 앞에서부터 하나의 슬롯에 수용 가능한 패킷들을 모두 처리한다.
시뮬레이션에서 사용한 파라미터 값들은 표 2와 같다.
파라미터
최대 패킷 길이 2000bit
큐의 개수 10
출력 링크 용량 100Mbps
시스템의 데이터 인입 속도 10M~90Mbps
큐에 할당된 퀀텀 크기 400bit
도 4는 트래픽의 인입 속도에 따른 종래 기술과 본 발명의 실시예에 따른 스케줄러의 평균 지연시간 변화를 도시하는 도면으로, 트래픽의 인입 속도를 변화시키면서 log scale로 관찰한 상술한 네 종류의 스케줄러에서의 평균 패킷 지연시간이다.
도 4를 참조하면, nw-DRR은 TDMA와 DRR의 중간 수준의 평균 지연시간을 보이며, 인입 속도가 낮을수록 TDMA와, 인입 속도가 높을수록 DRR과 비슷한 성능을 보임을 알 수 있다.
nw-DRR이 트래픽의 인입속도가 아주 낮은 경우에는 가상패킷을 모든 큐에 항상 만들어야 하는 상황이 만들어지는데 이것은 TDMA가 고정된 슬롯을 할당하는 것과 비슷하다. 반대로 인입속도가 아주 높은 경우에는 모든 큐에 실제 패킷이 존재할 가능성이 크므로 가상패킷을 만들 필요가 거의 없다. 이 상황은 DRR과 유사하다.
한편, 본 발명의 실시예에 따른 qnw-DRR은 인입속도가 낮은 경우에 DRR과 유사한 성능 특성을 보인다. 인입속도가 출력 링크 용량의 10%인 경우에는 DRR과 거의 동일한 성능을 보이다가 40% 이상의 과부하 상태에서는 nw-DRR과 거의 동일한 성능을 보인다. 또한, 90%의 아주 높은 인입속도의 경우 DRR은 2ms, nw-DRR과 qnw-DRR은 3.2ms의 평균 지연시간을 보인다. 따라서, 일반적인 네트워크의 동작 환경에서, 본 발명의 실시예에 따른 qnw-DRR은 최대 지연시간을 보장하면서도 DRR과 유사한 확률적 성능을 보인다.
도 5는 트래픽의 인입 속도에 따른 종래 기술과 본 발명의 실시예에 따른 스케줄러의 평균 큐 길이 변화를 도시하는 도면으로, 도 4와 동일한 환경에서의 평균 큐 길이의 변화를 log scale로 보여준다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
10, 20: 노드
11, 11', 21: 인입포트
12, 12': 출력 포트
100: 스케줄러

Claims (6)

  1. 중계노드의 출력 포트에 구비되어 있으며 레귤레이션 기능을 수행하는 비작업보존형(non-work-conserving) 스케줄러에 있어서,
    기 설정된 기준 대비 높은 우선순위(high priority)를 가지는 제1 트래픽이 기 설정된 조건에 따라 구분된 복수의 큐에 저장되고, 상기 기준 대비 낮은 우선순위(low priority)를 갖는 제2 트래픽이 별도의 큐에 저장되며, 모든 큐에 대해서 스케줄링을 수행하되,
    상기 스케줄러에 하나 이상의 실제 패킷이 존재하는 스케줄러 백로그 기간 동안 상기 모든 큐가 비어있지 않도록 가상패킷을 생성하여 스케줄링하며, 서비스 받는 상기 가상패킷은 상기 출력포트로 출력되지 않도록 하여 비작업보존 특성을 가지며,
    상기 스케줄러 백로그 기간 마다 기 설정된 알고리즘에 따라 실제 패킷을 가상패킷에 비해 우선적으로 서비스하도록 큐들의 서비스 순서를 결정하며,
    상기 스케줄러 백로그 기간 동안, 모든 큐는 백로그되어 있으며, 실제 패킷이 존재하지 않는 일부의 큐는 가상 패킷으로 백로그되어서, 모든 트래픽들의 인입 속도의 총합이 상기 스케줄러의 수용량과 동일하게 취급되는 것을 특징으로 하는 레귤레이션 기능을 수행하는 스케줄러.
  2. 제 1 항에 있어서,
    상기 스케줄러 백로그 기간의 초반에 하기의 알고리즘에 따라 상기 큐들의 서비스 순서를 결정하며, 결정된 서비스 순서는 해당 백로그 기간 동안 변경되지 않는 것을 특징으로 하는 레귤레이션 기능을 수행하는 스케줄러.
    Figure 112019064889122-pat00002
  3. 삭제
  4. 제 1 항에 있어서,
    큐의 서비스 차례 직전에 해당 트래픽의 큐가 비어 있으면 상기 큐의 deficit 값을 임의의 값으로 한 후 가상 패킷을 생성하는 것을 특징으로 하는 레귤레이션 기능을 수행하는 스케줄러.
  5. 제 4 항에 있어서,
    상기 가상 패킷을 서비스하는 동안 해당 트래픽의 큐에 실제 패킷이 도착하면 상기 가상 패킷의 서비스를 중단하고, 실제 패킷의 크기를 상기 deficit 값과 비교하여 서비스 여부를 결정하는 것을 특징으로 하는 레귤레이션 기능을 수행하는 스케줄러.
  6. 제 1 항에 있어서,
    상기 모든 큐에서 실제 패킷이 서비스되어 사라지면 상기 스케줄러 백로그 기간이 종료되며, 상기 스케줄러 백로그 기간 이외의 시간 동안에는 가상 패킷을 생성하지 않는 것을 특징으로 하는 레귤레이션 기능을 수행하는 스케줄러
KR1020190075564A 2019-06-25 2019-06-25 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러 KR102123476B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190075564A KR102123476B1 (ko) 2019-06-25 2019-06-25 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190075564A KR102123476B1 (ko) 2019-06-25 2019-06-25 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러

Publications (1)

Publication Number Publication Date
KR102123476B1 true KR102123476B1 (ko) 2020-06-16

Family

ID=71141459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190075564A KR102123476B1 (ko) 2019-06-25 2019-06-25 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러

Country Status (1)

Country Link
KR (1) KR102123476B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070051995A (ko) * 2005-11-16 2007-05-21 엘지노텔 주식회사 이동통신 망의 비동기식 고속 패킷 스케줄링 방법
KR20180055882A (ko) * 2015-10-30 2018-05-25 사이트릭스 시스템스, 인크. 분산 패킷 스케줄링을 위한 시스템들 및 방법들

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070051995A (ko) * 2005-11-16 2007-05-21 엘지노텔 주식회사 이동통신 망의 비동기식 고속 패킷 스케줄링 방법
KR20180055882A (ko) * 2015-10-30 2018-05-25 사이트릭스 시스템스, 인크. 분산 패킷 스케줄링을 위한 시스템들 및 방법들

Similar Documents

Publication Publication Date Title
CN1689278B (zh) 网络拥塞控制方法和装置
US7701849B1 (en) Flow-based queuing of network traffic
US6646986B1 (en) Scheduling of variable sized packet data under transfer rate control
US7619969B2 (en) Hardware self-sorting scheduling queue
US8339949B2 (en) Priority-aware hierarchical communication traffic scheduling
US20110149977A1 (en) Avoiding unfair advantage in weighted round robin (wrr) scheduling
US7289443B1 (en) Slow-start packet scheduling particularly applicable to systems including a non-blocking switching fabric and homogeneous or heterogeneous line card interfaces
US20050047405A1 (en) Switching device for controlling data packet flow
NZ531355A (en) Distributed transmission of traffic flows in communication networks
EP1638273B1 (en) Scheduling using quantum and deficit values
KR20070106940A (ko) 데이터 블록 스케줄링 방법과 장치 및 이를 포함하는 집적회로
US8879578B2 (en) Reducing store and forward delay in distributed systems
US7301943B2 (en) QoS-oriented burstification method supporting various grades of burstification delay guarantee
KR102123476B1 (ko) 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러
US9179366B2 (en) Scheduling methods and apparatus based on adjusted channel capacity
US8660001B2 (en) Method and apparatus for providing per-subscriber-aware-flow QoS
JP2005236669A (ja) 通信品質制御方法およびその通信品質制御装置
JP4376855B2 (ja) パケット通信品質制御装置
US6904056B2 (en) Method and apparatus for improved scheduling technique
US20190014052A1 (en) Automatically Cycling Among Packet Traffic Flows Subjecting Them to Varying Drop Probabilities in a Packet Network
CN114531399B (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
Bonald et al. Scheduling network traffic
US6920111B1 (en) Multiple update frequencies for counters in a multi-level shaping system
KR20200080713A (ko) 레귤레이션 기능을 수행하는 스케줄러
Khawam et al. Opportunistic weighted fair queueing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant