KR100800958B1 - 토큰 버켓을 이용한 트래픽 플로우 제어 방법 - Google Patents

토큰 버켓을 이용한 트래픽 플로우 제어 방법 Download PDF

Info

Publication number
KR100800958B1
KR100800958B1 KR1020010061182A KR20010061182A KR100800958B1 KR 100800958 B1 KR100800958 B1 KR 100800958B1 KR 1020010061182 A KR1020010061182 A KR 1020010061182A KR 20010061182 A KR20010061182 A KR 20010061182A KR 100800958 B1 KR100800958 B1 KR 100800958B1
Authority
KR
South Korea
Prior art keywords
bucket
token
node
traffic flow
merge
Prior art date
Application number
KR1020010061182A
Other languages
English (en)
Other versions
KR20030028893A (ko
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 KR1020010061182A priority Critical patent/KR100800958B1/ko
Priority to US10/260,765 priority patent/US20030069970A1/en
Priority to CA002405580A priority patent/CA2405580A1/en
Publication of KR20030028893A publication Critical patent/KR20030028893A/ko
Application granted granted Critical
Publication of KR100800958B1 publication Critical patent/KR100800958B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/215Flow control; Congestion control using token-bucket
    • 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/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Abstract

본 발명은 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 관한 것으로, 트래픽 플로우의 토큰 버켓의 오버플로우 또는 패킷 드롭을 감시함으로써, 비정상 클래스를 발견하고, 발견한 비정상 클래스의 트래픽 플로우에 대해서만 병합, 분할 조건 부합 검사를 하여 클래스의 병합 또는 분할 제어를 수행하기 위한, 토큰 버켓을 이용한 트래픽 플로우 제어 방법을 제공하고자 한다.
이를 위해, 본 발명은, 복수의 클래스(즉, 노드)로 분류되어 있고 트리 구조를 이루는 트래픽 플로우와 이 트래픽 플로우의 각 클래스별로 패킷을 처리하기 위해 구비된 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 있어서, 상기 트래픽 플로우의 각 클래스(노드)별 제어 버켓을 감시하는 단계; 상기 제어 버켓에 오버플로우가 발생하였는지 또는 상기 제어 버켓에 토큰이 없어 패킷의 드롭이 발생하였는지를 감시하는 단계; 및 상기 감시 결과, 상기 제어 버켓에 오버플로우가 발생하면 오버플로우된 토큰을 상위 노드의 병합 버켓에 전달하고, 상기 패킷의 드롭이 발생하면 드롭된 패킷을 분할 버켓에 전달하는 단계를 포함한다.
트래픽, 병합, 분할, 버켓, 토큰, 패킷

Description

토큰 버켓을 이용한 트래픽 플로우 제어 방법{Method for controlling traffic flow using token bucket}
도 1은 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법의 개괄적인 동작 흐름도이다.
도 2는 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어를 위한 토큰 버켓 구조도이다.
도 3은 본 발명의 실시예에 따른 트래픽 플로우의 분할 및 병합을 보인 도면이다.
도 4는 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우에 대한 토큰 버켓의 구조도이다.
도 5는 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법에서 토큰 처리 과정을 보인 도면이다.
도 6은 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법에서 패킷 처리 과정을 보인 도면이다.
본 발명은 네트워크(network)에서의 품질(QoS: Quality of Service) 보장 기술에 관한 것으로, 토큰이 쌓이는 토큰 버켓(token bucket)의 오버플로우(overflow) 또는 패킷 드롭(drop)에 대응하는 병합 및 분할 버켓을 감시하여 비정상 트래픽 플로우를 찾고, 상기 병합 및 분할 버켓의 상태에 따라 비정상 클래스를 분할 또는 병합시켜 제어하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 관한 것이다.
네트워크상에는 수많은 패킷(packet)들이 목표로 하는 전송지를 향해 전송되고 있으며, 이러한 전송 과정에는 경로를 지정해주는 라우터(router), 액세스 포인트(access point), 게이트웨이(gateway) 등이 있어 수신되는 패킷을 분석하여 목표로 하는 네트워크 장비 또는 동종 장치에 전송한다.
이때, 패킷은 트래픽(traffic)으로 채널을 통해 전송되고, 이 트래픽의 플로우는 QoS 보장을 위해 제어된다. 여기서, QoS란 주어진 네트워크 자원에 특정 응용프로그램의 수요를 지능적으로 맞추어 주는 것으로서, 대표적으로 큐(Queue) 관리, 트래픽 쉐이핑(shaping), 그리고 혼잡 관리 기술 등이 있다. 이와 같은 QoS 보장 기술은 미리 정해진 분류 규정에 따라 여러 개의 트래픽 클래스(class)로 분류되어 있는 트래픽 플로우를 QoS 보장을 위해 어떠한 방법으로 제어를 수행하여야 할 것인가를 나타내고 있다.
그러나, 상기의 종래 기술은 트래픽 플로우의 클래스가 미리 정해진 트래픽 분류 기준에 따라 분류되어 있어서, 임의의 트래픽 플로우의 클래스가 비정상적으로 발생하면 비정상 트래픽 플로우의 클래스뿐만 아니라 이 클래스와 동일한 트래 픽 플로우로 분류된 정상적인 트래픽 플로우에 대해서도 제어가 수행되어 네트워크 효율이 떨어지는 문제점이 있다.
이러한 문제점을 해결하기 위해서는 모든 트래픽 플로우를 서로 다른 클래스로 분류하여 각각에 대한 제어 메커니즘(mechanism)을 적용하여야 하나, 기술적으로 모든 트래픽 플로우를 분류한다는 것이 불가능하므로 현실적이지 못하다.
본 발명은 상기한 종래의 문제점을 해소하기 위해, 트래픽 플로우의 토큰 버켓의 오버플로우 또는 패킷 드롭을 감시함으로써, 비정상 클래스를 발견하고, 발견한 비정상 클래스의 트래픽 플로우에 대해서만 병합, 분할 조건 부합 검사를 하여 클래스의 병합 또는 분할 제어를 수행하기 위한, 토큰 버켓을 이용한 트래픽 플로우 제어 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명은, 복수의 클래스(즉, 노드)로 분류되어 있고 트리 구조를 이루는 트래픽 플로우와 이 트래픽 플로우의 각 클래스별로 패킷을 처리하기 위해 구비된 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 있어서, 상기 트래픽 플로우의 각 클래스(노드)별 제어 버켓을 감시하는 단계; 상기 제어 버켓에 오버플로우가 발생하였는지 또는 상기 제어 버켓에 토큰이 없어 패킷의 드롭이 발생하였는지를 감시하는 단계; 및 상기 감시 결과, 상기 제어 버켓에 오버플로우가 발생하면 오버플로우된 토큰을 상위 노드의 병합 버켓에 전달하고, 상기 패킷의 드롭이 발생하면 드롭된 패킷을 분할 버켓에 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 상기 상위 노드의 병합 버켓 및 분할 버켓에 오버플로우가 발생하였는지를 판단하는 단계; 및 상기 판단 결과, 상기 상위 노드의 병합 버켓 또는 분할 버켓에 오버플로우가 발생하면, 해당 클래스(노드)의 플로우를 병합 또는 분할하는 단계를 더 포함하는 것을 특징으로 한다.
이하, 첨부한 도면을 참조로 본 발명이 속하는 기술분야에 종사하는 당업자가 용이하게 실시할 수 있는 본 발명의 바람직한 실시예를 설명한다.
도 1은 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법의 개괄적인 동작 흐름도이다. 도 1에 도시되어 있듯이, 본 발명이 적용되는 라우터, 게이트웨이, 액세스 포인트 등과 같은 트래픽 플로우 처리장치에 패킷이 인가되면 패킷의 트래픽 플로우에 의해 처리된다(S10). 이런 상태에서 본 발명은 트래픽 플로우를 감시하기 위해 트래픽 플로우의 각 노드별(즉, 클래스별) 토큰 버켓을 감시하고(S11), 감시결과 토큰 버켓에 오버플로우(overflow) 또는 패킷 드롭이 발생하여 병합조건 또는 분할 조건을 만족하는지를 판단하고(S12, S13), 상기 판단(S12)에서 병합 조건을 만족하면 해당 노드의 하위 노드에 해당하는 플로우를 병합하며(S14), 상기 판단(S13)에서 분할 조건을 만족하면 해당 노드를 분할하여 2개의 하위 노드의 플로우를 형성시킨다(S15). 여기서, 분할되는 하위 노드의 수는 2개에 한정되지 않고, 2개 이상으로 분할될 수 있다.
따라서, 비정상적인 트래픽 플로우가 제어되어 정상적인 트래픽 플로우로서의 기능을 수행한다. 즉, 발생되는 토큰에 비해 처리되는 패킷이 적거나 너무 많은 것을 토큰 도착율(단위 시간당 토큰 버켓에 하나의 토큰이 쌓이는 비율)에 부합되 도록 한다.
이하, 도 2를 참조로 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 적용되는 개념을 설명한다.
우선 도 2 및 본 발명의 전반에서 사용되는 용어를 정의하면, 믹서(S)는 입력되는 패킷을 제어 버켓(Bc)의 토큰에 대응시켜 외부로 전송하는 모듈(프로그램 또는 이 프로그램이 저장된 장치)로 정의하고, 이하의 충만 사이즈(B)는 제어 버켓에 쌓일 수 있는 최대 토큰 수, 병합 사이즈(M)는 병합 버켓(Bm)에 쌓일 수 있는 최대 토큰 수, 분할 사이즈(D)는 분할 버켓(Bd)에 쌓일 수 있는 최대 토큰의 수, 드롭 패킷(Pd)은 처리되지 않은 패킷이라고 정의한다.
도 2는 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어를 위한 토큰 버켓 구조도로서, 하나의 클래스에 대한 버켓 구조도이다. 도 2에 도시되어 있듯이, 본 발명의 토큰 버켓은 트래픽 플로우의 각 노드에 위치한 제어 버켓(Bc), 병합 버켓(Bm), 분할 버켓(Bd)으로 이루어져 있으며, 패킷과 토큰이 도착하는 믹서(S)와 연동하여 패킷을 처리한다.
상기에서 각 버켓(Bc, Bm, Bd)과 믹서(S)는 본 발명의 트래픽 플로우 제어 방법을 수행하는 장치인 트래픽 플로우 제어 장치에 설치된 소프트웨어적 구성이다.
보다 상세히는, 제어 버켓(Bc)은 일정한 토큰 도착율(R)로 도착되는 토큰을 받아들여 충만 사이즈(B)만큼 토큰이 쌓일 수 있고, 믹서(S)에 패킷이 도착하면 패킷 사이즈만큼의 토큰을 소비하여 패킷을 처리한다. 즉, 패킷 사이즈가 5이면 5개의 토큰이 소비되고, 패킷 사이즈가 10이면 10개의 토큰이 소비된다.
이때, 제어 버켓(Bc)은 믹서(S)로 도착하는 패킷의 시간 간격과 토큰 도착율(R)과의 관계에 따라 두 가지의 경우가 발생하게 된다. 첫 번째는 토큰이 제어 버켓(Bc)에 도착하는 시간 간격보다 패킷이 믹서(S)에 도착하는 시간 간격이 긴 경우인데, 이 경우 제어 버켓(Bc)에는 점차적으로 토큰이 쌓이게 되고 결국에는 오버플로우 현상이 발생하게 된다. 그리고, 두 번째는 토큰이 제어 버켓(Bc)에 도착되는 시간 간격보다 패킷이 믹서(S)에 도착하는 시간 간격이 짧은 경우인데, 이 경우 제어 버켓(Bc)에는 토큰이 남아있지 않게 되어 도착하는 패킷을 처리할 수 없게 된다.
한편, 병합 버켓(Bm)은 상기 첫 번째 경우가 발생할 때에 반응하게 되는데, 제어 버켓(Bc)이 오버플로우되면 오버플로우된 토큰을 받는다. 이때 병합 버켓(Bm)은 오버플로우된 토큰을 병합 사이즈(M)만큼 받아들일 수 있다.
분할 버켓(Bd)은 상기 두 번째 경우가 발생할 때에 반응하게 되는데, 패킷이 드롭되면 이때의 패킷을 받아들여 쌓게 된다. 분할 버켓(Bd)은 드롭된 패킷(Pd)을 분할 사이즈(D)만큼 받아들일 수 있다.
한편, 본 발명은 상기의 제어 버켓(Bc), 병합 버켓(Bm)과 분할 버켓(Bd)을 감시하여 트래픽 플로우의 비정상과, 트래픽 플로우의 분할 또는 병합 여부를 감시하게 되는데, 제어 버켓(Bc)에 오버플로우가 발생하거나 토큰이 하나도 없으면 트래픽 플로우의 비정상으로 판단하고, 병합 버켓(Bm) 또는 분할 버켓(Bd)이 가득차면(오버플로우가 발생하면), 병합 또는 분할을 수행하게 된다.
병합 또는 분할의 조건이 만족되어졌을 때 트래픽 플로우가 병합 또는 분할되는 것은 도 3에 도시되어 있다. 도 3은 본 발명의 실시예에 따른 트래픽 플로우의 분할 및 병합을 보인 도면이다.
도 3에 도시되어 있듯이, 본 발명은 전체적인 트래픽 플로우 제어를 트리 구조(tree structure)로 제어한다. 그 과정을 보면 다음과 같다.
단계 0은 제어되지 않은 "1"이라는 트래픽 플로우를 나타내고 있으며, 단계 n은 여러 번의 제어를 통해 "1"이라는 트래픽 플로우가 분할되고 병합되어져 다수의 하위 노드(2, 3, 4, 5, 6, 7, 8)가 생성되어 트리 구조를 이루고 있음을 보여주고 있으며, 현재 노드 7이 분할 조건을 만족하고 있음을 보여주고 있다.
따라서, 단계 n+1에서는 노드 7의 분할 조건에 대응하여 하위 노드 9, 10이 형성되어졌음을 보여주고 있으며, 현재 노드 4가 병합 조건을 만족하고 있음을 보여주고 있다.
단계 n+1의 노드 4가 병합 조건을 만족함에 따라 단계 n+2에서는 노드 4에서 분기된 하위 노드 7, 9, 10에 대한 감시 및 제어 기능이 해제되어 노드 4로 병합되어졌음을 보여주고 있다.
이하, 도 4, 도 5와 도 6을 참조로 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법을 설명한다.
도 4는 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우에 대한 토큰 버켓의 구조도로서 도 3에 도시된 트래픽 플로우의 노드 즉, 클래스를 버켓 구조로 나타낸 것이다.
도 4에 도시된 바와 같이, 클래스는 상위 노드인지 하위 노드인지에 따라 그 트래픽 플로우의 제어가 다르며, 이에 따라 토큰 버켓의 구성이 달라진다. 즉, 상위 노드인 클래스는 분할을 통해 다수의 하위 노드를 가지게 되므로 병합이 제어되고, 그에 따라 제어 버켓(Bc)과 병합 버켓(Bm)으로 토큰 버켓을 이루며, 하위 노드는 자신의 하위 노드를 가지지 않으므로 병합과 더불어 다른 하위 노드로의 분할이 제어되고, 그에 따라 제어 버켓(Bc), 병합 버켓(Bm), 분할 버켓(Bd)으로 토큰 버켓을 이룬다.
여기서, 병합만이 제어되는 상위 노드들을 보면, 각 상위 노드(1, 2, 4)는 믹서(S) 기능을 가지지 않고 그에 따라 패킷 처리를 하지 않음을 알 수 있다. 이는 각 상위 노드(1, 2, 4)들이 분할되면서 믹서(S)의 기능을 하위 노드들에게 분담시키기 때문이다. 따라서, 상위 노드에는 패킷을 처리하지 않으므로, 오버플로우 토큰이 발생하지 않고 하위 노드에서만 오버플로우 토큰이 생기게 된다.
그래서, 본 발명에서 병합은 하위 노드들에서 발생한 오버플로우된 토큰의 수(Nt)가 상위 노드의 병합 버켓 사이즈를 초과할 때, 이루어지게 된다. 일 예로, 상위 노드 2와, 하위 노드5, 6을 보면, 하위 노드 5, 6에서 발생한 오버플로우 토큰 수(Nt5, Nt6)는 상위 노드 2의 오버플로우 토큰의 수(Nt2=Nt5+Nt6)가 되며, Nt2가 노드 2의 병합 버켓(Bm)의 사이즈(M)보다 크거나 같을 때 하위 노드가 상위 노드에 합쳐지는 병합이 이루어진다.
한편, 병합과 분할이 제어되는 하위 노드를 보면, 각 하위 노드(3, 5, 6, 7, 8)들은 패킷 처리와, 분할 및 병합을 위해 도 2에 도시된 구조로 이루어져 있으며, 상위 노드를 대신하여 패킷을 처리하기 위해, 상위 노드의 토큰 도착율보다 작은 토큰 도착율을 가지고 있고, 병합 버켓의 사이즈가 상위 노드의 병합 사이즈보다 작다.
예를 들면, 노드 2의 하위 노드인 5, 6은 각각 토큰 도착율(R5, R6)을 가지고 있는데, 노드 2가 패킷을 처리하였던 량을 분담하고 있으므로 노드 2의 토큰 도착율(R2)을 나누어 가진다. 즉, R2 = R5 + R6과 같다.
이러한 상기 내용에 따르면, 도 4에 도시된 각 노드에서의 토큰 버켓의 구조 및 트래픽 플로우 제어는 다음과 같다.
상위 노드(1)는 이미 다수의 노드(2, 3, 4)로 분할된 상태여서, 더 이상의 분할을 하지 않으므로 단지 병합 여부만이 검사된다.
그리고, 중간 단계 노드(2, 3, 4)에서, 노드 2, 4는 노드 1과 같이 하위 노드를 가지므로 병합 여부만이 검사되고, 노드 3은 하위 노드를 가지지 않으므로 병합과 분할 여부가 검사된다. 최하위 노드(5, 6, 7, 8)는 노드 3과 같이 하위 노드를 가지지 않으므로 병합과 분할 여부가 검사된다.
상기에서, 병합 여부만이 검사되는 노드 1, 2, 4에는 제어 버켓(Bc)과 병합 버켓(Bm)만이 형성되어져 있고, 병합과 분할 여부가 검사되는 노드 3, 5, 6, 7, 8은 도 2와 동일한 구성으로 이루어진다.
여기서, 각 노드에 형성된 제어 버켓(Bc)은 클래스 종류별로 서로 다른 충만 사이즈(B)가 설정되어 있다. 즉, 도 4에 도시된 각 노드는 서로 다른 다수의 클래스로 분류되어 있고, 각 클래스중 동종의 클래스만 동일한 충만 사이즈를 가진다. 그리고, 이에 따라 클래스별로 분할 버켓 또는 병합 버켓의 사이즈 또한 클래스별로 서로 다르다.
이하, 도 5와 도6을 참조로 상기의 내용을 보다 상세히 설명한다.
우선, 도 5를 참조로 토큰 처리 과정(병합 처리 과정이라 할 수 있다)을 도 4의 노드 5, 6에 적용하여 설명한다. 도 5는 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법에서 토큰 처리 과정을 보인 도면이다.
도 5에 도시되어 있듯이, 토큰은 토큰 도착 시간(Ta)(도착 도착율(R)의 역수)이 경과하면 발생 즉, 외부로부터 도착되어진다(S51). 이렇게 도착된 토큰은 제어 버켓(Bc)에 쌓이게 되는데, 제어 버켓(Bc)은 오버플로우가 발생되는지가 검사된다. 이때 검사는 제어 버켓(Bc)에 쌓인 토큰수(nBc)가 설정된 충만 사이즈(B)보다 많거나 같은지를 판단함으로써 이루어진다(S52).
상기 판단(S52)에서, 제어 버켓(Bc)에 오버플로우가 발생되지 않으면 제어 버켓(Bc)은 토큰을 받아 토큰 수(nBc)가 하나 늘어나게 되고(S53), 제어 버켓(Bc)에 오버플로우가 발생되면 발생된 오버플로우 토큰은 상위 노드의 병합 버켓(Bm)에 쌓여 토큰 수(nBm)가 하나 늘게 된다(S54, S55).
상기에서, 병합 버켓(Bm)에 토큰이 전달되어 토큰수(nBm)가 늘어나게 되면, 현재 병합 버켓(Bm)에 쌓여진 토큰수(nBm)가 병합 사이트(M)보다 큰지를 검사하여 오버플로우 여부를 판단하는데(S56), 이 판단(S56)에서 오버플로우가 아니라고 판단되면 트래픽 플로우의 제어를 수행하지 않으며, 오버플로우라고 판단되면 하위 노드를 없앤다. 즉, 하위 노드를 자신의 노드로 병합한다(S57).
이하, 도 6을 참조로 패킷 처리 과정(분할 처리 과정이라 할 수 있다)을 설명한다. 도 6은 본 발명의 실시예에 따른 토큰 버켓을 이용한 트래픽 플로우 제어 방법에서 패킷 처리 과정을 보인 도면이다.
도 6에 도시되어 있듯이, 믹서(S)에 처리되어야할 패킷의 수(Qp)가 남아있거나 패킷이 도착되면(S61), 패킷을 처리하기 위해 제어 버켓(Bc)에 토큰이 있는지를 확인하게 된다(S62). 여기서, 처리되어야 할 패킷의 크기를 L이라 하면, 제어 버켓(Bc)의 토큰의 수(nBc)가 L보다 크거나 같은지를 확인하게 된다.
상기 확인(S62)에서, 제어 버켓(Bc)에 패킷을 처리할 토큰이 있으면 토큰을 소비하여 패킷을 처리한 후(S63), 제어 버켓(Bc)의 토큰 수(nBc)에서 패킷 처리에 소비한 토큰 수만큼(즉, 패킷 크기만큼의 토큰수)을 감소시킨다(S64).
그러나, 상기 확인(S62)에서, 제어 버켓(Bc)에 토큰이 없으면 패킷은 처리되지 못하고 드롭되어 드롭 패킷(Pd)이 된다(S65). 그리고, 드롭된 패킷(Pb)은 분할 버켓(Bd)에 전달되어 쌓이게 되고, 분할 버켓(Bd)의 드롭된 패킷의 량(nBd)을 패킷의 크기(L)만큼 증가시킨다(S66).
이렇게, 드롭 패킷(Pd)이 발생하면, 분할 버켓(Bd)에 오버플로우가 발생하였는지를 검사하게되는데, 이 검사는 분할 버켓(Bd)에 쌓여있는 드롭된 패킷의 량(nBd)이 분할 사이즈(D)보다 큰지를 검사함으로써 이루어진다(S67).
상기 검사(S67)에서, 분할 버켓(Bd)에 오버플로우가 발생하지 않으면 패킷 처리를 위해 과정(S61)로 돌아가고, 오버플로우가 발생하면 오버플로우가 발생한 노드에 2개의 하위 노드를 형성시키는 트래픽 플로우 분할을 수행한다(S68).
따라서, 상기 도 5와 도 6을 참조로 한 설명에 따라 도 3과 같이 트래픽 플로우의 분할 및 병합이라는 제어가 수행된다.
이상과 같이 트래픽 플로우의 노드를 분할 및 병합하는 것은 특정 노드(특정 트래픽 플로우)에 처리할 수 없을 정도의 패킷이 도착하거나 또는, 너무 오랫동안 패킷이 도착하지 않는 상황이 발생하게 되면, 효율적인 트래픽이 이루어지지 않게 되므로, 분할 또는 병합을 통해 이러한 비효율성을 개선하기 위한 것이다.
여기서, 상위 노드를 제외한 각 노드에서의 토큰 도착율의 합은 상위 노드의 토큰 도착율과 같게 설정한다. 즉, 하나의 노드를 2개의 하위 노드로 분할할 때 분할된 2개의 노드에서의 토큰 도착율의 합은 이 하위 노드의 바로 상위 노드에 도착하는 토큰 도착율과 같게 설정한다.
상기 본 발명의 실시예에 따른 설명에서 하나의 노드(node)는 하나의 클래스와 같고, 하나의 클래스의 하위 노드는 하나의 클래스에서 분기된 모든 클래스를 의미한다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
본 발명은 비정상적인 트래픽 플로우에 대하여 트래픽이 혼잡하면 분할 제어 를 수행하고, 트래픽이 한산하면 병합 제어 기능을 수행하여 네트워크의 효율성을 향상시킨다.

Claims (7)

  1. 복수의 클래스(즉, 노드)로 분류되어 있고 트리 구조를 이루는 트래픽 플로우와 이 트래픽 플로우의 각 클래스별로 패킷을 처리하기 위해 구비된 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 있어서,
    상기 트래픽 플로우의 각 클래스(노드)별 제어 버켓을 감시하는 단계;
    상기 제어 버켓에 오버플로우가 발생하였는지 또는 상기 제어 버켓에 토큰이 없어 패킷의 드롭이 발생하였는지를 감시하는 단계; 및
    상기 감시 결과, 상기 제어 버켓에 오버플로우가 발생하면 오버플로우된 토큰을 상위 노드의 병합 버켓에 전달하고, 상기 패킷의 드롭이 발생하면 드롭된 패킷을 분할 버켓에 전달하는 단계
    를 포함하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
  2. 제 1 항에 있어서,
    상기 상위 노드의 병합 버켓 및 분할 버켓에 오버플로우가 발생하였는지를 판단하는 단계; 및
    상기 판단 결과, 상기 상위 노드의 병합 버켓 또는 분할 버켓에 오버플로우가 발생하면, 해당 클래스(노드)의 플로우를 병합 또는 분할하는 단계
    를 더 포함하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
  3. 제 2 항에 있어서,
    상기 제어 버켓, 상기 병합 버켓, 상기 분할 버켓으로 이루어지는 상기 토큰 버켓의 오버플로우를 판단하는 과정은,
    상기 토큰 버켓에 쌓인 토큰의 수가 설정된 토큰 버켓의 사이즈보다 큰 경우에, 오버플로우라고 판단하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
  4. 제 3 항에 있어서,
    상기 토큰 버켓은,
    클래스(노드) 종류별로 사이즈를 달리하여 설정되는 것을 특징으로 하는 트래픽 플로우 제어 방법.
  5. 제 2 항에 있어서,
    상기 해당 클래스(노드)의 플로우를 병합하는 과정은,
    상기 병합 버켓이 오버플로우되면, 오버플로우된 병합 버켓에 해당하는 노드와, 이 노드의 하위 노드를 병합하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
  6. 제 2 항에 있어서,
    상기 해당 클래스(노드)의 플로우를 분할하는 과정은,
    상기 분할 버켓이 오버플로우되면, 오버플로우된 분할 버켓에 해당하는 클래스(노드)에 2개의 하위 노드를 형성하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
  7. 제 2 항에 있어서,
    상기 상위 노드에 도착하는 토큰의 토큰 도착율은,
    상기 상위 노드를 하위 노드로 분할할 때 분할된 하위 노드에서의 토큰 도착율의 합과 같도록 설정하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
KR1020010061182A 2001-10-04 2001-10-04 토큰 버켓을 이용한 트래픽 플로우 제어 방법 KR100800958B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020010061182A KR100800958B1 (ko) 2001-10-04 2001-10-04 토큰 버켓을 이용한 트래픽 플로우 제어 방법
US10/260,765 US20030069970A1 (en) 2001-10-04 2002-09-27 Method for controlling traffic flow using token bucket
CA002405580A CA2405580A1 (en) 2001-10-04 2002-09-27 Method for controlling traffic flow using token bucket

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010061182A KR100800958B1 (ko) 2001-10-04 2001-10-04 토큰 버켓을 이용한 트래픽 플로우 제어 방법

Publications (2)

Publication Number Publication Date
KR20030028893A KR20030028893A (ko) 2003-04-11
KR100800958B1 true KR100800958B1 (ko) 2008-02-04

Family

ID=19714871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010061182A KR100800958B1 (ko) 2001-10-04 2001-10-04 토큰 버켓을 이용한 트래픽 플로우 제어 방법

Country Status (3)

Country Link
US (1) US20030069970A1 (ko)
KR (1) KR100800958B1 (ko)
CA (1) CA2405580A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599287B2 (en) * 2002-11-15 2009-10-06 Cisco Technology, Inc. Tokens in token buckets maintained among primary and secondary storages
US7627675B2 (en) * 2003-05-01 2009-12-01 Cisco Technology, Inc. Methods and devices for regulating traffic on a network
KR100656348B1 (ko) * 2004-12-08 2006-12-11 한국전자통신연구원 토큰 버켓을 이용한 대역폭 제어 방법 및 대역폭 제어 장치
US8250231B2 (en) 2004-12-22 2012-08-21 Marvell International Ltd. Method for reducing buffer capacity in a pipeline processor
SE0403128D0 (sv) * 2004-12-22 2004-12-22 Xelerated Ab A method for a processor, and a processor
US7328145B2 (en) * 2005-04-05 2008-02-05 Cisco Technology, Inc. Method and system for emulation of an internetwork operating system device
KR100688421B1 (ko) * 2005-11-02 2007-03-02 주식회사 인티게이트 패킷-스위치된 통신 네트워크에서의 출구 속도 제어 장치및 제어 방법
US20070174644A1 (en) * 2006-01-04 2007-07-26 Tendril Networks, Inc. Apparatus and Method for Dynamic Tokenization of Wireless Network Datagrams
US7764615B2 (en) * 2006-07-10 2010-07-27 International Business Machines Corporation Distributing rate limits and tracking rate consumption across members of a cluster
CN101828361B (zh) * 2007-10-19 2012-10-10 爱立信电话股份有限公司 用于在通信网络系统中调度数据分组的方法和设备
US20100031324A1 (en) * 2008-03-07 2010-02-04 Strich Ronald F Apparatus and method for dynamic licensing access to wireless network information
US9722813B2 (en) 2008-09-08 2017-08-01 Tendril Networks, Inc. Consumer directed energy management systems and methods
US8977404B2 (en) * 2008-09-08 2015-03-10 Tendril Networks, Inc. Collaborative energy benchmarking systems and methods
US9026261B2 (en) * 2009-06-08 2015-05-05 Tendril Networks, Inc. Methods and systems for managing energy usage in buildings
CN101616441B (zh) * 2009-08-04 2011-09-21 中兴通讯股份有限公司 报文到达时间间隔的计算方法及装置
EP2550775A4 (en) * 2010-03-22 2013-11-06 Freescale Semiconductor Inc APPARATUS FOR MANAGING TOKEN BUCKET AND METHOD FOR MANAGING BUCKET BUCKET
CN102387082B (zh) * 2011-11-25 2014-05-14 西安电子科技大学 基于流分类的分组流量控制系统及控制方法
CN102611924B (zh) * 2012-03-02 2014-09-03 何震宇 一种视频云平台的流量控制方法及系统
CN103378989B (zh) * 2012-04-11 2016-08-17 百度在线网络技术(北京)有限公司 一种获取性能测试数据的方法和装置
US10678279B2 (en) 2012-08-01 2020-06-09 Tendril Oe, Llc Optimization of energy use through model-based simulations
US8913501B2 (en) * 2012-08-16 2014-12-16 International Business Machines Corporation Efficient urgency-aware rate control scheme for multiple bounded flows
US9576472B2 (en) 2013-02-06 2017-02-21 Tendril Networks, Inc. Real-time monitoring and dissemination of energy consumption and production data
US9423779B2 (en) 2013-02-06 2016-08-23 Tendril Networks, Inc. Dynamically adaptive personalized smart energy profiles
US9310815B2 (en) 2013-02-12 2016-04-12 Tendril Networks, Inc. Setpoint adjustment-based duty cycling
CN104113487B (zh) * 2013-04-22 2019-04-23 中兴通讯股份有限公司 流量控制的方法及监控端
US9503623B2 (en) 2014-06-03 2016-11-22 Applied Minds, Llc Color night vision cameras, systems, and methods thereof
EP3436749A4 (en) 2016-04-01 2019-12-11 Tendril Networks, Inc. ORCHESTRATED ENERGY
CN109861920A (zh) * 2019-01-16 2019-06-07 深圳市融汇通金科技有限公司 一种弹性限流的方法及装置
US11243977B2 (en) * 2019-03-01 2022-02-08 Intel Corporation SGX based flow control for distributed ledgers
CN110275780B (zh) * 2019-06-26 2022-08-02 北京百度网讯科技有限公司 用于限制流量的方法和装置
EP4004450A4 (en) 2019-07-24 2023-08-16 Uplight, Inc. ADAPTIVE LEARNING OF THERMAL COMFORT FOR OPTIMIZED HVAC CONTROL
US11533265B2 (en) 2020-07-23 2022-12-20 Vmware, Inc. Alleviating flow congestion at forwarding elements
US11165676B1 (en) * 2020-11-11 2021-11-02 Vmware, Inc. Generating network flow profiles for computing entities
CN114401226B (zh) * 2022-02-21 2024-02-27 李超 一种流媒体数据的路由流量控制方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120969A (ja) * 1992-10-02 1994-04-28 Nec Corp 光加入者システム
KR970056385A (ko) * 1995-12-21 1997-07-31 양승택 에이티엠 적응 계층 타입 5 서비스를 위한 패킷 데이타 분리/재결합 장치 및 그 방법
KR19980041709A (ko) * 1996-04-17 1998-08-17 모리시타요이치 통신 네트워크
KR19980039216A (ko) * 1996-11-27 1998-08-17 양승택 Ieee 1355 패킷 라우팅 서버를 이용한 통신망 연동 장치 및 그 방법
US6185210B1 (en) * 1997-09-30 2001-02-06 Bbn Corporation Virtual circuit management for multi-point delivery in a network system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839321B1 (en) * 2000-07-18 2005-01-04 Alcatel Domain based congestion management
US6829649B1 (en) * 2000-11-10 2004-12-07 International Business Machines Corporation Method an congestion control system to allocate bandwidth of a link to dataflows

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120969A (ja) * 1992-10-02 1994-04-28 Nec Corp 光加入者システム
KR970056385A (ko) * 1995-12-21 1997-07-31 양승택 에이티엠 적응 계층 타입 5 서비스를 위한 패킷 데이타 분리/재결합 장치 및 그 방법
KR19980041709A (ko) * 1996-04-17 1998-08-17 모리시타요이치 통신 네트워크
KR19980039216A (ko) * 1996-11-27 1998-08-17 양승택 Ieee 1355 패킷 라우팅 서버를 이용한 통신망 연동 장치 및 그 방법
US6185210B1 (en) * 1997-09-30 2001-02-06 Bbn Corporation Virtual circuit management for multi-point delivery in a network system

Also Published As

Publication number Publication date
KR20030028893A (ko) 2003-04-11
US20030069970A1 (en) 2003-04-10
CA2405580A1 (en) 2003-04-04

Similar Documents

Publication Publication Date Title
KR100800958B1 (ko) 토큰 버켓을 이용한 트래픽 플로우 제어 방법
US6442139B1 (en) Adaptive rate control based on estimation of message queuing delay
KR100235689B1 (ko) 고속 패킷 스위칭 네트워크내 개선된 동적 대역폭 예측 및 적응 에 관한 방법 및 장치
Yang et al. A taxonomy for congestion control algorithms in packet switching networks
US6928482B1 (en) Method and apparatus for scalable process flow load balancing of a multiplicity of parallel packet processors in a digital communication network
US6744767B1 (en) Method and apparatus for provisioning and monitoring internet protocol quality of service
EP1641232B1 (en) Call admission control in a VoIP network
EP2656551B1 (en) Communications network management
DE602004008267T2 (de) Übertragung von überwachungspaketen zur steuerung von überlastung und verbindungsaufbau in paketbasierten netzen mit begrenzter bandbreite
US6831891B2 (en) System for fabric packet control
US7103046B2 (en) Method and apparatus for intelligent sorting and process determination of data packets destined to a central processing unit of a router or server on a data packet network
EP2469756A1 (en) Communications network management
EP2469758A1 (en) Communications network management
WO2017054566A1 (zh) 一种防止cpu报文拥塞的方法及装置
US7466690B2 (en) Traffic restriction for a network with QoS transmission
US10069748B2 (en) Congestion estimation for multi-priority traffic
US20030067878A1 (en) Method and system for traffic management in packet networks using random early marking
EP1783967A1 (en) Congestion control
US6747953B1 (en) Method and apparatus for congestion control for packet-based networks using call blocking
JPH08504546A (ja) フレーム中継ネットワーク内の渋滞管理方法及びフレーム中継ネットワークのノード
Bowen et al. Bandwidth allocation for non-responsive flows with active queue management
Pillai A distributed overload control algorithm for delay-bounded call setup
US11621922B2 (en) System for network delay guarantee based on flow aggregates and interleaved regulators
Xu Adaptive flow admission control in a software-defined network
Salih et al. Management of Network Congestion using an Explicit Congestion Network (ECN)

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: 20130107

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140106

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee