KR100800958B1 - 토큰 버켓을 이용한 트래픽 플로우 제어 방법 - Google Patents
토큰 버켓을 이용한 트래픽 플로우 제어 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Abstract
본 발명은 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 관한 것으로, 트래픽 플로우의 토큰 버켓의 오버플로우 또는 패킷 드롭을 감시함으로써, 비정상 클래스를 발견하고, 발견한 비정상 클래스의 트래픽 플로우에 대해서만 병합, 분할 조건 부합 검사를 하여 클래스의 병합 또는 분할 제어를 수행하기 위한, 토큰 버켓을 이용한 트래픽 플로우 제어 방법을 제공하고자 한다.
이를 위해, 본 발명은, 복수의 클래스(즉, 노드)로 분류되어 있고 트리 구조를 이루는 트래픽 플로우와 이 트래픽 플로우의 각 클래스별로 패킷을 처리하기 위해 구비된 토큰 버켓을 이용한 트래픽 플로우 제어 방법에 있어서, 상기 트래픽 플로우의 각 클래스(노드)별 제어 버켓을 감시하는 단계; 상기 제어 버켓에 오버플로우가 발생하였는지 또는 상기 제어 버켓에 토큰이 없어 패킷의 드롭이 발생하였는지를 감시하는 단계; 및 상기 감시 결과, 상기 제어 버켓에 오버플로우가 발생하면 오버플로우된 토큰을 상위 노드의 병합 버켓에 전달하고, 상기 패킷의 드롭이 발생하면 드롭된 패킷을 분할 버켓에 전달하는 단계를 포함한다.
트래픽, 병합, 분할, 버켓, 토큰, 패킷
Description
도 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 항에 있어서,상기 제어 버켓, 상기 병합 버켓, 상기 분할 버켓으로 이루어지는 상기 토큰 버켓의 오버플로우를 판단하는 과정은,상기 토큰 버켓에 쌓인 토큰의 수가 설정된 토큰 버켓의 사이즈보다 큰 경우에, 오버플로우라고 판단하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
- 제 3 항에 있어서,상기 토큰 버켓은,클래스(노드) 종류별로 사이즈를 달리하여 설정되는 것을 특징으로 하는 트래픽 플로우 제어 방법.
- 제 2 항에 있어서,상기 해당 클래스(노드)의 플로우를 병합하는 과정은,상기 병합 버켓이 오버플로우되면, 오버플로우된 병합 버켓에 해당하는 노드와, 이 노드의 하위 노드를 병합하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
- 제 2 항에 있어서,상기 해당 클래스(노드)의 플로우를 분할하는 과정은,상기 분할 버켓이 오버플로우되면, 오버플로우된 분할 버켓에 해당하는 클래스(노드)에 2개의 하위 노드를 형성하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
- 제 2 항에 있어서,상기 상위 노드에 도착하는 토큰의 토큰 도착율은,상기 상위 노드를 하위 노드로 분할할 때 분할된 하위 노드에서의 토큰 도착율의 합과 같도록 설정하는 것을 특징으로 하는 토큰 버켓을 이용한 트래픽 플로우 제어 방법.
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)
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)
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)
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 |
-
2001
- 2001-10-04 KR KR1020010061182A patent/KR100800958B1/ko not_active IP Right Cessation
-
2002
- 2002-09-27 CA CA002405580A patent/CA2405580A1/en not_active Abandoned
- 2002-09-27 US US10/260,765 patent/US20030069970A1/en not_active Abandoned
Patent Citations (5)
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 |