KR100603584B1 - 라우터 및 이를 이용한 패킷의 큐 관리 방법 - Google Patents

라우터 및 이를 이용한 패킷의 큐 관리 방법 Download PDF

Info

Publication number
KR100603584B1
KR100603584B1 KR1020040093741A KR20040093741A KR100603584B1 KR 100603584 B1 KR100603584 B1 KR 100603584B1 KR 1020040093741 A KR1020040093741 A KR 1020040093741A KR 20040093741 A KR20040093741 A KR 20040093741A KR 100603584 B1 KR100603584 B1 KR 100603584B1
Authority
KR
South Korea
Prior art keywords
packet
storage unit
updating
flow
stored
Prior art date
Application number
KR1020040093741A
Other languages
English (en)
Other versions
KR20060054895A (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 KR1020040093741A priority Critical patent/KR100603584B1/ko
Priority to CNA2005101204098A priority patent/CN1777145A/zh
Priority to US11/271,862 priority patent/US20060104294A1/en
Publication of KR20060054895A publication Critical patent/KR20060054895A/ko
Application granted granted Critical
Publication of KR100603584B1 publication Critical patent/KR100603584B1/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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • 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/15Flow control; Congestion control in relation to multipoint traffic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

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

Abstract

본 발명에 따른 패킷 전송을 위한 큐 관리를 수행하는 라우터는, 소스 디바이스로부터 목적 디바이스로의 전송을 요청하기 위해 입력되는 패킷을 저장하고 출력하는 제1저장부, 상기 제1저장부에 저장된 패킷들에 대한 정보를 저장하는 제2저장부, 상기 제1저장부의 저장 가능 용량 존재 여부에 따라 상기 입력되는 패킷을 상기 제1저장부에 저장할 것인지를 결정하고, 상기 결정 결과에 따라 상기 패킷에 대한 정보를 상기 제2저장부에 업데이트하는 패킷처리 결정부를 포함한다.
패킷, 파셜, 스테이트, 큐, 관리, LRU 알고리즘, 캐시

Description

라우터 및 이를 이용한 패킷의 큐 관리 방법{ROUTER AND METHOD FOR MANAGING QUEUE OF PACKET USING THE SAME}
도 1은 인터넷에서 트래픽들의 불공평성 현상을 설명하기 위한 도면,
도 2는 본 발명의 실시예에 따라 해당 소스 디바이스로부터 입력된 흐름(Flow)에 대한 정보를 가지고 있는 캐시(cache)의 구조를 나타낸 도면,
도 3은 본 발명의 실시예에 따른 LRU-LQD(Least Recently Used - Longest Queue Drop) 큐 관리(queue management)를 위한 라우터의 바람직한 실시예를 도시한 도면,
도 4는 본 발명에 따른 라우터를 이용한 큐 관리 방법의 바람직한 실시예를 도시한 플로우도,
도 5는 도 4의 S160 단계 후에 입력된 패킷의 처리 과정을 도시한 플로우도,
도 6은 도 4의 S220 단계를 보다 상세하게 도시한 플로우도, 그리고
도 7은 본 발명의 실시예에 따른 라우터를 이용한 LRU-LQD 큐 관리 방법에 대한 쉐도우 코드(pseudo code)의 예를 나열한 도면이다.
본 발명은 라우터 및 이를 이용한 패킷의 큐 관리 방법에 관한 것으로서, 보다 상세하게는, 버퍼의 점유를 보다 공평하게 유지하면서 패킷을 전송하는 것을 제어할 수 있는 라우터 및 이를 이용한 패킷의 큐 관리 방법에 관한 것이다.
일반적으로, 인터넷(Internet)에서는 다양한 크기와 전송속도를 갖는 이질적인 트래픽(traffic)들이 흐르고 있다. 이러한 인터넷 속에서 트래픽들의 흐름에 따라 발생할 수 있는 문제점들을 최소화하기 위해 큐 관리(queue management) 및 스케쥴링(scheduling) 기법이 사용된다.
이러한 문제점들 중 한 예로 트래픽들에 대한 불공평성을 들 수 있다. 상기 불공평성이란, 소수의 특정 트래픽들이 공평성을 무시한 채 라우터(router)의 버퍼 용량(buffer capacity)의 많은 부분을 차지하는 현상을 말한다.
도 1은 인터넷에서 트래픽들의 불공평성 현상을 설명하기 위한 도면이다.
도시된 바와 같이, 도 1은 라우터(30)와 라우터(40) 사이에는 링크 대역폭(link bandwidth)이 10Mbps인 네트워크를 도시하고 있다.
도 1은 TCP(Transmission Control Protocol) 및 UDP(User Datagram Protocol)를 각각 이용하는 어플리케이션(application)A,B(10,20)가 라우터(30)의 버퍼에 대해 레이스 컨디션(race condition) 상태에 있을 때, 결국 UDP를 이용하는 어플리케이션B(20)가 라우터(30)의 버퍼 용량 대부분을 차지하게 된다.
즉, UDP를 이용하는 어플리케이션 B(20)가 10Mbps 이상의 패킷(packet)을 B 를 위한 싱크(Sink)(60)로 전송한다면, 시간이 지날수록 거의 모든 링크 대역폭을 UDP를 이용하는 어플리케이션 B(20)가 차지하게 된다. 따라서 TCP를 이용하는 어플리케이션 A(10)는 패킷을 A를 위한 싱크(Sink)(50)로 전송하고 싶어도 전송할 대역폭이 없어서 전송할 수 없는 불공평성이 나타나게 된다.
이러한 문제점을 보완하기 위한 큐 관리 및 스케쥴링 기법들이 제안되고 잇다.
그 중에 한 예가 드롭 테일 큐 관리(Drop Tail queue management) 기반의 피포 스케쥴링(FIFO scheduling)이 있다. 이는 간단한 패킷 포워딩(packet forwarding)은 패킷 처리의 오버헤드(overhead)를 최소화 하면서 또한 구현이 용이하다는 장점이 있다. 그러나 이와 같은 드롭 테일 방식의 피포 스케쥴링은 최대 노력 서비스(best effort service)만 지원할 뿐이다. 즉, 이 방식의 경우 QoS(Quality of Service)에 대한 어떤 보장도 없으며 또한 많은 트래픽을 생성하는 몇몇 흐름(flow)들에 의해서 라우터의 버퍼를 잠식당할 수 있는 구조적 단점을 가지고 있다.
이러한 드롭 테일 방식의 피포 스케쥴링의 단점을 개선하기 위해 다양한 큐 관리 알고리즘(queue management algorithm)과 패킷 스케쥴링 메카니즘(packet scheduling mechanism)이 제안되어 왔다. 이들 중 IntServ 모델은 최선 노력 서비스(Best Effort Services) 외에 새로운 서비스 그룹(service class)을 추가한다. 이러한 서비스를 추가하기위하여 라우터는 흐름(flow)에 대하여 요구된 서비스 품질을 보장하는 데 필요한 자원을 확보하여야 한다. 확보된 자원은 대역폭, 메모리 (Memory) 등을 포함한다. 이러한 자원 확보를 위해 RSVP와 같은 프로토콜이 사용된다.
그러나 IntServ 모델은 서비스에 따른 자원을 미리 확보하고 모든 흐름에 대한 정보를 유지하기 때문에, 확장성이 부족하고 많은 리소스(resource)가 요구되는 문제점이 있다.
이러한 IntServ 모델의 문제를 해결하기 위하여 도입된 것이 DiffServ 모델이다. DiffServ 모델에서는 다양한 흐름이 몇몇의 서비스 그룹(service class)으로 분류되며 중간 라우터에서는 이러한 서비스 그룹 별로 처리한다. Diffserv 모델에서는 모든 라우터에 대하여 흐름 상태 관리 및 시그널링을 요구하지 않는다. Diffserv 모델은 패킷(packet)의 헤더(header) 부분에 특정 비트를 이용하여 요구하는 서비스 그룹을 명시하게 한다. 이러한 방법은 모든 트래픽을 요구하는 QoS에 따라 나누고 이에 따라 해당 트래픽을 집합(Aggregation)함으로써 스케쥴링 문제를 해결한 것이다.
IntServ 모델과 DiffServ 모델의 중간적인 모델로써 제안되는 방법이 파셜 상태(partial state)를 이용한 RED (LRU-RED)와 FQ(LRU-FQ)이다. 파셜 상태는 IntServ 모델과는 달리 라우터가 모든 흐름에 대하여 정보를 유지하는 것이 아니라, 한정된 메모리를 사용하여 특정 흐름에 대한 정보만 저장하는 것을 말한다. 이들 흐름의 정보를 위한 메모리의 관리는 LRU (Least Recently Used) 알고리즘에 따른다.
상대적으로 오랜 시간에 걸쳐서 자주 패킷을 보낸 흐름일수록 LRU 알고리즘 의 특성에 의해 메모리 속에 흐름의 정보가 보관될 확률이 높다. 여기서 메모리 속에 저장된 흐름들은 그렇지 않은 흐름에 비해 상대적으로 많은 패킷들을 보내는 즉, 공평성을 위반하는 흐름으로 정의한다.
라우터로 입력되는 패킷은 라우터에 의해 분석되어 상기 패킷이 메모리에 포함되어 있는 흐름에 해당될 때 정해진 규제를 받게 된다. 이때 LRU-RED의 경우 메모리에 저장된 플로우에 대해서 드롭(drop) 확률이 높은 RED 알고리즘이 적용된다. 그리고 LRU-FQ의 경우 두 개의 큐를 이용하여 메모리에 저장된 흐름을 위한 큐와 그렇지 않은 큐에 패킷을 저장한 후 동등한 스케쥴링을 통하여 불공평성을 억제한다.
그런데, IntServ 모델은 각 라우터에서 흐름에 대한 상태 정보를 기억하도록 요구되어 진다. 이는 라우터에서 많은 저장 공간을 요구하게 되고 흐름이 많을 때 처리속도에도 큰 영향을 미치게 된다. 또한 연결 관리와 승인/허락(permission) 등과 같이 제어와 관련된 기능 처리를 위한 오버헤드(overhead)도 크다. 마지막으로 모든 중간 라우터는 IntServ 모델을 지원해야 하기 때문에 확장성이 떨어지는 문제점이 있다.
한편, DiffServ 모델에서 사용되는 트래픽 집합(Traffic Aggregation) 모델은 예측성이 떨어진다. 따라서 DiffServ 모델에서 특정한 수준의 서비스를 보장하는 것은 매우 어려운 일이다. 이에 따라 Diffserv 모델에서는 어떤 수준의 서비스를 보장하기 보다는 각각의 집합(Aggregation)에 대한 규칙에 근거하여 상대적으로 서비스가 제공되도록 한다. 즉 어떤 집합은 다른 집합보다 더 데이터를 잘 받거나 못 받도록 하는 것이다.
LRU-RED의 경우 RED 큐 관리(queue management) 자체의 취약점을 그대로 가지고 있다. 이에 따라 LRU-RED는 전체 버퍼 이용률이 떨어지게 되며 확률에 근거로 한 규제이기 때문에 확실한 규제 정책을 세우기가 어려운 문제점이 있다.
LRU-FQ의 경우 패킷의 레코딩의 문제를 유발하며 적은 량의 패킷을 교환하는 많은 흐름들이 있는 네트워크의 경우 공평성의 문제가 발생할 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 파셜 스테이트(Partial state)를 이용하여 특정 흐름(flow)들이 라우터의 버퍼를 모두 점유하지 않고 버퍼에 대한 공평성을 유지할 수 있는 라우터 및 이를 이용한 큐 관리(queue management) 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 파셜 스테이트 기법을 이용하여 사용 저장 공간의 요구 조건을 완화할 수 있는 라우터 및 이를 이용한 큐 관리 방법을 제공하는 데 있다.
상기와 같은 목적은 본 발명에 따라, 패킷 전송을 위한 큐 관리를 수행하는 라우터에 있어서, 소스 디바이스로부터 목적 디바이스로의 전송을 요청하기 위해 입력되는 패킷을 저장하고 출력하는 제1저장부, 상기 제1저장부에 저장된 패킷들에 대한 정보를 저장하는 제2저장부, 상기 제1저장부의 저장 가능 용량 존재 여부에 따라 상기 입력되는 패킷을 상기 제1저장부에 저장할 것인지를 결정하고, 상기 결정 결과에 따라 상기 패킷에 대한 정보를 상기 제2저장부에 업데이트하는 패킷처리 결정부를 포함하는 라우터에 의해 달성된다.
바람직하게는, 상기 제2저장부는, 상기 패킷의 전송을 요청한 소스 디바이스에 대한 정보인 흐름 아이디(Flow ID: F), 동일 소스 디바이스에 대한 전송 요청 횟수를 나타내는 히트 카운트(Hit Count: H), 및 상기 제1저장부에 저장되어 있는 상기 패킷의 저장 위치 정보(p_pos_queue: P)를 포함한다.
상기 패킷처리 결정부는, 상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 작은 경우, 상기 입력된 패킷을 드롭시키고 상기 드롭시킨 패킷에 대한 흐름 아이디를 LRU(Least Recently Used) 알고리즘에 따라 업데이트한다.
상기 패킷처리 결정부는, 상기 제1저장부의 상기 패킷을 저장할 공간이 존재하면, 상기 입력된 패킷을 상기 제1저장부에 저장하고 상기 패킷에 대한 흐름 아이디를 포함하는 정보를 LRU(Least Recently Used) 알고리즘에 따라 업데이트한다.
상기 패킷처리 결정부는, 상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 큰 경우, 상기 제2저장부로부터 상기 히트 카운트가 가장 큰 상기 흐름 아이디의 패킷을 상기 제1저장부로부터 검출하여 드롭시키고, 상기 입력된 패킷을 상기 제1저장부의 빈 공간에 저장하며, 상기 저장한 패킷에 대한 정보를 상기 제2저장부에 업데이트한다.
상기 패킷처리 결정부는, 상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있고 히트 카운트가 최대이면, LRU(Least Recently Used) 알고리즘에 따라 업데이트한다.
상기 패킷처리 결정부는, 상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있고 히트 카운트가 최대가 아니면, 상기 제2저장부에 저장된 히트 카운트의 최대값을 '1' 감소시키고 상기 입력된 패킷에 대한 히트 카운트를 '1' 증가시키며 LRU(Least Recently Used) 알고리즘에 따라 업데이트한다.
상기 패킷처리 결정부는, 상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있지 않고 업데이트할 수 있는 공간이 존재하면, 상기 입력된 패킷에 대한 해당 엔트리를 상기 제2저장부에 저장한다.
상기 패킷처리 결정부는, 상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있지 않고 업데이트할 수 있는 공간이 존재하지 않으면, LRU(Least Recently Used) 알고리즘에 따라 가장 최근에 사용하지 않은 엔트리를 삭제하고 삭제된 공간에 상기 입력된 패킷에 대한 해당 엔트리를 업데이트한다.
한편, 상기와 같은 목적은 본 발명의 실시예에 따라, 라우터를 이용한 패킷의 전송을 위한 큐 관리 방법에 있어서, 소스 디바이스로부터 전송을 요청하는 패킷을 수신하는 단계, 상기 패킷을 저장하기 위한 제1저장부에 저장 가능한 공간이 존재하는 지를 판단하는 단계, 상기 제1저장부에 저장 공간이 없으면, 상기 소스 디바이스에 대한 상기 패킷의 전송 중복 횟수와 설정된 임계치의 비교 결과에 따라 상기 패킷의 저장 및 드롭(drop) 여부를 결정하는 단계, 및 상기 결정 결과에 따라 처리된 상기 패킷에 대한 정보를 상기 패킷에 대한 정보를 저장하고 있는 제2저장부에 업데이트하는 단계를 포함하는 큐 관리 방법에 의해 달성된다.
바람직하게는, 상기 업데이트 단계는, 상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 작은 경우, 상기 입력된 패킷을 드롭시키고 상기 드롭시킨 패킷에 대한 흐름 아이디를 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 단계를 포함한다.
상기 업데이트 단계는, 상기 제1저장부의 상기 패킷을 저장할 공간이 존재하면, 상기 입력된 패킷을 상기 제1저장부에 저장하고 상기 패킷에 대한 흐름 아이디를 포함하는 정보를 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 단계를 포함한다.
상기 업데이트 단계는, 상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 큰 경우, 상기 제2저장부로부터 상기 히트 카운트가 가장 큰 상기 흐름 아이디의 패킷을 상기 제1저장부로부터 검출하여 드롭시키고, 상기 입력된 패킷을 상기 제1저장부의 빈 공간에 저장하며, 상기 저장한 패킷에 대한 정보를 상기 제2저장부에 업데이트하는 단계를 포함한다.
본 발명에 따르면, 본 발명에 따르면, 파셜 스테이트(Partial state) 기법을 이용하여 저장 공간의 요구조건을 완화하고 이를 바탕으로 임계치 값을 통해 정해진 수준까지 버퍼 점유에 대한 불공평성을 제어함으로써, 패킷에 대한 버퍼 점유를 보다 공평하게 제어할 수 있다. 또한, 버퍼에 저장 공간이 없을 경우 해당 패킷에 대한 큐 관리를 수행함으로써, 버퍼의 이용률을 최대한 높일 수 있다. 뿐만 아니 라, 임계치 값에 따라 버퍼 사용 규제를 조절함으로써, 버퍼 관리의 정책을 필요에 따라 변경하기가 용이하다.
이하, 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명은 모든 흐름들의 정보를 유지하지 않고 특정 제한된 정보만을 사용하는 파셜 스테이트(Partial state)를 이용하여 트래픽들 간의 라우터의 버퍼 사용에 대한 공평성을 유지할 수 있는 LRU-LQD(Least Recently Used - Longest Queue Drop) 큐 관리(queue management) 방법을 제안 및 개시한다.
도 2는 본 발명의 실시예에 따라 해당 소스 디바이스로부터 입력된 흐름(Flow)에 대한 정보를 가지고 있는 캐시(cache)의 구조를 나타낸 도면이다.
도시된 바와 같이, 캐시(100)의 구조는, 해당 패킷의 전송을 요청한 소스 디바이스에 대한 정보인 흐름 아이디(Flow ID: F)(120), 동일 소스 디바이스에 대한 전송 요청 횟수를 나타내는 히트 카운트(Hit Count: H)(140), 및 큐(queue)에 저장되어 있는 해당 패킷의 저장 위치 정보(p_pos_queue: P)(160)를 포함한다. 여기서 히트(hit)란 패킷이 라우터에 입력될 때 입력된 패킷을 전송한 소스 디바이스가 캐시(100)에 설정된 흐름 아이디(F)(120)와 매칭(matching)되는 상태를 말한다. 즉, 히트 카운트(H)(140)는 동일 소스 디바이스로부터 전송 요청되는 패킷의 입력 횟수라고 할 수 있다.
도 3은 본 발명의 실시예에 따른 LRU-LQD(Least Recently Used - Longest Queue Drop) 큐 관리(queue management)를 위한 라우터의 바람직한 실시예를 도시한 도면이다.
도시된 바와 같이, 라우터는, 패킷 처리 결정부(100), 큐(Queue)(200), 캐시(cache)(300), 및 선입선출부(400)를 갖는다.
패킷 처리 결정부(100)는 큐(200)의 버퍼 저장 수용 가능 여부에 따라 입력되는 패킷을 큐(200)에 저장할 것인지 드롭(drop)할 것인지의 여부를 결정한다.
큐(200)는 패킷 처리 결정부(100)로부터 출력되는 패킷을 버퍼에 저장하고 출력한다. 이때 큐(200)는 입력되는 패킷을 버퍼에 저장한 후, 출력 가능 여부에 따라 저장한 패킷을 순차적으로 선입선출부(400)로 출력한다. 여기서 큐(200)는 논리적으로 패킷의 전송을 요청한 소스 디바이스들 각각에 대응하여 저장 가능한 버퍼(210,230,250)가 마련되나, 물리적으로는 하나의 버퍼로 간주된다.
캐시(300)는 패킷처리부(100)의 제어에 따라 큐(200)에 저장되는 패킷에 대한 정보를 각각 저장한다. 캐시(300)는 큐(200)에 마련된 각 버퍼들(210,230,250)에 각각 저장되는 패킷에 대한 정보(310,330,350)를 각각 패킷 별로 저장한다. 예를 들어, 캐시(300)는 패킷 처리 결정부(100)의 제어에 따라, 큐(200)의 제1버퍼(210)에 저장되는 패킷에 대해, 흐름 아이디정보(F)(312), 히트 카운트정보(H)(314), 및 패킷 저장 위치정보(P)(316)를 저장한다.
선입선출부(400)는 큐(200)의 각 버퍼들(210,230,250,270)로부터 출력되는 패킷들을 선입 선출 방식에 따라 출력한다. 이때 출력되는 패킷들은 전송 라인을 통해 목적지 디바이스들로 각각 전송된다.
한편, 패킷 처리 결정부(100)는 입력되는 패킷에 대한 드롭 또는 저장 여부를 판단할 때, 큐(200)의 저장 가능 공간의 유무, 및 캐시(300)에 저장된 각 패킷에 대한 히트 카운트정보(H)의 합과 설정된 임계치(Threshold)의 크기 비교 결과에 따라 결정한다.
즉, 패킷 처리 결정부(100)는 패킷이 입력될 때, 라우터의 큐(200)에 마련된 버퍼의 저장 가능 공간이 없고 캐시(300)의 히트 카운트(H)의 합이 설정된 임계치 보다 작으면, 입력된 패킷을 드롭시키고 드롭한 패킷에 대한 흐름 아이디(F)를 LRU(Least Recently Used) 알고리즘에 따라 캐시(300)에 업데이트한다. 이 경우는 패킷에 대한 버퍼 점유에 대한 불공평성이 사용자가 설정해 놓은 범위를 넘어 서지 않는 상태를 말한다.
라우터의 큐(200)에 마련된 버퍼의 저장 가능 공간이 없고 캐시(300)의 히트 카운트(H)의 합이 설정된 임계치 보다 크면, 캐시(300)로부터 큐(200)의 버퍼에 저장되어 있는 패킷들 중 히트 카운트(H)가 가장 큰 흐름 아이디(F)를 갖는 패킷을 버퍼로부터 검출하여 드롭시키고 현재 입력된 패킷을 큐(200)의 버퍼에 저장한다. 만약, 현재 입력된 패킷에 대응하는 캐시(300)에 저장된 히트 카운트가 가장 큰 값이면, 상기 절차를 수행하지 않고 패킷 처리 결정부(100)에 의해 드롭된다.
이에 따른 캐시(300)의 변화는 아래와 같이 세 가지 경우로 나누어 진다.
첫 번째 경우는 입력된 패킷의 흐름 아이디가 캐시(300)에 존재하며 히트 카운트가 가장 큰 경우이다. 이 때에는 LRU 알고리즘에 따라 캐시(300)에 패킷에 대 한 정보를ㄹ 업데이트하는 과정만 수행된다.
두 번째 경우는 입력된 패킷의 흐름 아이디가 캐시(300)에 존재하지만 히트 카운트가 가장 큰 경우가 아닐 경우이다. 이 경우는 캐시(300) 내에서 히트 카운트가 가장 큰 값의 히트 카운트를 '1' 감소하고 해당 패킷의 흐름 아이디에 대응하는 히트 카운트를 '1' 증가시킨다. 그 후 LRU 알고리즘에 따라 캐시(300)에 업데이트된다.
세 번째의 경우는 입력된 패킷에 대한 해당 흐름 아이디가 캐시(300) 내에 존재하지 않는 경우이다. 이때 패킷 처리 결정부(100)는 캐시(300)에 패킷에 대한 정보의 저장 가능한 공간이 존재 하는지를 판단한다. 저장 가능한 공간이 존재 하는 경우, 패킷 처리 결정부(3100)는 해당 엔트리(entry)를 캐시(300)에 저장한다. 만약 캐시(300)에 저장 공간이 없으면, 패킷 처리 결정부(100)는 LRU 알고리즘에 따라 가장 최근에 사용되지 않은 엔트리를 삭제한 후 현재 입력된 패킷에 대한 정보를 저장한다.
도 4는 본 발명에 따른 라우터를 이용한 큐 관리 방법의 바람직한 실시예를 도시한 플로우도이다.
먼저, 패킷 처리 결정부(100)는 소스 디바이스로부터 패킷을 수신하면(S110), 큐(200)에 마련된 버퍼에 저장 가능한 빈 공간이 존재 하는지를 판단한다(S120). 패킷을 저장할 공간이 있는 것으로 판단되면, 패킷 처리 결정부(100)는 패킷을 큐(200)의 버퍼(270)에 저장한다(S210). 패킷 처리 결정부(100)는 버퍼(270)에 저장한 패킷의 흐름 아이디를 비롯한 패킷 관련 정보를 캐시(300)에 업데 이트한다(S220).
한편, S120 단계에서 큐(200)에 패킷을 저장한 공간이 없는 것으로 판단되면, 패킷 처리 결정부(100)는 캐시(300)의 히트 카운트(H)의 합이 임계치보다 큰 지를 비교 판단한다(S130). 히트 카운트의 합이 임계치보다 작은 것으로 판단되면, 패킷 처리 결정부(100)는 입력된 패킷을 드롭시키고(S140) 패킷의 흐름 아이디를 비롯한 관련 정보를 캐시(300)에 업데이트한다(S150).
한편, S130 단계에서 히트 카운트의 합이 임계치보다 큰 것으로 판단되면, 패킷 처리 결정부(100)는 캐시(300)로부터 히트 카운트가 가장 큰 흐름 아이디를 검출한다(S160). 패킷 처리 결정부(100)는 검출한 흐름 아이디에 대응하여 저장된 패킷을 큐(200)의 버퍼로부터 검출하여 드롭시킨다(S1740). 이때 패킷 처리 결정부(100)는 현재 입력된 패킷을 드롭된 큐(200)의 버퍼에 저장시킨다(S180). 또한 패킷 처리 결정부(100)는 패킷의 흐름 아이디를 포함하는 정보를 캐시(300)에 업데이트한다(S190).
도 5는 도 4의 S160 단계 후에 입력된 패킷의 처리 과정을 도시한 플로우도이다.
먼저, 패킷 처리 결정부(100)는 현재 입력된 패킷의 히트 카운트가 가장 큰 흐름 아이디의 패킷인지를 판별한다(S310). 현재 입력된 패킷에 대응하는 히트 카운트가 가장 큰 흐름 아이디에 대응하는 것이 아닌 것으로 판단되면, 도 4의 S170 단계를 수행한다.
현재 입력된 패킷에 대응하는 히트 카운트가 가장 큰 흐름 아이디에 대응하 는 것이면, 패킷 처리 결정부(100)는 현재 입력된 패킷을 드롭시킨다(S320). 패킷 처리 결정부(100)는 현재 드롭시킨 패킷에 대응하는 흐름 아이디가 캐시에 존재하는 지를 판단한다(S330).
현재 패킷의 흐름 아이디가 캐시에 존재하는 것으로 판단되면, 패킷 처리 결정부(100)는 히트 카운트가 캐시(300)에 등록된 히트 카운트 중 최대인지를 판단한다(S340). 히트 카운트가 최대가 아닌 것으로 판단되면, 패킷 처리 결정부(100)는 최대 히트 카운트 값을 '1' 감소시킨다(S350). 그리고 패킷 처리 결정부(100)는 현재 입력된 패킷에 대응하는 해당 흐름 아이디의 히트 카운트를 '1' 증가시킨다(S360). 이때 패킷 처리 결정부(100)는 LRU 알고리즘에 따라 흐름 아이디를 업데이트한다(S360).
S340 단계에서 히트 카운트가 최대인 것으로 판단되면, 패킷 처리 결정부(100)는 LRU 알고리즘에 따라 흐름 아이디를 포함하는 패킷 관련 정보를 캐시(300)에 업데이트한다(S380).
한편, S330 단계에서 현재 흐름 아이디가 캐시에 존재하지 않는 것으로 판단되면, 패킷 처리 결정부(100)는 현재 입력된 패킷에 대한 정보를 캐시(300)에 업데이트할 수 있는 공간이 존재하는 지를 판단한다(S410). 패킷 정보를 업데이트할 공간이 존재하는 것으로 판단되면, 패킷 처리 결정부(100)는 패킷에 대한 해당 엔트리를 캐시(300)에 저장한다(S420).
S410 단계에서 패킷 정보를 업데이트할 공간이 존재하지 않는 것으로 판단되면, 패킷 처리 결정부(100)는 LRU 알고리즘에 따라 가장 최근에 사용하지 않은 엔 트리를 캐시(300)로부터 삭제한다(S430). 이때 패킷 처리 결정부(100)는 캐시(300)의 삭제된 공간에 패킷에 대한 해당 엔트리를 저장한다(S440).
도 6은 도 4의 S220 단계를 보다 상세하게 도시한 플로우도이다.
먼저, 패킷 처리 결정부(100)는 입력된 패킷의 흐름 아이디가 캐시(300)에 존재하는 지를 판단한다(S221). 흐름 아이디가 캐시(300)에 존재하는 것으로 판단되면, 패킷 처리 결정부(100)는 입력된 패킷에 대응하여 캐시(300)에 등록된 히트 카운트를 '1' 증가 시킨다(S222). 이때 패킷 처리 결정부(100)는 LRU 알고리즘에 따라 패킷의 흐름 아이디를 캐시(300)에 업데이트한다(S223).
한편, S221 단계에서 입력된 패킷의 흐름 아이디가 캐시(300)에 존재하지 않는 것으로 판단되면, 패킷 처리 결정부(100)는 패킷에 대한 정보를 캐시(300)에 업데이트 가능한 공간이 존재하는지를 판단한다(S224). 패킷에 대한 정보를 업데이트할 수 있는 공간이 캐시(300)에 존재하는 것으로 판단되면, 패킷 처리 결정부(100)는 입력된 패킷에 대한 해당 엔트리를 캐시(300)에 저장한다(S225).
S224 단계에서 패킷에 대한 정보를 업데이트할 수 있는 공간이 캐시(300)에 존재하지 않는 것으로 판단되면, 패킷 처리 결정부(100)는 LRU 알고리즘에 따라 가장 최근에 사용하지 않은 엔트리를 캐시(300)로부터 삭제한다(S226). 이때 패킷 처리 결정부(100)는 삭제한 캐시(300)의 빈 공간에 입력된 패킷에 대한 해당 엔트리를 저장한다(S227).
도 7은 본 발명의 실시예에 따른 라우터를 이용한 LRU-LQD 큐 관리 방법에 대한 쉐도우 코드(pseudo code)의 예를 나열한 도면이다.
여기서 "Threshold"(임계치)와 "enter probability"(엔트리 프로바빌리티)는 관리자가 설정하는 인자값들이다. "Threshold"값이 커지면 캐시(300)에 저장된 흐름들에 대한 규제를 완화하게 됨을 뜻한다. "Enter probability"값이 커지면 캐시(300)에 저장될 수 있는 흐름들에 대한 조건을 완화하게 됨을 뜻한다. 도시된 쉐도우 코드에는 캐시(300)에 정보를 저장 또는 업데이트하는 과정, 및 큐 관리(queue management)하는 과정을 포함한다.
이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
본 발명에 따르면, 파셜 스테이트(Partial state) 기법을 이용하여 저장 공간의 요구조건을 완화하고 이를 바탕으로 임계치 값을 통해 정해진 수준까지 버퍼 점유에 대한 불공평성을 제어함으로써, 패킷에 대한 버퍼 점유를 보다 공평하게 제어할 수 있다.
또한, 버퍼에 저장 공간이 없을 경우 해당 패킷에 대한 큐 관리를 수행함으로써, 버퍼의 이용률을 최대한 높일 수 있다.
뿐만 아니라, 임계치 값에 따라 버퍼 사용 규제를 조절함으로써, 버퍼 관리의 정책을 필요에 따라 변경하기가 용이하다.

Claims (18)

  1. 패킷 전송을 위한 큐 관리를 수행하는 라우터에 있어서,
    소스 디바이스로부터 목적 디바이스로의 전송을 요청하기 위해 입력되는 패킷을 저장하고 출력하는 제1저장부;
    상기 제1저장부에 저장된 패킷들에 대한 정보를 저장하는 제2저장부;
    상기 제1저장부의 저장 가능 용량 존재 여부와 상기 소스 디바이스로부터 전송 요청되는 패킷의 입력 횟수와 설정된 임계치의 비교 결과에 따라 상기 입력되는 패킷을 상기 제1저장부에 저장할 것인지를 결정하고, 상기 결정 결과에 따라 상기 패킷에 대한 정보를 상기 제2저장부에 업데이트하는 패킷처리 결정부를 포함하는 것을 특징으로 하는 라우터.
  2. 제 1항에 있어서,
    상기 제2저장부는,
    상기 패킷의 전송을 요청한 소스 디바이스에 대한 정보인 흐름 아이디(Flow ID: F);
    동일 소스 디바이스에 대한 전송 요청 횟수를 나타내는 히트 카운트(Hit Count: H); 및
    상기 제1저장부에 저장되어 있는 상기 패킷의 저장 위치 정보(p_pos_queue: P)를 포함하는 것을 특징으로 하는 라우터.
  3. 제 2항에 있어서,
    상기 패킷처리 결정부는,
    상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 작은 경우,
    상기 입력된 패킷을 드롭시키고 상기 드롭시킨 패킷에 대한 흐름 아이디를 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 것을 특징으로 하는 라우터.
  4. 제 2항에 있어서,
    상기 패킷처리 결정부는,
    상기 제1저장부의 상기 패킷을 저장할 공간이 존재하면, 상기 입력된 패킷을 상기 제1저장부에 저장하고 상기 패킷에 대한 흐름 아이디를 포함하는 정보를 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 것을 특징으로 하는 라우터.
  5. 제 2항에 있어서,
    상기 패킷처리 결정부는,
    상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 큰 경우,
    상기 제2저장부로부터 상기 히트 카운트가 가장 큰 상기 흐름 아이디의 패킷을 상기 제1저장부로부터 검출하여 드롭시키고, 상기 입력된 패킷을 상기 제1저장부의 빈 공간에 저장하며, 상기 저장한 패킷에 대한 정보를 상기 제2저장부에 업데이트하는 것을 특징으로 하는 라우터.
  6. 제 5항에 있어서,
    상기 패킷처리 결정부는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있고 히트 카운트가 최대이면, LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 것을 특징으로 하는 라우터.
  7. 제 6항에 있어서,
    상기 패킷처리 결정부는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있고 히트 카운트가 최대가 아니면, 상기 제2저장부에 저장된 히트 카운트의 최대값을 '1' 감소 시키고 상기 입력된 패킷에 대한 히트 카운트를 '1' 증가시키며 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 것을 특징으로 하는 라우터.
  8. 제 7항에 있어서,
    상기 패킷처리 결정부는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있지 않고 업데이트할 수 있는 공간이 존재하면, 상기 입력된 패킷에 대한 해당 엔트리를 상기 제2저장부에 저장하는 것을 특징으로 하는 라우터.
  9. 제 8항에 있어서,
    상기 패킷처리 결정부는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있지 않고 업데이트할 수 있는 공간이 존재하지 않으면, LRU(Least Recently Used) 알고리즘에 따라 가장 최근에 사용하지 않은 엔트리를 삭제하고 삭제된 공간에 상기 입력된 패킷에 대한 해당 엔트리를 업데이트하는 것을 특징으로 하는 라우터.
  10. 라우터를 이용한 패킷의 전송을 위한 큐 관리 방법에 있어서,
    소스 디바이스로부터 전송을 요청하는 패킷을 수신하는 단계;
    상기 패킷을 저장하기 위한 제1저장부에 저장 가능한 공간이 존재하는 지를 판단하는 단계;
    상기 제1저장부에 저장 공간이 없으면, 상기 소스 디바이스에 대한 상기 패킷의 전송 중복 횟수와 설정된 임계치의 비교 결과에 따라 상기 패킷의 저장 및 드롭(drop) 여부를 결정하는 단계; 및
    상기 결정 결과에 따라 처리된 상기 패킷에 대한 정보를 상기 패킷에 대한 정보를 저장하고 있는 제2저장부에 업데이트하는 단계를 포함하는 것을 특징으로 하는 큐 관리 방법.
  11. 제 10항에 있어서,
    상기 제2저장부에 저장되는 상기 패킷에 대한 정보는, 상기 패킷의 전송을 요청한 소스 디바이스에 대한 정보인 흐름 아이디(Flow ID: F), 동일 소스 디바이스에 대한 전송 요청 횟수를 나타내는 히트 카운트(Hit Count: H), 및 상기 제1저장부에 저장되어 있는 상기 패킷의 저장 위치 정보(p_pos_queue: P)를 포함하는 것을 특징으로 하는 큐 관리 방법.
  12. 제 11항에 있어서,
    상기 업데이트 단계는,
    상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 작은 경우,
    상기 입력된 패킷을 드롭시키고 상기 드롭시킨 패킷에 대한 흐름 아이디를 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 단계를 포함하는 것을 특징으로 하는 큐 관리 방법.
  13. 제 11항에 있어서,
    상기 업데이트 단계는,
    상기 제1저장부의 상기 패킷을 저장할 공간이 존재하면, 상기 입력된 패킷을 상기 제1저장부에 저장하고 상기 패킷에 대한 흐름 아이디를 포함하는 정보를 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 단계를 포함하는 것을 특징으로 하는 큐 관리 방법.
  14. 제 11항에 있어서,
    상기 업데이트 단계는,
    상기 제1저장부의 저장 공간이 없고 상기 히트 카운트의 합이 설정된 임계치보다 큰 경우,
    상기 제2저장부로부터 상기 히트 카운트가 가장 큰 상기 흐름 아이디의 패킷을 상기 제1저장부로부터 검출하여 드롭시키고, 상기 입력된 패킷을 상기 제1저장부의 빈 공간에 저장하며, 상기 저장한 패킷에 대한 정보를 상기 제2저장부에 업데이트하는 단계를 포함하는 것을 특징으로 하는 큐 관리 방법.
  15. 제 14항에 있어서,
    상기 업데이트 단계는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있고 히트 카운트가 최대이면, LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 큐 관리 방법.
  16. 제 15항에 있어서,
    상기 업데이트 단계는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있고 히트 카운트가 최대가 아니면, 상기 제2저장부에 저장된 히트 카운트의 최대값을 '1' 감소시키고 상기 입력된 패킷에 대한 히트 카운트를 '1' 증가시키며 LRU(Least Recently Used) 알고리즘에 따라 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 큐 관리 방법.
  17. 제 16항에 있어서,
    상기 업데이트 단계는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있지 않고 업데이트할 수 있는 공간이 존재하면, 상기 입력된 패킷에 대한 해당 엔트리를 상기 제2저장부에 저장하는 단계를 더 포함하는 것을 특징으로 하는 큐 관리 방법.
  18. 제 17항에 있어서,
    상기 업데이트 단계는,
    상기 입력된 패킷의 흐름 아이디가 상기 제2저장부에 저장되어 있지 않고 업데이트할 수 있는 공간이 존재하지 않으면, LRU(Least Recently Used) 알고리즘에 따라 가장 최근에 사용하지 않은 엔트리를 삭제하고 삭제된 공간에 상기 입력된 패킷에 대한 해당 엔트리를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 큐 관리 방법.
KR1020040093741A 2004-11-16 2004-11-16 라우터 및 이를 이용한 패킷의 큐 관리 방법 KR100603584B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040093741A KR100603584B1 (ko) 2004-11-16 2004-11-16 라우터 및 이를 이용한 패킷의 큐 관리 방법
CNA2005101204098A CN1777145A (zh) 2004-11-16 2005-11-10 路由器及使用其管理分组队列的方法
US11/271,862 US20060104294A1 (en) 2004-11-16 2005-11-14 Router and method of managing packet queue using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040093741A KR100603584B1 (ko) 2004-11-16 2004-11-16 라우터 및 이를 이용한 패킷의 큐 관리 방법

Publications (2)

Publication Number Publication Date
KR20060054895A KR20060054895A (ko) 2006-05-23
KR100603584B1 true KR100603584B1 (ko) 2006-07-24

Family

ID=36386193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040093741A KR100603584B1 (ko) 2004-11-16 2004-11-16 라우터 및 이를 이용한 패킷의 큐 관리 방법

Country Status (3)

Country Link
US (1) US20060104294A1 (ko)
KR (1) KR100603584B1 (ko)
CN (1) CN1777145A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094193B (zh) * 2006-06-23 2010-04-14 阿里巴巴集团控股有限公司 一种对多种来源的多类投递请求进行处理的方法和***
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
KR101421240B1 (ko) * 2007-03-02 2014-07-18 삼성전자주식회사 라우터 및 그 라우터에서 큐 처리방법
US20080288518A1 (en) * 2007-05-15 2008-11-20 Motorola, Inc. Content data block processing
US8874809B2 (en) * 2009-12-04 2014-10-28 Napatech A/S Assembly and a method of receiving and storing data while saving bandwidth by controlling updating of fill levels of queues
US20110184687A1 (en) * 2010-01-25 2011-07-28 Advantest Corporation Test apparatus and test method
CN112152939B (zh) * 2020-09-24 2022-05-17 宁波大学 一种抑制非响应流和服务区分的双队列缓存管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980080307A (ko) * 1997-03-21 1998-11-25 김영환 로그인 서비스 변수를 보관하는 방법
KR20000026836A (ko) * 1998-10-23 2000-05-15 서평원 라우터의 큐우 관리 방법
JP2002344500A (ja) * 2001-05-16 2002-11-29 Nec Corp ノード装置
KR20050099883A (ko) * 2004-04-12 2005-10-17 이승룡 네트워크 혼잡 적응 버퍼링 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556578B1 (en) * 1999-04-14 2003-04-29 Lucent Technologies Inc. Early fair drop buffer management method
US6772221B1 (en) * 2000-02-17 2004-08-03 International Business Machines Corporation Dynamically configuring and 5 monitoring hosts connected in a computing network having a gateway device
US20030193894A1 (en) * 2002-04-12 2003-10-16 Tucker S. Paul Method and apparatus for early zero-credit determination in an infiniband system
KR100429904B1 (ko) * 2002-05-18 2004-05-03 한국전자통신연구원 차등화된 QoS 서비스를 제공하는 라우터 및 그것의고속 IP 패킷 분류 방법
JP2004140539A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd 情報ルーティング方式および情報中継装置
US7369500B1 (en) * 2003-06-30 2008-05-06 Juniper Networks, Inc. Dynamic queue threshold extensions to random early detection
US20050002354A1 (en) * 2003-07-02 2005-01-06 Kelly Thomas J. Systems and methods for providing network communications between work machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980080307A (ko) * 1997-03-21 1998-11-25 김영환 로그인 서비스 변수를 보관하는 방법
KR20000026836A (ko) * 1998-10-23 2000-05-15 서평원 라우터의 큐우 관리 방법
JP2002344500A (ja) * 2001-05-16 2002-11-29 Nec Corp ノード装置
KR20050099883A (ko) * 2004-04-12 2005-10-17 이승룡 네트워크 혼잡 적응 버퍼링 방법

Also Published As

Publication number Publication date
KR20060054895A (ko) 2006-05-23
CN1777145A (zh) 2006-05-24
US20060104294A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
US9112786B2 (en) Systems and methods for selectively performing explicit congestion notification
US7558197B1 (en) Dequeuing and congestion control systems and methods
US8248930B2 (en) Method and apparatus for a network queuing engine and congestion management gateway
US9106577B2 (en) Systems and methods for dropping data using a drop profile
US7447152B2 (en) Controlling traffic congestion
US10193831B2 (en) Device and method for packet processing with memories having different latencies
US20200236052A1 (en) Improving end-to-end congestion reaction using adaptive routing and congestion-hint based throttling for ip-routed datacenter networks
US6765905B2 (en) Method for reducing packet data delay variation in an internet protocol network
TWI477127B (zh) 用於排程封包傳輸的電腦實施方法、機器可讀媒體和客戶端裝置
US8078763B1 (en) Dequeuing and congestion control systems and methods for single stream multicast
US8072998B2 (en) Systems and methods for congestion control using random early drop at head of buffer
KR100501717B1 (ko) Udp/tcp/ip 네트워크에서 버퍼관리를 기반으로 한음성 및 데이터 통합 전송방법
US10050896B2 (en) Management of an over-subscribed shared buffer
US7324442B1 (en) Active queue management toward fair bandwidth allocation
US20080298397A1 (en) Communication fabric bandwidth management
US20060104294A1 (en) Router and method of managing packet queue using the same
CN114079638A (zh) 多协议混合网络的数据传输方法、装置和存储介质
US7245626B1 (en) Systems and methods for permitting queues to oversubscribe
CN111131061B (zh) 一种数据传输方法及网络设备
WO2020029779A1 (zh) 确定报文出队的速率的方法及装置
US7512132B2 (en) Quality of service (QoS) class reordering
JP7251060B2 (ja) 情報処理装置、情報処理システム及び情報処理プログラム
Fu A study on differentiated service queuing scheme with an overflow buffer allocation within a UMTS core network

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee