KR20050027908A - 통신망의 정체현상 관리시스템 - Google Patents

통신망의 정체현상 관리시스템 Download PDF

Info

Publication number
KR20050027908A
KR20050027908A KR1020040033712A KR20040033712A KR20050027908A KR 20050027908 A KR20050027908 A KR 20050027908A KR 1020040033712 A KR1020040033712 A KR 1020040033712A KR 20040033712 A KR20040033712 A KR 20040033712A KR 20050027908 A KR20050027908 A KR 20050027908A
Authority
KR
South Korea
Prior art keywords
protocol
unit
data
protocol data
congestion
Prior art date
Application number
KR1020040033712A
Other languages
English (en)
Other versions
KR100621288B1 (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 아바야 테크놀러지 코퍼레이션
Publication of KR20050027908A publication Critical patent/KR20050027908A/ko
Application granted granted Critical
Publication of KR100621288B1 publication Critical patent/KR100621288B1/ko

Links

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

Abstract

본 발명은 정체노드에서의 정체 가능성을 완화하는 기술이다. 본 발명의 실시예들에 따르면, 하나의 노드(프록시 노드)가 프로토콜 데이타 유니트들을 드롭하여 정체노드에서의 정체가능성을 완화시킨다. 본 발명의 어떤 실시예들에서, 프록시 노드는 정체노드의 대기열 메트릭을 수신하고, 이 메트릭을 기초로 정체노드로 가는 도중에 프로토콜 데이타 유니트들을 드롭할지 여부를 결정한다. 본 발명의 다른 실시예들에서는, 프록시노드가 정체노드의 대기열 메트릭을 평가하고, 이 메트릭을 기초로 정체노드로 가는 도중에 프로토콜 데이타 유니트들을 드롭할지를 결정한다.

Description

통신망의 정체현상 관리시스템{CONGESTION MANAGEMENT IN TELECOMMUNICATIONS NETWORKS}
본 발명은 통신장치에 관한 것으로, 구체적으로는 통신망의 정체현상 관리시스템에 관한 것이다.
저장 후 전송 방식(store-and-forward)의 통신망에서, 각각의 네트웍 노드는 포토코콜 데이타 유니트들이 최종 목적지에 도달할 때까지 버킷 브리게이드(bucket-brigade) 방식으로 다음 노드에 프로토콜 데이타 유니트를 보낸다. 네트웍 노드는 여러가지 명칭(예; "스위치", "라우터", "액세스 포인트" 등)을 갖고 여러 기능을 수행할 수 있지만, 항상 하나의 입력링크를 통해 프로토콜 데이타 유니트를 수신하고 하나 이상의 출력링크를 통해 이 유니트를 전송하는 성능을 갖는다. 도 1은 종래의 통상적인 네트웍 노드의 구성을 보여주는 블록도이다.
본 명세서에서 편의상 "프로토콜 데이타 유니트"란 구성요소인 엔티티에 의해 교환되는 데이타를 의미한다. 일반적으로, 프로토콜 데이타 유니트는 멀티레이어 통신 프로토콜의 한 레이어에 존재하고 하나 이상의 네트웍 노드들을 통해 교환된다. "프레임", "패킷", "데이타그램"은 전형적인 프로토콜 데이타 유니트이다.
경우에 따라, 프로토콜 데이타 유니트는 처리된 다음 출력링크를 통해 전송되기까지 네트웍 노드에서 비교적 짧은 시간을 소비할 수 있지만, 다른 경우, 프로토콜 데이타 유니트는 긴 시간을 소비할 수도 있다.
프로토콜 데이타 유니트가 네트웍 노드에서 긴 시간을 소비하는 한가지 이유는, 프로토콜 데이타 유니트가 송신할 출력링크를 일시적으로 이용할 수 없기 때문이다. 프로토콜 데이타 유니트가 네트웍 노드에서 오랜 시간을 소비하는 다른 이유는, 많은 수의 프로토콜 데이타 유니트가 노드가 처리하고 출력할 수 있는 용량보다 빨리 노드에 도달하기 때문이다.
이런 상황에서, 네트웍 노드는 통상 프로토콜 데이타 유니트를 저장하거나 "대기"했다가 전송한다. 때로는, 프로토콜 데이타 유니트들이 "입력 대기열"에 저장되고, 어떤 때에는 프로토콜 데이타 유니트들이 "출력 대기열"에 저장된다. 프로토콜 데이타 유니트들이 처리용량보다 빨리 네트웍 노드에 (단기간에) 도달할 때는 입력대기열을 채택할 수 있다. 프로토콜 데이타 유니트들이 출력링크를 통해 전송될 수 있는 것보다 빨리 (단기간에) 도달하고 처리될 때는 출력대기열을 채택할 수 있다.
대기열은 용량이 한정되어 있으므로, 프로토콜 데이타 유니트로 채워질 수 있다. 대기열이 가득 찼을 때 대기열에 프로토콜 데이타 유니트를 추가하면, 대기열이 "오버플로"되어, 결과적으로 새로 도착한 프로토콜 데이타 유니트들이 폐기되거나 "드롭"된다. 드롭된 프로토콜 유니트들은 영구적으로 손실되고 네트웍 노드를 나갈 수 없다.
프로토콜 데이타 유니트들을 드롭시키는 대기열을 갖는 네트웍 노드를 "정체"되었다고 한다. 설명의 편의상, "정체노드"는 프로토콜 데이타 유니트들을 드롭할 가능성이 있는 네트웍 노드(예; 스위치, 라우터, 액세스포인트 등)라 한다.
프로토콜 데이타 유니트가 손실되면 프로토콜 데이타 유니트의 최종 사용자에게 부정적인 영향을 주지만, 어떤 프로토콜 데이타 유니트는 손실되어도 다른 프로토콜 데이타 유니트만큼 악영향을 주지는 않는다. 즉, 어떤 프로토콜 데이타 유니트들은 손실되었을 경우 다른 프로토콜 데이타 유니트보다 더 해롭다.
노드가 정체되거나 정체될 것 같으면, 손실되어도 괜찮을 것 같은 프로토콜 데이타 유니트들을 의도적으로 미리 드롭시키는 것이 현명할 수 있다. 이를 위해, 노드는 다음과 같은 확인 알고리즘을 채택한다:
(1) 어떤 플로토콜 데이타 유니트를 드롭할지,
(2) 몇개의 프로토콜 데이타 유니트를 드롭할지,
(3) 언제 드롭할지를 확인하여
(a) 통신에 미치는 피해를 줄이고
(b) 정체노드의 정체 가능성을 낮춘다.
정체노드의 정체를 줄이기 위한 알고리즘의 일례로는 REA(Random Early Detection) 알고리즘이 잘 알려져 있는데, 이것은 RED(Random Early Discard) 알고리즘으로도 알려져 있다.
그러나, 어떤 레가시 노드(legacy node)는 프로토콜 데이타 유니트를 의도적으로 드롭하지 않도록 설계되었고, 이런 노드는 기술적으로나 경제적으로 기능을 추가하도록 개장하기가 곤란하다. 또, Random Early Discard나 Random Early Detection과 같은 알고리즘을 실행하는데 필요한 컴퓨팅 마력을 갖는 노드를 구성하는데는 상당히 비용이 많이 든다.
따라서, 종래 기술의 문제점과 비용의 추가 없이 네트웍 노드의 정체현상을 완화시키는 새로운 기술에 대한 필요성이 대두되었다.
본 발명은 종래 기술의 문제점과 비용 추가 없이 정체노드의 정체 가능성을 완화하는 기술이다. 본 발명의 실시예들에 따르면, 하나의 노드(프록시 노드)가 프로토콜 데이타 유니트들을 드롭하여 정체노드에서의 정체가능성을 완화시킨다.
본 발명의 실시예들은 레가시 노드에서의 정체 가능성을 완화시키므로 유용하다. 또, 이들 실시예들은 프록시 노드들이 RED와 같은 폐기 알고리즘을 실행하는데 필요한 마력 없이도 경량 노드들을 구성할 수 있기 때문에 새로운 "경량" 노드들을 구비한다는 점에서 아주 유용하다.
본 발명의 어떤 실시예들에서, 프록시 노드는 정체노드의 대기열 메트릭을 수신하고, 이 메트릭을 기초로 정체노드로 가는 도중에 프로토콜 데이타 유니트들을 드롭할지 여부를 결정한다.
본 발명의 다른 실시예들에서는, 프록시노드가 정체노드의 대기열 메트릭을 평가하고, 이 메트릭을 기초로 정체노드로 가는 도중에 프로토콜 데이타 유니트들을 드롭할지를 결정한다.
메트릭 외에도, 드롭 결정된 프로토콜 데이타 유니트는 또한 RED와 같은 대기열 관리기술의 기초로 될 수 있으므로, RED (또는 다른 대기열 관리기술)이 정체노드에서 실행되지 않는다 해도 이 기술의 장점을 취할 수 있다.
이들 실시예에서, 대기열 관리는 프록시 베이스로 이루어지는바, 즉 자신이 반드시 정체된다고 할 수는 없어도 정체될 가능 성이 있는 다른 네트웍 노드를 대신하는 하나의 네트웍 노드에서 이루어진다.
본 발명의 일 실시예에 따르면, 제1 정체노드의 대기열 메트릭을 프로토콜-데이타-유니트 엑사이저에서 수신하고; 제1 정체노드의 대기열 메트릭을 기초로 제1 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트를 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭한다.
도 2는 본 발명의 제1 실시예의 블록도로서, 스위치/프로토콜-데이타-유니트 엑사이저(200; excisor)를 구비한다. 스위치/프로토콜-데이타-유니트 엑사이저(200)는 T개의 입력단(201-1~201-T), M개의 출력단(202-1~202-M), P개의 입력단(203-1~203-P), 및 N개의 정체노드(204-1~204-N)를 포함하고, 여기서, M, N, P, T는 각각 양의 정수이다.
스위치/프로토콜-데이타-유니트 엑사이저(200)는 두가지 주요 기능을 갖는다. 첫째, 프로토콜 데이타 유니트를 입력단(20-1~203-P) 각각으로부터 하나 이상의 출력단(202-1~202-M)으로 스위칭하고, 둘째, 하나 이상의 정체 노드(204-1~204-N)의 정체현상을 개선하도록 프로토콜 데이타 유니트를 선택적으로 드롭한다. 요컨대, 어떤 프로토콜 데이타 유니트들은 스위치와 프로토콜-데이타-유니트 엑사이저(200)에 들어가기는 해도 나가지는 않는다.
본 발명의 제1 실시예에 따르면 기계적으로 설치된 하나의 노드에 의해 두가지 기능이 실행된다. 그러나, 당업자라면 알 수 있듯이, 본 명세서를 읽은 뒤, 기계적으로 설치된 여러개의 노드로 두가지 기능을 수행하는 것도 본 발명의 범위에 있다.
입력단(201-1~201-T) 각각은 프로토콜 데이타 유니트가 스위치/프로코콜-데이타-유니트 엑사이저(200)로 흐르는 논리적이거나 물리적인 링크를 나타낸다.
입력단(201-1~201-T) 각각으로 표시되는 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 경우에 따라 이런 링크는 별개의 물리적 링크로 실현될 수 있다. 다르게는 이런 링크가 다중화 라인의 논리채널로 실현될 수도 있다. 당업자라면 본 명세서를 읽은 뒤 입력단(201-1~201-T)으로 표현된 링크를 구현하는 방법을 알 수 있을 것이다.
출력단(202-1~202-M) 각각은 프로토콜 데이타 유니트들이 스위치/프로토콜-데이타-유니트 엑사이저(200)로부터 정체노드를 향해 흐르는 논리적이거나 물리적인 링크를 나타낸다. 본 발명의 제1 실시예에서, 스위치/프로토콜-데이타-유니트 엑사이저(200)는 이곳에 연결된 정체노드보다는 덜 정체된다.
각각의 입력단(202-1~202-M)으로 표시되는 각각의 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 본 발명에 따르면, 이런 링크는 별도의 물리적 링크로서 실현될 수 있지만, 멀티플렉스 라인상의 논리채널로 실현될 수도 있다. 당업자라면 본 명세서를 읽고나서 입력단(202-1~202-M)으로 표시된 링크를 구현하는 방법을 알 수 있을 것이다.
입력단(203-1~203-P) 각각은 논리적이거나 물리적인 링크를 나타내고, 이들 링크를 통해 정체노드의 하나 이상의 대기열 메트릭이 스위치/프로토콜-데이타-유니트 엑사이저(200)에 도달한다.
입력단(203-1~203-P) 각각으로 표시된 각각의 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 본 발명의 어떤 경우에는 이런 링크가 별도의 물리적 링크로 구현되고, 다른 경우에는 멀티플렉스 라인상의 논리채널로 구현되고나, 메트릭을 반송하는 데이터그램이 향하는 인터넷 프로토콜 어드레스로 구현된다. 당업자라면 본 명세서를 읽고나서 입력단(203-1~203-P)으로 표시된 링크를 구현하는 방법을 알 수 있을 것이다.
대기열 메트릭은 대기열의 상태에 관한 정보를 나타낸다. 본 발명의 어떤 경우, 메트릭은 한 순간의 대기열의 상태(예; 대기열의 현재 길이, 대기열내의 프로토콜 데이타 유니트의 최대 체류시간 등)를 표시할 수 있다. 다른 경우, 메트릭은 일정 시간 동안의 대기열의 상태(예; 평균 대기열 길이, 대기열내의 프로토콜 데이타의 평균 체류시간 등)를 표시할 수 있다. 당업자라면, 이런저런 대기열 메트릭을 공식화하는 방법을 알 수 있을 것이다.
정체노드(204-1~204-N) 각각은 스위치/프로토콜-데이타-유니트 엑사이저(200)로부터의 하나 이상의 프로토콜 데이타를 저장하고 스위치/프로토콜-데이타-유니트 엑사이저(200)로 돌아가는 메트릭을 생성하는 대기열(도시 안됨)을 포함하는 네트웍 노드를 나타낸다. 당업자라면 정체노드(204-1~204-N) 각각을 구성하고 이용하는 방법을 알 수 있을 것이다.
전술한 실시예에 의하면, M=N=P이다. 그러나, 당업자라면 본 명세서를 읽고 다음과 같이 본 발명의 실시예들을 구성하고 사용하는 방법을 알 수 있을 것인바:
i. M ≠N (예컨대 하나 이상의 정체노드가 출력단(202-1~202-M)중 하나 이상을 받기 때문), 또는
ii. M ≠P (예컨대, 하나 이상의 출력단(202-1~202-M)이 하나 이상의 대기열을 공급하기 때문), 또는
iii. N ≠P (예컨대, 하나 이상의 정체노드가 하나 이상의 메트릭을 생성하기 때문), 또는
iv. i, ii, iii의 조합.
정체노드에서 정체가 일어나는 것을 완화하기 위해, 스위치/프로토콜-데이타-유니트 엑사이저(200)는 정체노드의 대기열까지 가는 도중에 프로토콜 데이타 유니트들을 선택적으로 드롭시킨다. 본 발명의 첫번째 실시예에서, 스위치/프로토콜-데이타-유니트 엑사이저(200)는 입력단(203-i)에서 수신된 메트릭을 RED(Random Early Detection) 인자로 이용해 RED를 실행하여 정체노드의 대기열(210-i)로 가는 도중에 프로토콜 데이타를 드롭할지 여부를 결정한다.
도 3은 스위치/프로토콜-데이타-유니트 엑사이저(200)의 주요 구성의 블록도이다. 스위치/프로토콜-데이타-유니트 엑사이저(200)의 요소로는, 스위칭 패브릭(switching fabric)(301), 프로토콜-데이타-유니트 엑사이저(302), 링크(303-1~303-M), 입력단(201-1~201-T), 출력단(202-1~202-M) 및 입력단(203-1~203-P)이 있고, 이들은 도면과 같이 연결된다.
스위칭 패브릭(301)은 입력단(201-1~201-T) 각각에서 프로토콜 데이타 유니트들을 받고, 이들을 공지된 방식으로 링크들(303-1~303-M)중의 하나 또는 그이상에 스위칭한다. 당업자라면 스위칭 패브릭(301)을 구성하고 이용하는 방법을 알 수 있을 것이다.
각각의 링크들(303-1~303-M)을 통해 스위칭 패브릭(301)에서 프로토콜-데이타-유니트 엑사이저(302)까지 프로토콜 데이타 유니트들이 이동한다. 각각의 링크들(303-1~303-M)은 여러가지 방식으로, 예컨대 시분할 버스와 같은 다중화매체의 별도의 물리적채널이나 논리적채널과 같은 방식으로 구현될 수 있다. 본 발명의 제1 실시예에서, 링크들(303-1~303-M)은 출력단들(202-1~202-M)에 각각 대응하므로, 링크(303-m)를 통해 프로토콜-데이타-유니트 엑사이저(302)에 도달한 프로토콜 데이타 유니트는 엑사이저(302)내에 갇히지 않는한 출력단(202-m)을 통해 프로토콜-데이타-유니트 엑사이저(302)를 나간다.
도 3에서, 스위칭 패브릭(301)과 프로토콜-데이타-유니트 엑사이저(302)는 별개의 요소로 도시되어 있지만, 당업자라면 본 명세서를 읽은 뒤 본 발명의 범위내에서 두개의 요소들을 하나로 조립할 수도 있을 것이다.
또, 스위칭 패브릭(301)과 프로토콜-데이타-유니트 엑사이저(302)가 도 3에는 하나의 통합 하우징 안에 있는 것으로 도시되어 있지만, 당업자라면 본 명세서를 읽은 뒤 스위칭 패브릭(301)과 프로토콜-데이타-유니트 엑사이저(302)를 아마도 각각 다른 기업체에서 제조하고 별도로 판매하는 본 발명의 실시예들을 구성하고 이용하는 방법도 알 수 있을 것이다.
도 4는 본 발명의 제1 실시예에 따른 프로토콜-데이타-유니트 엑사이저(302)의 주요 구성의 블록도이다. 프로토콜-데이타-유니트 엑사이저(302)는 도면과 같이 서로 연결된 프로세서(401), 송신기(402-1~402-M), 수신기(403-1~403-P)를 포함한다.
프로세서(401)는 도 5, 6을 참조해 후술하는 기능들을 실행할 수 있는 범용 프로세서이지만, 경우에 따라, 특수한 목적의 프로세서일 수도 있다. 어느 경우에도, 당업자라면 본 명세서를 읽은 뒤 프로세서(401)를 어떻게 구성하고 사용하는지 알 수 있을 것이다.
송신기(402-m)는 프로세서(401)에서 프로토콜 데이타 유니트를 받아, 출력단(202-m)의 물리적/논리적 프로토콜에 따라 공지의 방식으로 출력단(202-m)에서 프로토콜 데이타 유니트를 송신한다.
수신기(403-p)는 공지된 방식으로 입력단(203-p)에서 정체노드의 대기열 메트릭을 수신하고, 이 메트릭을 프로세서(401)로 보낸다. 당업자라면 수신기(403-1~403-P)를 어떻게 구성하고 사용할지 알 수 있을 것이다.
도 5는 본 발명의 제1 실시예에 따라 프로토콜-데이타-유니트 엑사이저(200)에 의해 실행된 주요 태스크의 순서도이다. 태스크(501,502)는 연속으로 동시에 비동기적으로 진행된다. 당업자라면 본 명세서를 읽고, 본 발명의 범위내에서 태스크(501,502)가 연속으로 동시에 비동기적으로 동작하지 않는 실시예를 구성하고 사용하는 방법도 알 수 있을 것이다.
태스크(501)에서, 프로토콜-데이타-유니트 엑사이저(302)는 출력단(202-1~202-M) 각각과 관련된 대기열을 위한 하나 이상의 메트릭을 주기적으로나 우발적으로 받는다.
태스크(502)에서, 프로토콜-데이타-유니트 엑사이저(302)는 출력단(202-1~202-M) 각각으로 가는 도중에 프로토콜 데이타 유니트를 드롭할 지 여부를 주기적으로나 우발적으로 결정한다.
도 6은 도 5에 도시된 태스크(502)를 포함한 주요 하위 태스크들의 순서도이다.
하위 태스크(601)에서, 프로토콜-데이타-유니트 엑사이저(302)는 링크(303-m)를 통해 프로토콜 데이타 유니트를 받고, 이 링크는 출력단(202-m)까지 이어진다.
하위 태스크(602)에서, 프로토콜-데이타-유니트 엑사이저(302)는 하위 태스크(601)에서 받은 프로토콜 데이타 유니트를 드롭할 지 또는 출력단(202-m)으로 보낼지를 결정한다. 예시된 실시예에 따르면, 이 결정은 적어도 태스크(501)에서 수신된 메트릭과 공지의 RED 알고리즘에 기초한다.
이 메트릭을 통해 프로토콜-데이타-유니트 엑사이저(302)는 출력단(202-m)을 통해 이송된 대기열의 상태를 평가할 수 있고, RED 알고리즘을 통해 프로토콜-데이타-유니트 엑사이저(200)는 어느 프로토콜 데이타 유니트를 드롭할지 선택할 수 있다. 프로토콜 데이타 유니트의 손실은 프로토콜 데이타 유니트의 최종 사용자에게 부정적인 영향을 주지만, 하나의 프로토콜 데이타 유니트를 손실한다고 해도 다른 모든 프로토콜 데이타 유니트와 같은 정도의 영향을 주지 않는다. 즉, 어떤 프로토콜 데이타 유니트의 손실은 다른 프로토콜 데이타 유니트의 손실보다 더 해롭다.
당업자라면 알 수 있듯이, RED 알고리즘은 경우에 따라 다음을 지능적으로 확인한다:
(a) 통신에 대한 악영향을 줄이고,
(b) 정체노드에서의 정체 가능성을 줄이기 위해,
(1) 어느 프로토콜 데이타 유니트를 드롭할지,
(2) 얼마나 많은 프로토콜 데이타 유니트를 드롭할지, 그리고
(3) 이들 프로토콜 데이타 유니트들을 언제 드롭할지.
당업자라면, 본 발명의 범위내에서 여러가지 RED 알고리즘을 이용하는 실시예들을 구성하고 사용할 수 있을 것이다.
본 발명의 다른 실시예에서는, 프로토콜-데이타-유니트 엑사이저(302)가 어느 프로토콜 데이타 유니트를 드롭할지 선택하기 위한 알고리즘으로서 다른 것을 사용한다. 예컨대, 프로토콜-데이타-유니트 엑사이저(302)는 주어진 링크와 관련된 메트릭이 임계값 위에 있을 때 이 링크에서 자신이 수신하는 모든 프로토콜 데이타 유니트들을 드롭할 수 있다. 어떤 경우에도, 당업자라면 본 명세서를 읽고난 뒤, 본 발명의 범위내에서 어떤 프로토콜 데이타 유니트를 드롭할지, 얼마나 많은 프로토콜 데이타 유니트를 드롭할지, 언제 이들 프로토콜 데이타 유니트를 드롭할지 결정하는데 다른 알고리즘을 사용하는 실시예를 구성하여 이용하는 방법을 알 수 있을 것이다.
프로토콜-데이타-유니트 엑사이저(302)가 태스크(602)에서 프로토콜 데이타 유니트를 드롭하기로 결정하면, 태스크(603)로 넘어가고; 그렇지 않으면 태스크(604)로 넘어간다.
태스크(604)에서, 프로토콜-데이타-유니트 엑사이저(302)는 고려중인 프로토콜 데이타 유니트를 보낸다. 태스크(604)에서 태스크(601)로 돌아가고, 이곳에서 프로토콜-데이타-유니트 엑사이저(302)는 다음 프로토콜 데이타 유니트를 드롭할지 또는 보낼지를 결정한다.
도 7은 본 발명의 제2 실시예의 블록도로서, 스위치/프로토콜-데이타-유니트 엑사이저(700)가 보인다. 스위치/프로토콜-데이타-유니트 엑사이저(700)는 T개의 입력단(701-1~701-T), M개의 출력단(702-1~702-M), 및 N개의 정체노드(704-1~704-N)를 포함하고, 여기서 M, N, T는 각각 양의 정수이다.
스위치/프로토콜-데이타-유니트 엑사이저(700)는 두가지 주기능을 갖는다. 첫째, 프로토콜 데이타 유니트들을 각각의 입력단(701-1~701-T)에서 출력단(702-1~702-M)으로 스위칭하고, 둘째 정체노드(704-1~704-N)들중 하나 또는 그 이상에서의 정체를 완화하도록 프로토콜 데이타 유니트들을 선택적으로 드롭한다. 다시말해, 어떤 프로토콜 데이타 유니트들은 스위치/프로토콜-데이타-유니트 엑사이저(700)로 들어가되 이곳에서 나가지는 않는다.
본 발명의 제2 실시예에 따르면, 이들 두가지 기능은 기계적으로 통합된 하나의 노드에 의해 실행된다. 그러나, 당업자라면 본 명세서를 읽고, 본 발명의 범위내에서 기계적으로 통합되지 않은 다수의 노드에서 이들 두가지 기능들을 실행하는 실시예를 구성하고 이용할 수 있을 것이다.
입력단(701-1~701-T) 각각은 프로토콜 데이타 유니트들이 스위치/프로토콜-데이타-유니트 엑사이저(700)로 흐르는 논리적이거나 물리적인 링크를 나타낸다.
입력단(701-1~701-T)으로 표시된 각각의 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 경우에 따라 이런 링크는 별도의 물리적 링크로 실현될 수도 있고, 다중화라인상의 논리채널로 실현될 수도 있다. 당업자라면 본 명세서를 읽고, 입력단(701-1~701-T)으로 표시된 링크를 구현하는 방법을 알 수 있을 것이다.
출력단(702-1~702-M) 각각은 프로토콜 데이타 유니트들이 스위치/프로토콜-데이타-유니트 엑사이저(700)에서 정체노드로 흐르는 논리적이거나 물리적인 링크를 나타낸다. 본 발명의 제2 실시예에서, 스위치/프로토콜-데이타-유니트 엑사이저(700)는 이곳에 연결된 정체노드들보다는 덜 정체된다.
출력단(702-1~702-M)으로 표시된 각각의 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 경우에 따라 이런 링크는 별도의 물리적 링크로 실현될 수 있고, 다중화라인상의 논리채널로 실현될 수도 있다. 당업자라면 본 명세서를 읽고, 출력단(702-1~702-M)으로 표시된 링크를 구현하는 방법을 알 수 있을 것이다.
정체노드(704-1~704-N) 각각은 스위치/프로토콜-데이타-유니트 엑사이저(700)로부터의 하나 이상의 프로토콜 데이타 유니트를 저장하는 대기열(도시 안됨)을 포함하면서 스위치/프로토콜-데이타-유니트 엑사이저(700)로 보내지는 메트릭을 생성하는 네트웍 노드를 나타낸다. 당업자라면 이들 정체노드(704-1~704-N) 각각을 구성하고 사용하는 방법을 알 수 있을 것이다.
본 실시예에 따르면, M=N이다. 그러나, 당업자라면 본 명세서를 읽고 (예컨대 하나 이상의 정체노드가 출력단(702-1~702-M)중의 하나 이상을 받아들이기 때문에) M ≠N인 실시예도 구성할 수 있을 것이다.
정체노드에서의 정체현상을 완화하기 위해, 스위치/프로토콜-데이타-유니트 엑사이저(700)는 정체노드의 대기열 중간에 있는 프로토콜 데이타 유니트들을 선택적으로 드롭한다. 본 발명의 제2 실시예에서, 스위치/프로토콜-데이타-유니트 엑사이저(700)는 RED 인자로서 평가 메트릭을 이용해 RED의 일례를 실행하여 정체노드내의 대기열(210-i)에 프로토콜 데이타 유니트를 드롭할지 여부를 결정한다.
도 8은 스위치/프로토콜-데이타-유니트 엑사이저(700)의 구성을 보여주는 블록도이다. 스위치/프로토콜-데이타-유니트 엑사이저(700)는 입력단(701-1~701-T), 스위칭 패브릭(801), 프로토콜-데이타-유니트 엑사이저(802), 링크(803-1~803-M) 및 출력단(702-1~702-M)을 포함하고, 이들은 도면과 같이 연결되어 있다.
스위칭 패브릭(801)은 각각의 입력단(701-1~701-T)을 통해 프로토콜 데이타 유니트들을 받고 이들을 공지의 방식으로 링크(803-1~803-M)에 스위칭한다. 당업자라면 스위칭 패브릭(801)을 구성하고 사용하는 방법을 알 수 있을 것이다.
링크(803-1~803-M) 각각은 스위칭 패브릭(801)에서 프로토콜-데이타-유니트 엑사이저(802)로 프로토콜 데이타 유니트들을 전송한다. 링크(803-1~803-M) 각각은 다양한 방식을 구현되는바, 예컨대 시분할 버스와 같은 다중화 매체의 물리적 채널이나 논리적 채널로 구현된다. 본 발명의 제 2 실시예에서, 링크(803-1~803-M) 각각은 출력단(702-1~702-M) 각각에 대응하므로, 링크(803-m)를 통해 프로토콜-데이타-유니트 엑사이저(802)로 들어온 프로토콜 데이타 유니트는 이 엑사이저(802)에 드롭되지 않는 한 출력단(702-m)을 통해 엑사이저(802)를 나간다.
도 8에서, 스위칭 패브릭(801)과 프로토콜-데이타-유니트 엑사이저(802)는 별개의 요소로 도시되어 있지만, 당업자라면 본 명세서를 읽고 본 발명의 범위내에서 이들 두개의 요소를 하나로 구현할 수도 있을 것이다.
또, 스위칭 패브릭(801)과 프로토콜-데이타-유니트 엑사이저(802)가 도 8에는 하나의 통합 하우징 안에 있는 것으로 도시되어 있지만, 당업자라면 본 명세서를 읽고, 패브릭(801)과 프로토콜-데이타-유니트 엑사이저(802)를 서로 다른 회사에서 제조하여 별도로 판매하는 구성으로 할 수도 있을 것이다.
도 9는 본 발명의 제2 실시예에 따른 프로토콜-데이타-유니트 엑사이저(802)의 구성요소의 블록도이다. 프로토콜-데이타-유니트 엑사이저(802)는 프로세서(901)와 송신기(902-1~902-M)를 포함하고, 이들은 도면과 같이 연결되어 있다.
프로세서(901)는 도 10을 참조해 후술하는 기능들을 실행할 수 있는 범용 프로세서이지만, 경우에 따라서는 특수 목적의 프로세서일 수도 있다. 어느 경우에도, 당업자라면 본 명세서를 읽고 프로세서(901)를 구성하여 사용할 수 있을 것이다.
송신기(902-m)는 프로세서(901)로부터 프로토콜 데이타 유니트를 받고, 출력단(702-m)의 물리적/논리적 프로토콜에 따라 공지의 방식으로 출력단(702-m)을 통해 프로토콜 데이타 유니트를 전송한다. 당업자라면, 각각의 송신기(902-1~902-M)를 구성하여 사용할 수 있을 것이다.
본 발명의 제1 실시예에서, 대기열 메트릭들은 이 메트릭을 계산하고 전송할 수 있는 외부 소스(예; 정체노드 등)를 통해 프로토콜-데이타-유니트 엑사이저(802)에 수신된다. 반면에, 제2 실시예에서는 외부 소스에서 메트릭을 수신하지 않고 프로토콜 데이타 유니트의 흐름에 대한 관찰을 기초로 메트릭 자체를 생성한다. 이에 대해 도 10을 참조하여 아래에 설명한다.
도 10은 본 발명의 제2 실시예에서 실행되는 주요 태스크들의 흐름도이다.
태스크(1001)에서, 프로토콜-데이타-유니트 엑사이저(802)는 링크(803-m)를 통해 프로토콜 데이타 유니트를 수신하고, 이 링크는 출력단(702-m)으로 이어진다.
태스크(1002)에서, 프로토콜-데이타-유니트 엑사이저(802)는 출력단(702-m)과 관련된 대기열에 대한 메트릭을 평가한다. 제 2 실시예에 의하면, 이 메트릭은 다음을 기초로 한다:
i. 주어진 인터벌에서 출력단(702-m)을 통해 프로토콜-데이타-유니트 엑사이저(802)에 의해 출력된 프로토콜 데이타 유니트들 전체의 결합 사이즈;
ii. 주어진 인터벌에서 출력단(702-m)을 통해 프로토콜-데이타-유니트 엑사이저(802)에 의해 출력된 프로토콜 데이타 유니트들의 갯수;
iii. 출력단(702-m)을 통해 프로토콜-데이타-유니트 엑사이저(802)에 의해 출력된 프로토콜 데이타 유니트들의 속도; 또는
iv. 상기 i, ii, iii의 임의의 조합.
당업자라면 프로토콜-데이타-유니트 엑사이저(802)를 이용해 태스크(1002)를 실행하는 방법을 알 수 있을 것이다.
태스크(1003)에서, 프로토콜-데이타-유니트 엑사이저(802)는 태스크(1001)에서 받은 프로토콜 데이타 유니트를 드롭할지 또는 출력단(702-m)으로 보낼지를 결정한다. 이 결정은 제1 실시예에서 설명한 것과 같은 방식으로 제2 실시예에서 이루어진다. 프로토콜-데이타-유니트 엑사이저(802)가 태스크(1003)에서 프로토콜 데이타 유니트를 드롭하기로 결정하면, 다음 태스크(1004)로 진행하고; 그렇지 않으면 태스크(1005)로 진행한다.
태스크(1004)에서, 프로토콜-데이타-유니트 엑사이저(802)는 고려대상인 프로토콜 데이타 유니트를 드롭한다. 과정은 태스크(1004)에서 태스크(1001)로 돌아간다.
태스크(1005)에서, 프로토콜-데이타-유니트 엑사이저(802)는 고려대상인 프로토콜 데이타 유니트를 보낸다. 과정은 태스크(1005)에서 태스크(1001)로 돌아간다.
이상 설명한 실시예들은 어디까지나 예를 든 것일 뿐이고, 당업자라면 본 발명의 범위를 벗어나지 않고도 다양한 변형이나 변경이 가능할 것이다. 따라서, 이런 변형들 모두 첨부된 특허청구범위에 포함된다고 보아야 한다.
본 발명에 의하면 종래 기술의 문제점과 비용 추가 없이 정체노드의 정체 가능성을 완화할 수 있다. 또한, 프로토콜 데이타 유니트들을 적절히 드롭하여 정체노드에서의 정체가능성을 완화시킨다.
도 1은 종래의 통상적인 네트웍 노드의 주요 구성요소의 블록도;
도 2는 본 발명의 제1 실시예의 블록도;
도 3은 본 발명의 제1 실시예에 따른 스위치/프로토콜-데이타-유니트 엑사이저의 주요 구성의 블록도;
도 4는 본 발명의 제1 실시예에 따른 프로토콜-데이타-유니트 엑사이저의 주요 구성의 블록도;
도 5는 본 발명의 제1 실시예에 따라 정체노드로 가는 도중에 프로토콜 데이타 유니트를 드롭할지 여부를 결정하기 위한 방법의 순서도;
도 6은 도 5의 방법을 구성하는 하위 태스크의 순서도;
도 7은 본 발명의 제2 실시예의 블록도;
도 8은 본 발명의 제2 실시예에 따른 스위치/프로토콜-데이타-유니트 엑사이저의 블록도;
도 9는 본 발명의 제2 실시예에 따른 프로토콜-데이타-유니트 엑사이저의 블록도;
도 10은 본 발명의 제2 실시예에 따라 정체노드로 가는 도중에 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 방법의 순서도.

Claims (12)

  1. 제1 정체노드의 대기열 메트릭을 프로토콜-데이타-유니트에서 수신하는 단계; 및
    상기 제1 정체노드의 상기 대기열 메트릭을 기초로 제1 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트를 상기 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 프로토콜-데이타-유니트 엑사이저가 RED(Random Early Detection)을 기초로 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    제2 정체노드의 대기열 메트릭을 상기 프로토콜-데이타-유니트에서 수신하는 단계; 및
    상기 제2 정체노드의 상기 대기열 메트릭을 기초로 제2 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트를 상기 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1 정체노드의 대기열 메트릭을 수신하기 위한 수신기; 및
    상기 제1 정체노드의 상기 대기열 메트릭을 기초로 제1 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트를 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하기 위한 프로세서;를 포함하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
  5. 제4항에 있어서, 상기 프로토콜-데이타-유니트 엑사이저가 RED(Random Early Detection)을 기초로 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
  6. 제4항에 있어서,
    제2 정체노드의 대기열 메트릭을 수신하기 위한 수신기; 및
    상기 제2 정체노드의 상기 대기열 메트릭을 기초로 제2 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트를 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하기 위한 프로세서;를 더 포함하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
  7. 제1 정체노드로 가는 도중의 프로토콜 데이타 유니트들의 흐름을 프로토콜-데이타-유니트 엑사이저에서 관찰하는 단계;
    상기 프로토콜 데이타 유니트의 흐름을 기초로 상기 제1 정체노드의 프로토콜 데이타 유니트 대기열 메트릭을 평가하는 단계; 및
    상기 제1 정체노드의 프로토콜 데이타 유니트의 대기열 메트릭을 기초로 제1 정체노드로 가는 중간에 하나 이상의 프로토콜 데이타 유니트들을 상기 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 프로토콜-데이타-유니트 엑사이저가 RED(Random Early Detection)을 기초로 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    제2 정체노드로 가는 도중의 프로토콜 데이타 유니트들의 흐름을 프로토콜-데이타-유니트 엑사이저에서 관찰하는 단계;
    상기 프로토콜 데이타 유니트의 흐름을 기초로 상기 제2 정체노드의 프로토콜 데이타 유니트 대기열 메트릭을 평가하는 단계; 및
    상기 제2 정체노드의 프로토콜 데이타 유니트의 대기열 메트릭을 기초로 제2 정체노드로 가는 중간에 하나 이상의 프로토콜 데이타 유니트들을 상기 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  10. 제1 정체노드로 가는 도중의 프로토콜 데이타 유니트들의 흐름을 관찰하도록 배치된 송신기; 및
    상기 프로토콜 데이타 유니트의 흐름을 기초로 상기 제1 정체노드의 프로토콜 데이타 유니트 대기열 메트릭을 평가하고, 상기 대기열 메트릭을 기초로 상기 제1 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트들을 선택적으로 드롭하기 위한 프로세서;를 포함하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
  11. 제10항에 있어서, 하나 이상의 프로토콜 데이타 유니트를 선택적으로 드롭하기 위한 상기 프로세서가 RED(Random Early Detection)을 기초로 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
  12. 제10항에 있어서,
    제2 정체노드로 가는 도중의 프로토콜 데이타 유니트들의 흐름을 관찰하도록 배치된 송신기; 및
    상기 프로토콜 데이타 유니트의 흐름을 기초로 상기 제2 정체노드의 프로토콜 데이타 유니트 대기열 메트릭을 평가하고, 상기 대기열 메트릭을 기초로 상기 제2 정체노드로 가는 도중에 하나 이상의 프로토콜 데이타 유니트들을 선택적으로 드롭하기 위한 프로세서;를 더 포함하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
KR1020040033712A 2003-09-15 2004-05-13 통신망의 정체현상 관리시스템 KR100621288B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/662,724 US20050060423A1 (en) 2003-09-15 2003-09-15 Congestion management in telecommunications networks
US10/662,724 2003-09-15

Publications (2)

Publication Number Publication Date
KR20050027908A true KR20050027908A (ko) 2005-03-21
KR100621288B1 KR100621288B1 (ko) 2006-09-14

Family

ID=34136812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040033712A KR100621288B1 (ko) 2003-09-15 2004-05-13 통신망의 정체현상 관리시스템

Country Status (4)

Country Link
US (1) US20050060423A1 (ko)
EP (1) EP1515492A1 (ko)
KR (1) KR100621288B1 (ko)
CA (1) CA2464848C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798920B1 (ko) * 2005-11-18 2008-01-29 한국전자통신연구원 RED방식을 확장한 VoIP 네트워크의 폭주 제어 방법및 이를 위한 장치

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US633917A (en) * 1899-08-15 1899-09-26 Morgan & Wright Wheel-rim for elastic tires.
US4621359A (en) * 1984-10-18 1986-11-04 Hughes Aircraft Company Load balancing for packet switching nodes
US4769811A (en) * 1986-12-31 1988-09-06 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switching system arranged for congestion control
JP3622312B2 (ja) * 1996-01-29 2005-02-23 株式会社日立製作所 パケット交換機およびセル転送制御方法
US6424624B1 (en) * 1997-10-16 2002-07-23 Cisco Technology, Inc. Method and system for implementing congestion detection and flow control in high speed digital network
US6438101B1 (en) * 1997-12-23 2002-08-20 At&T Corp. Method and apparatus for managing congestion within an internetwork using window adaptation
US6463068B1 (en) * 1997-12-31 2002-10-08 Cisco Technologies, Inc. Router with class of service mapping
US6333917B1 (en) * 1998-08-19 2001-12-25 Nortel Networks Limited Method and apparatus for red (random early detection) and enhancements.
US6473424B1 (en) * 1998-12-02 2002-10-29 Cisco Technology, Inc. Port aggregation load balancing
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
GB2348580B (en) * 1999-03-30 2001-03-14 3Com Corp System and method for congestion control in packet-based communication networks
CA2301435C (en) * 1999-04-16 2006-10-10 At&T Corp. Method for reducing congestion in packet-switched networks
US6405258B1 (en) * 1999-05-05 2002-06-11 Advanced Micro Devices Inc. Method and apparatus for controlling the flow of data frames through a network switch on a port-by-port basis
SG87029A1 (en) * 1999-05-08 2002-03-19 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
CN1250294A (zh) * 1999-07-27 2000-04-12 邮电部武汉邮电科学研究院 以太网与同步数字体系或同步光网络融合的适配方法
CA2291835A1 (en) * 1999-12-06 2001-06-06 Nortel Networks Corporation Load adaptive buffer management in packet networks
US6690645B1 (en) * 1999-12-06 2004-02-10 Nortel Networks Limited Method and apparatus for active queue management based on desired queue occupancy
EP1240753A1 (en) * 1999-12-13 2002-09-18 Nokia Corporation Congestion control method for a packet-switched network
US6865185B1 (en) * 2000-02-25 2005-03-08 Cisco Technology, Inc. Method and system for queuing traffic in a wireless communications network
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
DE60028533T2 (de) * 2000-03-29 2007-01-04 Alcatel Verfahren zur Erzeugung einer Annahmeentscheidung in einem Telekommunikationssystem
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
US6898182B1 (en) * 2000-07-21 2005-05-24 Arris International, Inc Congestion control in a network device having a buffer circuit
US7068599B1 (en) * 2000-07-26 2006-06-27 At&T Corp. Wireless network having link-condition based proxies for QoS management
US7130824B1 (en) * 2000-08-21 2006-10-31 Etp Holdings, Inc. Apparatus and method for load balancing among data communications ports in automated securities trading systems
US7224671B2 (en) * 2000-09-28 2007-05-29 Force10 Networks, Inc. Method and apparatus for load balancing in network processing device
US6870811B2 (en) * 2001-01-18 2005-03-22 International Business Machines Corporation Quality of service functions implemented in input interface circuit interface devices in computer network hardware
US6934256B1 (en) * 2001-01-25 2005-08-23 Cisco Technology, Inc. Method of detecting non-responsive network flows
JP2002330165A (ja) * 2001-04-27 2002-11-15 Fujitsu Ltd 輻輳制御装置
US6901593B2 (en) * 2001-05-08 2005-05-31 Nortel Networks Limited Active queue management with flow proportional buffering
DK1528754T3 (da) * 2001-05-11 2008-03-31 Nokia Corp Mobil instant messaging- og tilstedeværelsestjeneste
GB2372172B (en) * 2001-05-31 2002-12-24 Ericsson Telefon Ab L M Congestion handling in a packet data network
US7158480B1 (en) * 2001-07-30 2007-01-02 Nortel Networks Limited Feedback output queuing system, apparatus, and method
AUPR688201A0 (en) * 2001-08-09 2001-08-30 University Of Melbourne, The An active queue management process
JP4041944B2 (ja) * 2001-10-18 2008-02-06 日本電気株式会社 ネットワークの混雑制御システムと混雑制御ノード、及び混雑制御プログラム
JP2003186776A (ja) * 2001-12-13 2003-07-04 Hitachi Ltd 輻輳制御システム
US7225267B2 (en) * 2003-01-27 2007-05-29 Microsoft Corporation Reactive bandwidth control for streaming data
KR100501717B1 (ko) * 2003-05-09 2005-07-18 삼성전자주식회사 Udp/tcp/ip 네트워크에서 버퍼관리를 기반으로 한음성 및 데이터 통합 전송방법
US20050190779A1 (en) * 2004-03-01 2005-09-01 Cisco Technology, Inc., A California Corporation Scalable approach to large scale queuing through dynamic resource allocation
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US20050157646A1 (en) * 2004-01-16 2005-07-21 Nokia Corporation System and method of network congestion control by UDP source throttling
GB0407144D0 (en) * 2004-03-30 2004-05-05 British Telecomm Networks
US7706261B2 (en) * 2004-08-27 2010-04-27 Jinshen Sun Queue-based active queue management process
US7489635B2 (en) * 2004-09-24 2009-02-10 Lockheed Martin Corporation Routing cost based network congestion control for quality of service
US7983156B1 (en) * 2004-11-12 2011-07-19 Openwave Systems Inc. System and method for controlling network congestion
US7787372B2 (en) * 2005-12-12 2010-08-31 Viasat, Inc. Transmission control protocol with performance enhancing proxy for degraded communication channels
EP1989852B1 (en) * 2006-02-27 2017-05-24 Telefonaktiebolaget LM Ericsson (publ) Flow control mechanism using local and global acknowledgements
US9621375B2 (en) * 2006-09-12 2017-04-11 Ciena Corporation Smart Ethernet edge networking system
US7619970B2 (en) * 2006-04-27 2009-11-17 Dune Semiconductor Ltd. Method, device and system of scheduling data transport over a fabric
EP1901486A1 (en) * 2006-09-15 2008-03-19 Koninklijke Philips Electronics N.V. Wireless network
US7852866B2 (en) * 2006-12-29 2010-12-14 Polytechnic Institute of New York Universiity Low complexity scheduling algorithm for a buffered crossbar switch with 100% throughput
US20080239948A1 (en) * 2007-03-28 2008-10-02 Honeywell International, Inc. Speculative congestion control system and cross-layer architecture for use in lossy computer networks
US20080239953A1 (en) * 2007-03-28 2008-10-02 Honeywell International, Inc. Method and apparatus for minimizing congestion in gateways
US8812712B2 (en) * 2007-08-24 2014-08-19 Alcatel Lucent Proxy-driven content rate selection for streaming media servers
US7839777B2 (en) * 2007-09-27 2010-11-23 International Business Machines Corporation Method, system, and apparatus for accelerating resolution of network congestion
US7720065B2 (en) * 2008-02-29 2010-05-18 Lockheed Martin Corporation Method and apparatus for biasing of network node packet prioritization based on packet content
US8625624B1 (en) * 2008-06-13 2014-01-07 Cisco Technology, Inc. Self-adjusting load balancing among multiple fabric ports
US8122140B2 (en) * 2009-03-27 2012-02-21 Wyse Technology Inc. Apparatus and method for accelerating streams through use of transparent proxy architecture
US8209430B2 (en) * 2009-03-27 2012-06-26 Wyse Technology Inc. Apparatus and method for remote communication and bandwidth adjustments
EP2391068A1 (en) * 2010-03-31 2011-11-30 British Telecommunications public limited company Provision of path characterisation information in networks
US8467294B2 (en) * 2011-02-11 2013-06-18 Cisco Technology, Inc. Dynamic load balancing for port groups
US20120307641A1 (en) * 2011-05-31 2012-12-06 Cisco Technology, Inc. Dynamic Flow Segregation for Optimal Load Balancing Among Ports in an Etherchannel Group
US10292066B2 (en) * 2011-11-04 2019-05-14 Cisco Technology, Inc. System and method of modifying congestion control based on mobile system information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798920B1 (ko) * 2005-11-18 2008-01-29 한국전자통신연구원 RED방식을 확장한 VoIP 네트워크의 폭주 제어 방법및 이를 위한 장치

Also Published As

Publication number Publication date
CA2464848C (en) 2012-12-04
KR100621288B1 (ko) 2006-09-14
EP1515492A1 (en) 2005-03-16
CA2464848A1 (en) 2005-03-15
US20050060423A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
US10218629B1 (en) Moving packet flows between network paths
US8228929B2 (en) Flow consistent dynamic load balancing
US20180026878A1 (en) Scalable deadlock-free deterministic minimal-path routing for dragonfly networks
Boero et al. BeaQoS: Load balancing and deadline management of queues in an OpenFlow SDN switch
US8824491B2 (en) Distributed scheduling for variable-size packet switching system
US10560367B2 (en) Bidirectional constrained path search
US8139499B2 (en) Method and arrangement for determining transmission delay differences
KR100621288B1 (ko) 통신망의 정체현상 관리시스템
CN108337181B (zh) 一种交换网拥塞管理方法和装置
KR100662122B1 (ko) 통신망의 정체현상 관리장치
Challa et al. CentFlow: centrality-based flow balancing and traffic distribution for higher network utilization
Wang et al. Implementation of multipath network virtualization scheme with SDN and NFV
Karrakchou et al. EP4: An application-aware network architecture with a customizable data plane
Motohashi et al. Implementation of p4-based schedulers for multipath communication
CN112583746A (zh) 信元传输方法及装置、存储介质、电子装置
Jin et al. Sandwich Tree: A new datacenter network based on passive optical devices
US20080267200A1 (en) Network Router Based on Combinatorial Designs
Zanjani et al. Path Provisioning for Fibbing Controlled Load Balanced IP Networks
Duan Resource allocation in buffered crossbar switches for supporting network virtualization
EP3437267A1 (en) Methods and apparatus for transmitting data
Audzevich et al. Analysis of load-balanced switch with finite buffers
Prajapati et al. Verifying Queue Length Scheme in Wired Communication for Congestion Control
Reddy et al. Performance analysis and modelling of GMPLS optical networks with multiservice queueing model
Das et al. Addressing Out-of-order Issue of Congestion-aware Adaptive Routing in Subnet based NoC
Du et al. A Resource Pooling Switch Architecture with High Performance Scheduler

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150729

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee