KR100662122B1 - 통신망의 정체현상 관리장치 - Google Patents
통신망의 정체현상 관리장치 Download PDFInfo
- Publication number
- KR100662122B1 KR100662122B1 KR1020040033714A KR20040033714A KR100662122B1 KR 100662122 B1 KR100662122 B1 KR 100662122B1 KR 1020040033714 A KR1020040033714 A KR 1020040033714A KR 20040033714 A KR20040033714 A KR 20040033714A KR 100662122 B1 KR100662122 B1 KR 100662122B1
- Authority
- KR
- South Korea
- Prior art keywords
- protocol
- protocol data
- unit
- queue
- data units
- Prior art date
Links
Images
Classifications
-
- 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
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01M—CATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
- A01M7/00—Special adaptations or arrangements of liquid-spraying apparatus for purposes covered by this subclass
- A01M7/0082—Undercarriages, frames, mountings, couplings, tanks
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01M—CATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
- A01M7/00—Special adaptations or arrangements of liquid-spraying apparatus for purposes covered by this subclass
- A01M7/0082—Undercarriages, frames, mountings, couplings, tanks
- A01M7/0085—Tanks
Landscapes
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Insects & Arthropods (AREA)
- Pest Control & Pesticides (AREA)
- Wood Science & Technology (AREA)
- Zoology (AREA)
- Environmental Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
본 발명은 정체노드에서의 정체 가능성을 줄이는 기술에 관한 것이다. 실시예에서, 프록시 노드는 정체노드로 가는 도중의 프로토콜 데이타 유니트의 경로에 있고, 정체노드로 가는 도중에 프로토콜 데이타 유니트를 드롭할지 여부를 결정한다. 경우에 따라, 프록시 노드는 정체노드보다 큰 대기열을 프로토콜 데이타 유니트용으로 구비한다. 본 발명의 실시예는 어느 트로토콜 데이타를 드롭할지 결정하는데 있어서 Random Early Discard 또는 Random Early Detection과 같은 알고리즘을 실행하는데 필요한 마력과 대형 대기열 없도 경량 노드들을 구성할 수 있기 때문에 아주 유용하다. 또, 본 발명은 레가시 노드에서의 정체 가능성을 완화할 수 있어서 유용하다.
Description
도 1은 종래의 통상적인 네트웍 노드의 주요 구성요소의 블록도;
도 2는 본 발명의 실시예의 블록도;
도 3은 본 발명의 실시예에 따른 스위치/프로토콜-데이타-유니트 엑사이저의 주요 구성의 블록도;
도 4는 본 발명의 실시예에 따른 프로토콜-데이타-유니트 엑사이저의 주요 구성의 블록도;
도 5는 본 발명의 실시예에 따라 실행되는 주요 태스크의 순서도;
도 6은 도 5의 태스크(501)의 순서도;
도 7은 도 5의 태스크(503)의 순서도.
본 발명은 통신에 관한 것으로, 구체적으로는 통신망의 정체현상 관리장치에 관한 것이다.
저장 후 전송 방식(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과 같은 알고리즘을 실행하는데 필요한 컴퓨팅 마력을 갖는 노드를 구성하는데는 상당히 비용이 많이 든다.
따라서, 종래 기술의 문제점과 비용의 추가 없이 네트웍 노드의 정체현상을 완화시키는 새로운 기술에 대한 필요성이 대두되었다.
본 발명은 종래 기술의 문제점과 비용 추가 없이 정체노드의 정체 가능성을 완화하는 기술이다. 본 발명의 실시예들에 따르면, 하나의 노드(프록시 노드)가 프로토콜 데이타 유니트들을 드롭하여 정체노드에서의 정체가능성을 완화시킨다.
본 발명의 실시예에서, 프록시 노드는 정체노드로 가는 중간의 프로토콜 데 이타 유니트 경로에 위치하고, 정체노드로 가는 도중에 프로토콜 데이타 유니트들을 드롭할지 여부를 결정한다. 다른 경우, 프록시노드는 정체노드보다 큰 대기열을 프로토콜 데이타 유니트용으로 구비한다.
본 발명의 실시예는 어느 트로토콜 데이타를 드롭할지 결정하는데 있어서 Random Early Discard 또는 Random Early Detection과 같은 알고리즘을 실행하는데 필요한 마력과 대형 대기열 없도 경량 노드들을 구성할 수 있기 때문에 아주 유용하다.
본 발명의 실시예는: 제1 정체소자로 가는 도중에 제1 프로토콜 데이타 유니트 대기열을 프로토콜-데이타-유니트 엑사이저에 유지하는 단계; 상기 제1 정체소자가 제1 대기열로부터 프로토콜 데이타 유니트를 하나 이상 수신할 준비가 되었는지 여부를 표시하는 유동제어신호를 상기 프로토콜-데이타-유니트 엑사이저에서 수신하는 단계; 및 상기 제1 대기열의 제1 메트릭을 기초로 상기 프로토콜 데이타 유니트들중 하나 이상을 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 포함하는 방법이다.
도 2는 본 발명의 실시예의 블록도로서, 스위치/프로토콜-데이타-유니트 엑사이저(200; excisor)를 구비한다. 스위치/프로토콜-데이타-유니트 엑사이저(200)는 입력단(201-1~201-T), 출력단(202-1~202-M), 입력단(203-1~203-P), 및 정체노드(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)로부터 정체노드를 향해 흐르는 논리적이거나 물리적인 링크를 나타낸다.
각각의 입력단(202-1~202-M)으로 표시되는 각각의 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 본 발명에 따르면, 이런 링크는 별도의 물리적 링크로서 실현될 수 있지만, 멀티플렉스 라인상의 논리채널로 실현될 수도 있다. 당업자라면 본 명세서를 읽고나서 입력단(202-1~202-M)으로 표시된 링크를 구현하는 방법을 알 수 있을 것이다.
입력단(203-1~203-P) 각각은 논리적이거나 물리적인 링크를 나타내고, 이들 링크를 통해 유동제어신호가 스위치/프로토콜-데이타-유니트 엑사이저(200)에 도달한다. 유동제어신호는 정체노드가 하나 이상의 프로토콜 데이타 유니트를 스위치/프로토콜-데이타-유니트 엑사이저(200)로부터 받을 준비가 디었는지 여부를 알려준다.
당업자라면, 정체노드가 프로토콜 데이타 유니트를 받을 준비가 되어있음을 스위치/프로토콜-데이타-유니트 엑사이저(200)에 어떻게 신호하는지 알 수 있을 것이다. 예컨대, 유동제어신호를 구현하는 한가지 방법은 배압 유동신호를 사용하는 것이고, 다른 방법은 IEEE 802.3의 Pause frame procedure를 이용하는 것이다. 어느 경우에도, 당업자라면 각각의 정체소자가 프로토콜 데이타 유니트를 받을 준비가 되었음을 정체노드(204-1~204-N)와 스위치/프로토콜-데이타-유니트 엑사이저(200)가 표시할 수 있도록 하는 방법을 알 수 있을 것이다.
입력단(203-1~203-P) 각각으로 표시된 각각의 링크는 다양한 방식으로 구현될 수 있다. 예컨대, 본 발명의 어떤 경우에는 이런 링크가 별도의 물리적 링크로 구현되고, 다른 경우에는 멀티플렉스 라인상의 논리채널로 구현되고나, 메트릭을 반송하는 데이터그램이 향하는 인터넷 프로토콜 어드레스로 구현된다. 당업자라면 본 명세서를 읽고나서 입력단(203-1~203-P)으로 표시된 링크를 구현하는 방법을 알 수 있을 것이다.
본 발명에서, 각각의 정체노드(204-1~204-N)은 WAN(Wireless Area Network)의 액세스포인트이다. 그러나, 경우에 따라서는, 정체노드중 일부는 스위치, 라우터 또는 브리지일 수도 있다. 어느 경우에도, 당업자라면 정체노드(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의 조합.
도 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)를 나간다(여기서 m은 양의 정수의 집합 {1, ..., M}의 요소이다).
도 3에서, 스위칭 패브릭(301)과 프로토콜-데이타-유니트 엑사이저(302)는 별개의 요소로 도시되어 있지만, 당업자라면 본 명세서를 읽은 뒤 본 발명의 범위내에서 두개의 요소들을 하나로 조립할 수도 있을 것이다.
또, 스위칭 패브릭(301)과 프로토콜-데이타-유니트 엑사이저(302)가 도 3에는 하나의 통합 하우징 안에 있는 것으로 도시되어 있지만, 당업자라면 본 명세서를 읽은 뒤 스위칭 패브릭(301)과 프로토콜-데이타-유니트 엑사이저(302)를 아마도 각각 다른 기업체에서 제조하고 별도로 판매하는 본 발명의 실시예들을 구성하고 이용하는 방법도 알 수 있을 것이다.
도 4는 본 발명의 실시예에 따른 프로토콜-데이타-유니트 엑사이저(302)의 주요 구성의 블록도이다. 프로토콜-데이타-유니트 엑사이저(302)는 도면과 같이 서로 연결된 프로세서(401), 송신기(402-1~402-M), 수신기(403-1~403-P) 및 대기열(404-1~404-M)을 포함한다.
프로세서(401)는 도 5, 6을 참조해 후술하는 기능들을 실행할 수 있는 범용 프로세서이지만, 경우에 따라, 특수한 목적의 프로세서일 수도 있다. 어느 경우에도, 당업자라면 본 명세서를 읽은 뒤 프로세서(401)를 어떻게 구성하고 사용하는지 알 수 있을 것이다.
송신기(402-m)는 프로세서(401)에서 프로토콜 데이타 유니트를 받아, 출력단(202-m)의 물리적/논리적 프로토콜에 따라 공지의 방식으로 출력단(202-m)에서 프로토콜 데이타 유니트를 송신한다.
수신기(403-p)는 공지된 방식으로 입력단(203-p)에서 정체노드의 대기열 메트릭을 수신하고, 이 메트릭을 프로세서(401)로 보낸다(여기서 p는 양의 정수의 집합 {1,...,P}의 요소). 당업자라면 수신기(403-1~403-P)를 어떻게 구성하고 사용할지 알 수 있을 것이다.
대기열(404-m)은 선입선출형으로서, 링크(303-m)를 통해 프로토콜 데이타 유니트를 받아 저장한 다음, (i) 리이드(202-m)를 통해 정체노드로 보내거나, (ii) 프로세서(401)에서 삭제(즉 후술하는 바와 같이 의도적으로 드롭)한다. 각각의 프 로토콜 데이타 유니트가 도달할 때 프로세서(401)가 이것을 검사할 수 있도록 그리고 대기열(404-m)내의 모든 주어진 프로토콜 데이타 유니트를 언제라도 프로세서(401)가 삭제할 수 있도록 대기열(401)이 구성된다. 당업자라면 본 명세서를 읽고, 프로토콜-데이타-유니트 엑사이저(302)를 구성하고 이용할 수 있을 것이다.
정체노드에서의 정체현상을 완화하려면, 정체노드내의 대기열로 가는 도중의 프로토콜 데이타 유니트들을 프로토콜-데이타-유니트 엑사이저(302)가 선택적으로 드롭한다.
도 5는 본 발명의 실시예에 따라 프로토콜-데이타-유니트 엑사이저(200)에 의해 실행된 주요 태스크의 순서도이다. 태스크(501,502)는 연속으로 동시에 비동기적으로 진행된다. 당업자라면 본 명세서를 읽고, 본 발명의 범위내에서 태스크(501,502)가 연속으로 동시에 비동기적으로 동작하지 않는 실시예를 구성하고 사용하는 방법도 알 수 있을 것이다.
태스크(501)에서, 프로토콜-데이타-유니트 엑사이저(302)는 프로토콜 데이타 유니트를 주기적으로나 우발적으로 수신하고, 이것을 드롭할지 여부를 선택적으로 결정한다.
태스크(502)에서, 프로토콜-데이타-유니트 엑사이저(302)는 정체노드가 프로토콜 데이타 유니트를 수신할 준비가 되었다는 유동제어신호를 수신할 때 정체소자로 프로토콜 데이타 유니트를 주기적으로나 우발적으로 전송한다. 태스크(502)의 자세한 사항은 도 7을 참조하여 후술한다.
도 6은 도 5에 도시된 태스크(501)를 포함한 주요 하위 태스크들의 순서도이다.
하위 태스크(601)에서, 프로세서(401)는 링크(303-m)를 통해 프로토콜 데이타 유니트를 수신하고, 이 출력단(202-m)까지 이어진다. 당업자라면 프로세서(401)가 태스크(601)를 어떻게 실행하는지 알 수 있을 것이다.
하위 태스크(602)에서, 프로세서(401)는 태스크(601)에서 수신한 프로토콜 데이타 유니트를 대기열(404-m)에 저장한다. 당업자라면 프로세서(401)가 태스크(602)를 어떻게 실행하는지 알 수 있을 것이다.
태스크(603)에서, 프로세서(401)는 (태스크(601)에서 수신된 프로토콜 데이타 유니트를 포함하는) 대기열(404-m)의 모든 프로토콜 데이타 유니트의 성질을 기초로 대기열(404-m)의 메트릭을 계산한다. 당업자라면 프로세서(401)가 태스크(603)를 어떻게 실행하는지 알 수 있을 것이다.
대기열의 메트릭은 대기열의 상태에 관한 정보를 표시한다. 본 발명의 어떤 경우, 메트릭은 일순간의 대기열의 상태(예; 대기열의 현재 길이, 대기열내의 프로토콜 데이타 유니트의 최대 잔류시간 등)를 표시하지만, 어떤 경우에는 일정 시간 동안의 대기열의 상태(예; 평균 대기열 길이, 대기열내의 프로토콜 데이타 유니트의 평균 잔류시간 등)를 표시한다. 당업자라면 대기열의 이런저런 메트릭들을 구성하는 방법을 알 수 있을 것이다.
태스크(604)에서, 프로세서(401)는 대기열(404-m)에 프로토콜 데이타 유니트를 드롭할지 여부를 결정하고, 이럴 경우 이들 유니트를 확인한다. 당업자라면 프 로세서(401)가 태스크(604)를 어떻게 실행하는지 알 수 있을 것이다. 프로세서(401)가 태스크(602)에서 프로토콜 데이타 유니트를 드롭하기로 결정하면, 다음 태스크(605)로 진행하고, 그렇지 않으면 태스크(601)로 되돌아가 다음 프로토콜 데이타 유니트의 도착을 기다린다.
본 발명의 실시예에서, 프로토콜-데이타-유니트 엑사이저(302)는 대기열(404-m) 메트릭을 RED 인자로 사용해 RED를 실행함으로써 정체노드(204-n)로 가는 도중에 프로토콜 데이타 유니트를 드롭할지 여부를 결정한다(여기서 n은 양의 정수의 집합{1,...,N}의 요소).
태스크(603)에서 계산된 메트릭으로 인해 프로토콜-데이타-유니트 엑사이저(302)는 출력단(202-m)을 통해 공급된 대기열의 상태를 평가할 수 있고, RED 알고리즘으로 인해 프로토콜-데이타-유니트 엑사이저(200)는 어느 프로토콜 데이타 유니트를 드롭할지 선택할 수 있다. 프로토콜 데이타 유니트의 손실은 최종 사용자에게 악영향을 주지만, 어떤 프로토콜 데이타 유니트의 손실은 다른 유니트의 손실만큼 영향을 주지 않을 수도 있다. 즉, 어떤 프로토콜 데이타 유니트의 손실은 다른 프로토콜 데이타 유니트의 손실보다 더 해롭다.
당업자라면 알 수 있듯이, RED 알고리즘은 경우에 따라 다음을 지능적으로 확인한다:
(a) 통신에 대한 악영향을 줄이고,
(b) 정체노드에서의 정체 가능성을 줄이기 위해,
(1) 어느 프로토콜 데이타 유니트를 드롭할지,
(2) 얼마나 많은 프로토콜 데이타 유니트를 드롭할지, 그리고
(3) 이들 프로토콜 데이타 유니트들을 언제 드롭할지.
당업자라면, 본 발명의 범위내에서 여러가지 RED 알고리즘을 이용하는 실시예들을 구성하고 사용할 수 있을 것이다.
본 발명의 다른 실시예에서는, 프로토콜-데이타-유니트 엑사이저(302)가 어느 프로토콜 데이타 유니트를 드롭할지 선택하기 위한 알고리즘으로서 다른 것을 사용한다. 예컨대, 프로토콜-데이타-유니트 엑사이저(302)는 주어진 링크와 관련된 메트릭이 임계값 위에 있을 때 이 링크에서 자신이 수신하는 모든 프로토콜 데이타 유니트들을 드롭할 수 있다. 어떤 경우에도, 당업자라면 본 명세서를 읽고난 뒤, 본 발명의 범위내에서 어떤 프로토콜 데이타 유니트를 드롭할지, 얼마나 많은 프로토콜 데이타 유니트를 드롭할지, 언제 이들 프로토콜 데이타 유니트를 드롭할지 결정하는데 다른 알고리즘을 사용하는 실시예를 구성하여 이용하는 방법을 알 수 있을 것이다.
태스크(605)에서, 프로세서(401)는 태스크(604)에서 확인된 프로토콜 데이타 유니트를 대기열(404-m)에서 삭제한다.
도 7은 도 5의 태스크(502)를 자세히 보여주는 순서도이다.
태스크(701)에서, 프로세서(401)는 링크(203-p)를 통해 유동제어신호를 수신하고, 이것은 이 신호를 발생시킨 정체소자가 출력단(202-p)을 통해 프로토콜 데이타 유니트를 전송하길 원한다는 표시이다. 당업자라면 프로세서(401)가 태스크(701)를 어떻게 실행하는지 알 수 있을 것이다.
태스크(702)에서, 프로세서(401)는 대기열(404-m)에서 프로토콜 데이타 유니트를 제거한다. 당업자라면 프로세서(401)가 태스크(702)를 어떻게 실행하는지 알 수 있을 것이다.
태스크(703)에서, 프로세서(401)는 태스크(702)에서 제거된 프로토콜 데이타 유니트를 출력단(202-p)을 통해 전송한다. 당업자라면 프로세서(401)가 태스크(703)를 어떻게 실행하는지 알 수 있을 것이다.
이상 설명한 실시예들은 어디까지나 예를 든 것일 뿐이고, 당업자라면 본 발명의 범위를 벗어나지 않고도 다양한 변형이나 변경이 가능할 것이다. 따라서, 이런 변형들 모두 첨부된 특허청구범위에 포함된다고 보아야 한다.
본 발명에 의하면 종래 기술의 문제점과 비용 추가 없이 정체노드의 정체 가능성을 완화할 수 있다. 또, 하나의 노드(프록시 노드)가 프로토콜 데이타 유니트들을 드롭하여 정체노드에서의 정체가능성을 완화시킨다.
Claims (10)
- 제1 정체소자로 가는 도중에 있는 다수의 제1 프로토콜 데이타 유니트들을 제1 입력단에서 수신하는 단계;상기 다수의 제1 프로토콜 데이타 유니트용의 제1 대기열을 프로토콜-데이타-유니트 엑사이저에 유지하는 단계;상기 제1 정체소자가 제1 대기열로부터 프로토콜 데이타 유니트를 하나 이상 수신할 준비가 되었는지 여부를 표시하는 유동제어신호를 상기 프로토콜-데이타-유니트 엑사이저에서 수신하는 단계; 및상기 제1 대기열의 제1 메트릭을 기초로 상기 프로토콜 데이타 유니트들중 하나 이상을 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서, 상기 프로토콜-데이타-유니트 엑사이저가 RED(Random Early Detection)을 기초로 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 것을 특징으로 하는 방법.
- 제1항에 있어서, 상기 표시가 배압 유동제어를 이용해 전송되는 것을 특징으로 하는 방법.
- 제1항에 있어서, 상기 표시가 IEEE 802.3의 Pause frame procedure를 이용해 전송되는 것을 특징으로 하는 방법.
- 제1항에 있어서,제2 정체소자로 가는 도중에 있는 다수의 제2 프로토콜 데이타 유니트들을 제2 입력단에서 수신하는 단계;상기 다수의 제2 프로토콜 데이타 유니트용의 제2 대기열을 프로토콜-데이타-유니트 엑사이저에 유지하는 단계;상기 제2 정체소자가 제2 대기열로부터 프로토콜 데이타 유니트를 하나 이상 수신할 준비가 되었는지 여부를 표시하는 유동제어신호를 상기 프로토콜-데이타-유니트 엑사이저에서 수신하는 단계; 및상기 제2 대기열의 제2 메트릭을 기초로 상기 프로토콜 데이타 유니트들중 하나 이상을 프로토콜-데이타-유니트 엑사이저에 선택적으로 드롭하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
- 제1 정체소자로 가는 도중에 있는 다수의 제1 프로토콜 데이타 유니트들을 수신하기 위한 제1 입력단;상기 다수의 제1 프로토콜 데이타 유니트들을 저장하기 위한 제1 대기열;상기 제1 정체소자가 제1 대기열로부터 프로토콜 데이타 유니트들을 하나 이상 수신할 준비가 되었는지 여부를 표시하는 유동제어신호를 수신하기 위한 제1 수신기; 및상기 제1 대기열의 메트릭을 기초로 프로토콜 데이타 유니트를 선택적으로 드롭하기 위한 프로세서;를 포함하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
- 제6항에 있어서, 상기 표시가 배압 유동제어를 이용해 전송되는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저..
- 제6항에 있어서, 상기 표시가 IEEE 802.3의 Pause frame procedure를 이용해 전송되는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
- 제6항에 있어서, RED를 기초로 프로토콜 데이타 유니트를 드롭할지 여부를 결정하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
- 제6항에 있어서,제2 정체소자로 가는 도중에 있는 다수의 제2 프로토콜 데이타 유니트들을 수신하기 위한 제2 입력단;상기 다수의 제2 프로토콜 데이타 유니트들을 저장하기 위한 제2 대기열; 및상기 제2 정체소자가 제2 대기열로부터 프로토콜 데이타 유니트들을 하나 이상 수신할 준비가 되었는지 여부를 표시하는 유동제어신호를 수신하기 위한 제2 수신기;를 더 포함하고,상기 프로세서가 또한 상기 제2 대기열의 메트릭을 기초로 프로토콜 데이타 유니트를 선택적으로 드롭하는 것을 특징으로 하는 프로토콜-데이타-유니트 엑사이저.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/662,728 US20050060424A1 (en) | 2003-09-15 | 2003-09-15 | Congestion management in telecommunications networks |
US10/662,728 | 2003-09-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050027909A KR20050027909A (ko) | 2005-03-21 |
KR100662122B1 true KR100662122B1 (ko) | 2006-12-27 |
Family
ID=34136814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040033714A KR100662122B1 (ko) | 2003-09-15 | 2004-05-13 | 통신망의 정체현상 관리장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050060424A1 (ko) |
EP (1) | EP1515498A1 (ko) |
KR (1) | KR100662122B1 (ko) |
CA (1) | CA2465153A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060423A1 (en) * | 2003-09-15 | 2005-03-17 | Sachin Garg | Congestion management in telecommunications networks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020058765A (ko) * | 2000-12-30 | 2002-07-12 | 이계철 | 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법 |
JP2003152752A (ja) | 2001-08-29 | 2003-05-23 | Matsushita Electric Ind Co Ltd | データ送受信方法 |
KR20030044531A (ko) * | 2001-11-30 | 2003-06-09 | 엘지전자 주식회사 | 라우터의 폭주 방지 장치 및 방법 |
KR20040048233A (ko) * | 2002-12-02 | 2004-06-07 | 한국전자통신연구원 | 선형제어를 이용한 큐 스케쥴링 장치 및 방법 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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. |
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 |
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 | 邮电部武汉邮电科学研究院 | 以太网与同步数字体系或同步光网络融合的适配方法 |
US6690645B1 (en) * | 1999-12-06 | 2004-02-10 | Nortel Networks Limited | Method and apparatus for active queue management based on desired queue occupancy |
US7058723B2 (en) * | 2000-03-14 | 2006-06-06 | Adaptec, Inc. | Congestion control for internet protocol storage |
ATE329433T1 (de) * | 2000-03-29 | 2006-06-15 | Cit Alcatel | Verfahren zur erzeugung einer annahmeentscheidung in einem telekommunikationssystem |
US6898182B1 (en) * | 2000-07-21 | 2005-05-24 | Arris International, Inc | Congestion control in a network device having a buffer circuit |
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 |
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 | 日本電気株式会社 | ネットワークの混雑制御システムと混雑制御ノード、及び混雑制御プログラム |
US7225267B2 (en) * | 2003-01-27 | 2007-05-29 | Microsoft Corporation | Reactive bandwidth control for streaming data |
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 |
US8190750B2 (en) * | 2007-08-24 | 2012-05-29 | Alcatel Lucent | Content rate selection for media servers with proxy-feedback-controlled frame transmission |
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 |
-
2003
- 2003-09-15 US US10/662,728 patent/US20050060424A1/en not_active Abandoned
-
2004
- 2004-04-21 CA CA002465153A patent/CA2465153A1/en not_active Abandoned
- 2004-05-13 KR KR1020040033714A patent/KR100662122B1/ko not_active IP Right Cessation
- 2004-08-10 EP EP04254820A patent/EP1515498A1/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020058765A (ko) * | 2000-12-30 | 2002-07-12 | 이계철 | 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법 |
JP2003152752A (ja) | 2001-08-29 | 2003-05-23 | Matsushita Electric Ind Co Ltd | データ送受信方法 |
KR20030044531A (ko) * | 2001-11-30 | 2003-06-09 | 엘지전자 주식회사 | 라우터의 폭주 방지 장치 및 방법 |
KR20040048233A (ko) * | 2002-12-02 | 2004-06-07 | 한국전자통신연구원 | 선형제어를 이용한 큐 스케쥴링 장치 및 방법 |
Non-Patent Citations (2)
Title |
---|
1020040033714 - 648798 |
1020040033714 - 648802 |
Also Published As
Publication number | Publication date |
---|---|
EP1515498A1 (en) | 2005-03-16 |
KR20050027909A (ko) | 2005-03-21 |
US20050060424A1 (en) | 2005-03-17 |
CA2465153A1 (en) | 2005-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4547341B2 (ja) | 通信品質制御機能を備えるパケット中継装置 | |
Charny et al. | Delay bounds in a network with aggregate scheduling | |
CN105874752B (zh) | 一种用于一个或多个时延段的源路由的系统和方法 | |
KR100693058B1 (ko) | 패킷의 유실을 방지하기 위한 라우팅 방법 및 장치 | |
US8427958B2 (en) | Dynamic latency-based rerouting | |
JP4547339B2 (ja) | 送信制御機能を備えるパケット中継装置 | |
EP3787244B1 (en) | Packet sending method, network node, and system | |
US9379955B2 (en) | Method for queuing data packets and node | |
US8824491B2 (en) | Distributed scheduling for variable-size packet switching system | |
US20120057601A1 (en) | Accurate measurement of packet size in cut-through mode | |
KR20120019490A (ko) | 트래픽 부하를 관리하는 방법 | |
He et al. | TCP and UDP performance for Internet over optical packet-switched networks | |
US8139499B2 (en) | Method and arrangement for determining transmission delay differences | |
US20060045014A1 (en) | Method for partially maintaining packet sequences in connectionless packet switching with alternative routing | |
JP2010062885A (ja) | ノード装置およびその帯域制御方法 | |
US20170054645A1 (en) | Communication device, network management device, and network system | |
KR100662122B1 (ko) | 통신망의 정체현상 관리장치 | |
KR100630339B1 (ko) | 광 버스트 스위칭 네트워크 시스템에서의 버스트 생성파라미터 결정 방법 | |
CN108337181B (zh) | 一种交换网拥塞管理方法和装置 | |
KR100621288B1 (ko) | 통신망의 정체현상 관리시스템 | |
US10594593B2 (en) | Methods and apparatus for transmitting data | |
JP6633499B2 (ja) | 通信装置 | |
JP2018093335A (ja) | 通信装置 | |
Reddy et al. | Performance analysis and modelling of GMPLS optical networks with multiservice queueing model | |
Vulkán et al. | Dimensioning Aspects and Analytical Models of LTE MBH Networks |
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: 20121130 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |