KR20240056380A - 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법 - Google Patents

서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법 Download PDF

Info

Publication number
KR20240056380A
KR20240056380A KR1020230024451A KR20230024451A KR20240056380A KR 20240056380 A KR20240056380 A KR 20240056380A KR 1020230024451 A KR1020230024451 A KR 1020230024451A KR 20230024451 A KR20230024451 A KR 20230024451A KR 20240056380 A KR20240056380 A KR 20240056380A
Authority
KR
South Korea
Prior art keywords
packet
time
packets
completion time
node
Prior art date
Application number
KR1020230024451A
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 PCT/KR2023/015975 priority Critical patent/WO2024085572A1/ko
Publication of KR20240056380A publication Critical patent/KR20240056380A/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/56Queue scheduling implementing delay-aware scheduling
    • 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
    • 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]

Landscapes

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

Abstract

본 발명은 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법에 관한 것이다.
본 발명에 따르면, 네트워크 지연시간 보장 시스템은 입력 포트(input port)별 큐에 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 패킷 처리부, 입력 포트별 FIFO (First in, first out) 혹은 PIFO (Push in, first out) 큐(Queue)를 이용해서 해당 큐의 헤드(Head of Queue, HoQ)들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 스케줄링부, 그리고 스케줄링된 패킷들을 출력 포트를 통해 출력시키는 패킷 출력부를 포함한다.

Description

서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법{Service order-preserving global finish time-based network latency guarantee system and method}
본 발명은 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법에 관한 것으로, 더욱 상세하게는 최초 노드에서 생성한 전역 완료시간 정보에 기반하여 플로우 별 상태 정보 관리 없이 네트워크의 코어 노드에서 패킷의 완료시간을 도출하고 이에 따라 스케줄링 함으로써 네트워크 지연시간 상한을 보장하는 네트워크 지연시간 보장 시스템 및 방법에 관한 것이다.
발신지와 목적지가 동일한, 같은 응용에 속하는 패킷들의 집합인 플로우를 유체(fluid)로 보고 이를 바탕으로 중계 노드에서의 적절한 스케줄링으로 모든 플로우들에게 정확하게 요구한 만큼의 서비스를 제공해주어 지연시간을 보장하는 기술이 1990년대부터 제시됐다. 지연시간 보장과 플로우 보호(protection)는 밀접한 관계가 있다. 플로우 보호의 정도는 지연시간 상한과 반비례한다. 크게 세 가지 수준의 플로우 보호 기술이 존재한다.
첫 번째 수준의 기술은 패킷 크기의 최대치 수준으로 플로우 간의 간섭을 제한하는 기술이다. 이러한 기술을 적용하면 각 노드에서의 지연시간 상한(upper bound)이 최대 패킷 길이와 비례한다. 하지만 이를 위해 많은 수의 플로우 별 상태 정보를 관리하고 기록하는 복잡성이 문제가 되어 실제로는 적용되지 않고 있다.
두 번째 수준의 기술은 플로우의 특성을 반영한 자세한 개별적 상태는 유지하지 않고, 대신 플로우의 고정적인 요구사항과 서비스 이력 정도만 기록하여 이를 바탕으로 앞으로의 서비스를 규정한다. 이러한 기술을 적용한 경우 각 노드에서의 지연시간 상한이 플로우 별 최대 패킷 크기의 합에 비례한다.
세 번째 수준의 기술은 플로우들을 우선순위 별로 묶은 큐에 저장하고 단순하게 우선순위 별로 큐를 서비스하는 것이다. 이러한 기술을 적용한 경우 지연시간 상한은 플로우 별 최대 버스트 크기의 총합으로 결정된다. 최대 버스트 크기는 플로우 별로 허용된, 최초 발신지에서 한 번에 보낼 수 있는 데이터의 총량을 의미한다. 일반적으로 많은 수의 패킷을 묶은 개념을 나타낸다. 따라서 이들의 총합에 비례하는 지연시간 상한은 경우에 따라 수용하기 어려운 수준일 수 있다. 더구나 이러한 기술을 적용한 네트워크에서는 네트워크 토폴로지 상에 순환이 존재하는 경우, 최대 지연시간이 노드를 거침에 따라 증폭되어 네트워크 사용률 수준에 따라 지연시간 상한을 보장할 수 없는 상황이 발생할 수 있다.
따라서 가장 성능이 우수한 첫 번째 수준의 기술을 인터넷에 적용하는 방안이 연구되어 왔다. Generalized processor sharing(GPS)은 유체로써의 플로우에 대한 공평한 서비스에 관한 패러다임을 제시했고, 이를 패킷 환경에서 구현한 Packetized GPS(PGPS, 혹은 Weighted fair queuing)는 이러한 유형의 패킷 기반 스케줄러들의 선구적 역할을 하였다. 이들을 묶어서 공정 큐잉(Fair queuing) 스케줄러라 통칭한다. 공정 큐잉은 하기의 수학식 1로 도출된 완료시간(Finish time)의 오름차순으로 패킷의 서비스 순서를 결정한다.
여기서, p는 플로우의 p번째 패킷, A(p)는 패킷 p가 노드에 도착한 시간, L(p)는 p의 길이, r은 p가 속한 플로우에 할당된 서비스 rate을 의미한다. V(t)는 가상 시간 함수(virtual time function)라고 부르며 실제 시간 t에, 서비스 받고 있는 플로우들의 r의 총합과 링크 용량(link capacity)의 비율의 곱, 혹은 현재 시간 등 다양한 방법으로 산출할 수 있는 값이다. 가상 시간(Virtual time)은 플로우가 할당 받은 속도보다 빠른 속도로 서비스 받는 상황에서, 뒤늦게 시작된 플로우들이 상대적으로 작은 완료시간을 가짐으로써 기존 플로우들보다 상당기간 우선적으로 서비스 받는 불공평한 상황을 막아준다. F(p)는 p의 공정하게 산출한 완료시간을 나타내며 이 값이 작은 순서대로 노드의 서비스를 받는다. 완료시간은 패킷이 노드에 도착한 순간 계산할 수 있으며, 따라서 버퍼에 저장하기 이전에 이미 패킷의 메타 데이터(meta-data) 형태로 노드 내에서 기록하여 사용할 수 있다. 일반적으로 플로우별 큐를 두고, 해당 큐는 FIFO 혹은 PIFO로 관리하며, 스케줄러는 플로우 별 큐의 헤드(head of queue, HoQ)를 살펴보아 가장 작은 완료시간을 가진 큐를 서비스하는 형식으로 구현된다. 혹은 하나의 큐에 모든 패킷을 넣고 완료시간의 값에 따라 큐의 중간에 끼워 넣는 방법도 가능하다. 완료시간이란, 해당 패킷이 공정하게 서비스 받았을 경우에 예상되는 완료 시점이다. 수학식 1의 핵심은, 최악의 경우 즉 모든 플로우들이 활성화되어 링크가 최대로 사용되는 경우, 플로우에 속한 이전 패킷 대비 L(p)/r만큼의 간격으로 서비스를 받게 한다는 것이다. 그러면서 동시에 작업 보존형 스케줄러를 사용함으로써 사용되지 않고 낭비되는 링크 자원(link resource)은 없도록 방지하고 있다.
수학식 1을 구하기 위해 플로우의 F(p-1), 즉 이전 패킷의 완료시간을 기억하고 있어야 한다. 패킷이 인입되면 어떤 플로우에 속하는지 찾아내어 해당 플로우의 최근 패킷의 완료시간을 알아내어야 한다. 이 최근 패킷의 완료시간 F(p-1)이 소위 말하는 '플로우 상태'를 대표하는 값이다. 이러한 상태 정보를 기억하고 있다가 읽어야 하는 점이 수백만 개의 플로우를 관리하는 코어 노드 입장에서 상당한 복잡도를 의미하여, 인터넷에서 이러한 공정 큐잉 스케줄러가 실제로는 사용되지 않는 가장 주요한 이유가 되었다. 수백만 개에 이르는 플로우 상태를 실시간으로 코어 노드에서 관리하는 것은 불가능하다.
이의 해결을 위해 플로우의 상태 정보를 코어 노드에서 관리하지 않고 최초 노드에서 패킷에 필요한 정보를 기재하고 이를 중간에 수정할 수 있게 하여, 코어 노드에서 플로우 상태를 패킷 상태만으로 도출하도록 하는 방안이 제시되었다.
하지만 기존의 연구는 매 노드에서 패킷의 서비스에 필요한 시간 정보를 완료시간에 반영하려고 하여, 같은 플로우 내 크기가 다른 패킷들의 서비스 순서가 뒤바뀔 가능성을 내포한다.
이를 방지하기 위해 패킷의 서비스 시작 가능 시간(Eligible time)이라는 개념을 도입하여 패킷 간 서비스 순서를 보장한다. 이에 따라 비 작업보존방식(non work conserving)으로 동작한다. 이는 지연시간 상한을 보장할 수 있으나, 평균 지연시간이 많이 늘어난다는 단점이 있어서 이에 대한 해결책이 필요하다.
한편, 이러한 패킷 관련 정보를 패킷 헤더에 기재하고 이를 매 노드에서 수정하는 방안은 복잡성으로 인해 그 동안 인터넷 표준으로 받아들여지지 않았다.
본 발명이 이루고자 하는 기술적 과제는 최초 노드에서 생성한 전역 완료시간 정보에 기반하여 플로우 별 상태 정보 관리 없이 네트워크의 코어 노드에서 패킷의 완료시간을 도출하고 이에 따라 스케줄링 함으로써 네트워크 지연시간 상한을 보장하는 네트워크 지연시간 보장 시스템 및 방법을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따르면, 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템은 입력 포트(input port)별 큐에 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 패킷 처리부, 입력 포트별 FIFO (First in, first out) 혹은 PIFO (Push in, first out) 큐(Queue)를 이용해서 해당 큐의 헤드(Head of Queue, HoQ)들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 스케줄링부, 그리고 스케줄링된 패킷들을 출력 포트를 통해 출력시키는 패킷 출력부를 포함한다.
상기 패킷 처리부는, 공정 큐잉(Fair queuing) 방식을 적용하여 최초로 인입하는 노드의 완료시간을 하기의 수학식에 적용하여 산출할 수 있다.
여기서, 는 패킷(p)이 최초의 노드(0)에 인입하는 시점에서 산출된 완료 시점이며, 는 패킷(p)이 최초의 노드(0)에 인입하는 시점의 시간을 나타내고, 는 A0(p) 시점에서의 가상 시간(virtual time)을 나타낸다. 또한, 는 패킷(p)의 길이를 나타내고, r은 패킷(p)가 속한 플로우에 할당된 서비스 비율(rate)을 의미한다.
상기 패킷 처리부는, 하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간()을 산출할 수 있다.
여기서, 는 코어 노드(h)와 패킷의 함수를 나타내며, 코어 노드(h)에서 산출한 완료시간 증가분으로 정의된다.
상기 패킷 처리부는, 하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간()을 산출할 수 있다.
.
여기서, 는 코어 노드(h-1)에서 패킷 p가 겪을 수 있는 최대 지연시간을 나타낸다. 코어 노드(h-1)은 패킷 p가 h에 도달 하기 직전에 거치는 노드이다.
상기 패킷 처리부는, 하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간()을 산출할 수 있다.
.
여기서, 는 코어 노드(h-1)에서 임의의 패킷이 겪을 수 있는 최대 지연시간을 나타낸다.
상기 스케줄링부는 패킷 트래픽의 우선순위 정보 및 완료시간을 이용하여 패킷들의 출력 순서를 조정하며,
,
for h>0
를 만족시키는 스케줄러는 packetized rate proportional server(PRPS)으로서, 지연시간 상한을 보장할 수 있다.
상기 패킷 처리부는, 하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간 증가분(dh(p))을 산출하고 이를 패킷 p와 p 이후 인입하는 패킷들의 완료 시간(Fh(p))에 사용할 수 있다.
여기서, 는 패킷 pserv의 완료시간을 나타낸다. pserv는 p가 도착한 시점에 서비스 받고 있는 패킷을 나타낸다. p가 도착한 시점에 시스템이 비어 있어 서비스 받고 있는 패킷이 없다면, pserv는 가장 최근에 서비스 받은 패킷으로 정의 된다.
본 발명의 실시예에 따르면, 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법은 입력 포트(input port)별 큐에 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 단계, 입력 포트별 FIFO (First in, first out) 혹은 PIFO (Push in, first out) 큐(Queue)를 이용해서 해당 큐의 헤드(Head of Queue, HoQ)들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 단계, 그리고 스케줄링된 패킷들을 출력 포트를 통해 출력시키는 단계를 포함한다.
이와 같이 본 발명에 따르면, 최초 노드에서 도출한 완료시간을 패킷에 메타 데이터 형태로 기록하여 이를 바탕으로 하위 노드들에서 플로우 별 상태 정보 관리 없이 간단한 방법으로 완료시간을 업데이트하여 패킷 서비스 순서를 결정할 수 있다.
또한, 본 발명에 따르면, 스케줄러는 최초 노드에서의 완료시간에 노드 고유의 상태 정보만을 더해서 진행해 나가는 특성으로 인해, 같은 경로를 지나가는 모든 플로우의 패킷 간 서비스 순서가 바뀌지 않을 수 있는 특성을 가지므로, 간단한 입력 포트(input port) 별 FIFO큐 혹은 PIFO큐를 이용해서 해당 큐의 HoQ만을 비교함으로써 최소 완료시간을 가진 패킷을 손쉽게 찾아 낼 수 있다는 장점을 가진다.
도 1은 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법을 설명하기 위한 순서도이다.
도 3은 도 2를 설명하기 위한 일 구현예를 도시하는 도면이다.
도 4는 성능 비교를 위한 네트워크 토폴로지를 나타내는 도면이다.
도 5는 링크 사용률에 따른 레귤레이션 없는 일반 스케줄러, PFAR, ATS IR과 본 발명에 따른 PRPS의 단대단 네트워크 지연시간 상한 비교 결과를 나타내는 그래프이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
이하에서는 도 1을 이용하여 본 발명의 실시예에 따른 지연시간 보장 시스템에 대해 더욱 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 설명하기 위한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템(100)은 패킷 처리부(110), 스케줄링부(120) 및 패킷 출력부(130)를 포함한다.
먼저, 패킷 처리부(110)는 패킷 처리부(110)입력 포트(input port)별 큐에 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성한다. 그리고 패킷 처리부(110)는 생성된 메타 데이터를 패킷의 헤더에 저장한다.
스케줄링부(120)는 입력 포트별 FIFO (First in, first out) 혹은 PIFO (Push in, first out) 큐(Queue)를 이용해서 해당 큐들의 헤드(Head of Queue, HoQ)들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출한다. 스케줄링부(120)는 패킷 트래픽의 우선순위 정보 및 최소 완료시간을 이용하여 패킷들의 출력 순서를 조정한다.
마지막으로 패킷 출력부(130)는 스케줄링된 패킷들을 출력 포트를 통해 출력시킨다.
이하에서는 도 2 내지 도 3을 이용하여 본 발명의 실시예에 따른 지연시간 보장 시스템을 이용한 지연시간 보장 방법에 대해 더욱 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법을 설명하기 위한 순서도이고, 도 3은 도 2를 설명하기 위한 일 구현예를 도시하는 도면이다.
도 2 및 도 3에 도시된 바와 같이, 패킷 처리부(110)는 인입되는 패킷들을 트래픽의 우선순위에 따라 분류한다(S210).
패킷 처리부(110)는 모든 트래픽을 높은 우선순위와 낮은 우선순위의 트래픽으로 구분하고, 이에 따라패킷 처리부(110) 높은 우선순위 트래픽을 포함한 패킷과 낮은 우선순위 트래픽을 포함한 패킷을 분류한다.
그 다음, 패킷 처리부(110)는 패킷의 헤더에 포함된 메타데이터를 기초로 완료시간을 도출한다(S220).
본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템(100)은 각 노드마다 새롭게 각각의 완료시간을 도출하는 대신 최초 노드에서 산출된 완료시간 정보를 이용하여 하위 노드에서의 완료시간을 도출한다.
따라서, 패킷 처리부(110)는 메타데이터에 포함된 이전 노드의 완료시간과 패킷의 함수를 이용하여 현재 노드의 완료시간을 도출한다.
이를 다시 설명하면, 패킷 처리부(110)는 하기의 수학식 2와 같이 공정 큐잉(Fair queuing) 방식을 적용하여 최초로 인입하는 노드의 완료시간을 산출한다.
여기서, 는 패킷(p)이 최초의 노드(0)에 인입하는 시점에서 산출된 완료 시점이며, 는 패킷(p)이 최초의 노드(0)에 인입하는 시점의 시간을 나타내고, 는 A0(p) 시점에서의 가상 시간(virtual time)을 나타낸다. 또한, 는 패킷(p)의 길이를 나타내고, r은 패킷(p)가 속한 플로우에 할당된 서비스 비율(rate)을 의미한다.
한편, 본 발명의 실시예에서는 최초의 노드에서 산출되는 완료시간을 전역 완료시간 (global finish time)이라고 한다.
그리고, 패킷 처리부(110)는 코어 노드(h)에서의 완료시간()을 하기의 수학식 3을 통해 산출한다.
여기서, 는 노드(h)와 패킷의 함수를 나타내는 것으로서, 코어 노드(h)에서 산출한 완료시간 증가분으로 정의될 수 있다. 한편, 는 서로 인접한 패킷들 간에는 비내림차순(non-decreasing) 함수이어야 하며, 이는 인접한 패킷 간 서비스 순서가 바뀌지 않도록 하기 위함이다. 일 실시예에 따르면, 값을 노드의 전가동 시간(busy period)의 시작 시점부터 패킷(p)의 인입 시점까지 측정된 최대지연시간으로 구현할 수 있다.
상술한 수학식 2 및 수학식 3을 이용하면, 코어 노드(h)에서 완료시간을 계산할 때, Fh-1(p)와 dh(p) 값만이 필요하며, 따라서 코어 노드에서의 플로우 별 상태 정보의 저장 및 관리가 필요하지 않다. Fh-1(p)와 dh(p)를 도출하기 위한 정보는 패킷의 헤더에 메타 데이터 형태로 저장해서 전달될 수 있다. 모든 노드에서 업데이트가 필요하지만, 패킷의 도착 시점과 이탈 (departure) 시점 사이의 적당한 시각에 업데이트가 허용되므로 충분한 시간이 주어진다.
또한, 패킷 처리부(110)는 코어 노드(h)에서의 완료시간()을 하기의 수학식 4 혹은 수학식 5를 통해서도 산출할 수 있다.
여기서, 는 코어 노드(h-1)에서 패킷 p가 겪을 수 있는 최대 지연시간을 나타낸다. 코어 노드(h-1)은 패킷 p가 h에 도달 하기 직전에 거치는 노드이다.
여기서, 는 코어 노드(h-1)에서 임의의 패킷이 겪을 수 있는 최대 지연시간을 나타낸다.
수학식 4 혹은 수학식 5를 통해 산출되는 완료시간은 수학식 2와 비교하였을 때 매 노드마다 만큼 증가시키지 않은 상태로 산출된다. 이는 전체 네트워크를 하나의 노드로 가정하고, 최초 설정한 패킷 간 거리를 유지하는 것이 공평할 수 있다는 점을 반영하는 것이다.
상술한 바와 같은 본 발명의 실시예에 따르면, 같은 경로의 모든 패킷 간 서비스 순서가 경로 중간에 바뀌는 일을 방지할 수 있다. 또한, 기존의 복잡한 정렬 알고리즘이 필요했던 완료시간 기준 스케줄링을, 입력 포트 별 FIFO 혹은 PIFO 큐를 유지하며, 해당 큐들의 HoQ들의 완료시간만을 비교하는 것으로 전체 저장된 패킷 중 최소 완료시간을 가진 패킷을 알아내는 것으로 구현할 수 있다. 이러한 간단한 스케줄러의 구성으로 코어 노드에서의 확장성을 확보할 수 있다.
한편, 수학식 5에 따라 산출한 완료시간()은 의 값에 따라 다른 경로로 코어 노드에 도착한 플로우들간의 형평성에 영향을 줄 수 있다. 따라서, 이를 해소하기 위해 를 만족해야 한다. 즉 플로우들의 완료 시간 F를 가상 시간 t에 연동하여 플로우 간 형평성을 보장한다.
본 발명의 실시예에서는, 는 노드(h-1)에서 모든 플로우의 패킷에 대해서 보장하는 지연시간 상한()과 동일해야 한다. 즉, 지연시간 상한은 하기의 수학식 6을 만족한다.
상기와 같이 완료시간에 대한 산출이 완료되면, 패킷 처리부(110)는 산출된 완료시간은 메타 데이터 형식으로 패킷의 헤더에 저장한다.
S220 단계가 완료되면, 스케줄링부(120)는 패킷의 헤더에 저장된 완료시간을 이용하여 최소 완료시간을 가진 패킷을 추출하고, 추출된 패킷을 우선순위로 하여 스케줄링 한다(S230).
즉, 스케줄링부(120)는 패킷 트래픽의 우선순위 정보 및 최소 완료시간을 이용하여 패킷들의 출력 순서를 조정한다.
한편 본 발명의 실시예에서 사용되는 스케줄러는 packetized rate proportional server(PRPS)으로서, 지연시간 상한을 보장한다.
이를 증명하면, 먼저 스케줄러의 시스템 포텐셜(potential)은 P(t)=t로 정의될 수 있다. 한편, 는 조각별 선형 함수(piecewise linear function)이며, (1), (2), (3), …에서 h가 0인 경우에 의 값을 가진다. 반면에 h가 0이 아니면, 의 값을 가진다.
또한, (p)가 아닌 t에서는 를 만족하는 에서의 값을 연결한 선 위의 값을 가진다.
따라서, 하기의 수학식 7이 수학식 8을 만족함으로써 플로우 별 포텐셜을 가진 스케줄러는 PRPS임을 증명할 수 있다.
for h>0.
여기서, B(t)는 시간 t에 백로그(backlog)된 플로우의 집합이고, Δ는 음수가 아닌 임의의 유한한 상수(finite constant)이다.
즉, 플로우 별 포텐셜이 시스템 포텐셜보다 항상 크면서, 그 둘의 차이가 유한한 값으로 한정(bounded)되면 Pi(t)를 사용하는 스케줄러는 PRPS임을 알 수 있다.
한편, 수학식 3의 dh(p)는 적절한 시점에 입력 포트 간 Fh(p)의 차이를 극복할 수 있도록 하기의 수학식 9와 같이 코어 노드(h)에서의 완료시간 증가분(dh(p))을 산출하고 이를 패킷 p와 이후 인입하는 패킷들의 완료 시간(Fh(p))에 사용할 수 있다.
여기서, 는 패킷 pserv의 완료시간을 나타낸다. pserv는 p가 도착한 시점에 서비스 받고 있는 패킷을 나타낸다. p가 도착한 시점에 시스템이 비어 있어 서비스 받고 있는 패킷이 없다면, pserv는 가장 최근에 서비스 받은 패킷으로 정의 된다. 이렇게 함으로써 입력 포트별 큐 간 완료시간의 차이를 없앨 수 있다. 이렇게 결정된 dh(p)값은 이후 인입하는 패킷들이 같은 값으로 계속 유지하여 최초 노드에서 설정한 패킷 간 완료시간 차이를 보존할 수 있다.
마지막으로 패킷 출력부(130)는 전송받은 패킷 사이의 간격을 제어하며 출력 포트를 통해 패킷을 출력한다(S240).
즉, 패킷 출력부(130)는 스케줄링부(120)에서의 스케줄링 결과에 따라 스케줄러 큐로부터 출력된 패킷들을 입력받아 출력 포트로 출력한다. 출력 포트는 전송받은 패킷들을 IP망을 통하여 전송시킨다.
이하에서는 도 4 및 도 5를 이용하여 본 발명의 네트워크 지연시간 보장 시스템의 성능 비교 결과에 대해 더욱 상세하게 설명한다.
도 4는 성능 비교를 위한 네트워크 토폴로지를 나타내는 도면이고, 도 5는 링크 사용률에 따른 레귤레이션 없는 일반 스케줄러, PFAR, ATS IR과 본 발명에 따른 PRPS의 단대단 네트워크 지연시간 상한 비교 결과를 나타내는 그래프이다.
먼저, 도 4에 도시된 바와 같이, 9개의 노드가 격자 형태로 네트워크를 구성한다. 이 네트워크는 네 개의 내부 격자를 포함하며, 각각은 한 방향으로 플로우들이 순환한다.
하기의 표 1과 같이 모두 8가지 종류의 플로우 경로가 존재한다.
[표 1]
모든 플로우들은 동일한 파라미터, requested rate 480Kbps, 최대 버스트 크기 = 최대 패킷 길이 = 2400bit를 가진다. 링크의 용량은 100Mbps이다.
그리고, 도 5에 도시된 바와 같이, 사용률은 해당 플로우가 얼마나 많은가 하는 것을 나타낸다. 플로우 보호(protection) 특성을 가지고 있는 PRPS는 사용률과 상관없이 일정한 단대단 지연시간 상한을 제공하는 것을 알 수 있다.
이와 같이 본 발명에 따른 지연시간 보장 시스템은 최초 노드에서 도출한 완료시간을 패킷에 메타 데이터 형태로 기록하여 이를 바탕으로 하위 노드들에서 플로우 별 상태 정보 관리 없이 간단한 방법으로 완료시간을 업데이트하여 패킷 스케줄 순서를 결정할 수 있다.
또한, 본 발명에 따른 지연시간 보장 시스템은 스케줄러는 최초 노드에서의 완료시간에 노드 고유의 상태 정보만을 더해서 진행해 나가는 특성으로 인해, 같은 경로를 지나가는 모든 플로우의 패킷 간 서비스 순서가 바뀌지 않을 수 있는 특성을 가지므로, 간단한 입력 포트(input port) 별 FIFO 혹은 PIFO 큐를 이용해서 해당 큐의 HoQ만을 비교함으로써 최소 완료시간을 가진 패킷을 손쉽게 찾아 낼 수 있다는 장점을 가진다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100 : 지연시간 보장 시스템
110 : 패킷 처리부
120 : 스케줄링부
130 : 패킷 출력부

Claims (8)

  1. 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템에 있어서,
    입력 포트(input port)별 큐에 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 패킷 처리부,
    입력 포트별 FIFO (First in, first out) 혹은 PIFO (Push in, first out) 큐(Queue)를 이용해서 해당 큐의 헤드(Head of Queue, HoQ)들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 스케줄링부, 그리고
    스케줄링된 패킷들을 출력 포트를 통해 출력시키는 패킷 출력부를 포함하는 네트워크 지연시간 보장 시스템.
  2. 제1항에 있어서,
    상기 패킷 처리부는,
    공정 큐잉(Fair queuing)방식을 적용하여 최초로 인입하는 노드의 완료시간을 하기의 수학식에 적용하여 산출하는 네트워크 지연시간 보장 시스템:

    여기서, 는 패킷(p)이 최초의 노드(0)에 인입하는 시점에서 산출된 완료 시점이며, 는 패킷(p)이 최초의 노드(0)에 인입하는 시점의 시간을 나타내고, 는 A0(p) 시점에서의 가상 시간(virtual time)을 나타낸다. 또한, 는 패킷(p)의 길이를 나타내고, r은 패킷(p)가 속한 플로우에 할당된 서비스 비율(rate)을 의미한다.
  3. 제1항에 있어서,
    상기 패킷 처리부는,
    하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간()을 산출하는 네트워크 지연시간 보장 시스템:

    여기서, 는 코어 노드(h)와 패킷의 함수를 나타내며, 코어 노드(h)에서 산출한 완료시간 증가분으로 정의된다.
  4. 제1항에 있어서,
    상기 패킷 처리부는,
    하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간()을 산출하는 네트워크 지연시간 보장 시스템:
    .
    여기서, 는 코어 노드(h-1)에서 패킷 p가 겪을 수 있는 최대 지연시간을 나타낸다. 코어 노드(h-1)은 패킷 p가 h에 도달 하기 직전에 거치는 노드이다.
  5. 제1항에 있어서,
    상기 패킷 처리부는,
    하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간()을 산출하는 네트워크 지연시간 보장 시스템:
    .
    여기서, 는 코어 노드(h-1)에서 임의의 패킷이 겪을 수 있는 최대 지연시간을 나타낸다.
  6. 제1항에 있어서,
    상기 스케줄링부는
    패킷 트래픽의 우선순위 정보 및 완료시간을 이용하여 패킷들의 출력 순서를 조정하며,
    ,
    for h>0
    를 만족시키는 스케줄러는 packetized rate proportional server(PRPS)으로서, 지연시간 상한을 보장하는 네트워크 지연시간 보장 시스템.
  7. 제1항에 있어서,
    상기 패킷 처리부는,
    하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간 증가분(dh(p))을 산출하고 이를 이후 인입하는 패킷들의 완료 시간(Fh(p))에 사용하는 네트워크 지연시간 보장 시스템:

    여기서, 는 패킷 pserv의 완료시간을 나타낸다. pserv는 p가 도착한 시점에 서비스 받고 있는 패킷을 나타낸다. p가 도착한 시점에 시스템이 비어 있어 서비스 받고 있는 패킷이 없다면, pserv는 가장 최근에 서비스 받은 패킷으로 정의 된다.
  8. 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법에 있어서,
    입력 포트(input port)별 큐에 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 단계,
    입력 포트별 FIFO (First in, first out) 혹은 PIFO (Push in, first out) 큐(Queue)를 이용해서 해당 큐의 헤드 (Head of Queue, HoQ)들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 단계, 그리고
    스케줄링된 패킷들을 출력 포트를 통해 출력시키는 단계를 포함하는 네트워크 지연시간 보장 방법.
KR1020230024451A 2022-10-21 2023-02-23 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법 KR20240056380A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/015975 WO2024085572A1 (ko) 2022-10-21 2023-10-17 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220136578 2022-10-21
KR20220136578 2022-10-21

Publications (1)

Publication Number Publication Date
KR20240056380A true KR20240056380A (ko) 2024-04-30

Family

ID=90884863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230024451A KR20240056380A (ko) 2022-10-21 2023-02-23 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20240056380A (ko)

Similar Documents

Publication Publication Date Title
US10764215B2 (en) Programmable broadband gateway hierarchical output queueing
JP3715098B2 (ja) 通信ネットワークにおけるパケットの配送装置とその方法
US7619969B2 (en) Hardware self-sorting scheduling queue
GB2339371A (en) Rate guarantees through buffer management
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
JP2014187421A (ja) 通信装置及びパケットスケジューリング方法
CN100466593C (zh) 一种支持多业务的综合队列调度的实现方法
US20120127859A1 (en) Packet scheduling method and apparatus based on fair bandwidth allocation
JP3623420B2 (ja) トラヒック制御方法
JP3830937B2 (ja) 高速パケット網のためのパケットスケジューリングシステム及び方法
CN114257554A (zh) 一种提高tsn网络be流带宽利用率的调度方法
EP2996293B1 (en) A packet scheduling networking device for deadline aware data flows
CN109792411B (zh) 用于管理端到端连接的设备和方法
JP2005236669A (ja) 通信品質制御方法およびその通信品質制御装置
KR20240056380A (ko) 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법
CN114531399B (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
JPH11298523A (ja) パケット・スケジューリング方法
US9467388B2 (en) Method and device for scheduling data traffic
KR102391804B1 (ko) FQ-CoDel 알고리즘의 매개변수 최적화 방법
CN117579577B (zh) 基于时间敏感网络的数据帧转发方法、装置及计算机设备
Callegati et al. Engineering Packet-Switched Networks
Zhou et al. RDA: Residence Delay Aggregation for Time-Sensitive Networking
Ding et al. Reliable Transport Mechanism Based on Multi-queue Scheduling
CN117857466A (zh) 网络流量的确定性编排处理方法、装置、设备及存储介质
Ahmed et al. Switched Multi-hop Priority Queued Networks-Influence of priority levels on Soft Real-time Performance